![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| ZLOvar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 4.6.2009 Где: Москва Репутация: 1 Всего: 1 |
Здравствуйте. Появилась необходимость переписать данный код с С++ на Delphi (там есть несколько ошибок), т.к C++ я практически не знаю (да и компилятора у меня нет) прошу помощи у вас. Всем заранее спасибо за ответ. Но если не знаете Delphi, то просто исправте пожалуйста 3 ошибки в данном коде и скажите какие действия он производит. (Как я понял тут складываются коды символов слова Трололо, результат умножается на два. Но меня смущает первый цикл, скорее всего там ошибки.) Код:
Ещё раз спасибо. Это сообщение отредактировал(а) ZLOvar - 1.10.2010, 21:13 --------------------
Если хочешь чтобы работало - используй написанное.Если хочешь что-то понять - пиши сам. (с) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
ZLOvar
1. "windows.h" файл нужен, для работы с WinAPI. Но из данного API используется только DWORD, поэтому его можно игнорировать (DWORD == беззнаковое целое размером в 32 бита). 2. строчка содержит ошибку, должно быть int main() 4. создается переменная ans типа DWORD и инициализируется нулем. 5. создается массив символов, Но я бы написал так: char pass[] = "Trololo", что абсолютно тоже самое, но более читабельно 6. создаем переменную lol типа "указатель на функцию с неограниченным количеством аргументов" и присваиваем ей адрес функции printf 7. делаем ксорку каждого символа массива со следующим (pass[i] = pass[i] xor pass[i+1]), кроме последнего символа (в Си он означает конец строки, в паскале это называлось ASCIIZ строка) 8. суммируем все символы массива (сумма будет в ans) 9. присваиваем ans удвоенное его значение и вызываем функцию по указателю lol (в данном случае это будет printf) передавая новое значение ans для вывода в шестнадцатиричном виде (минимум 1 цифра, буквы заглавные), завершая вывод символами с кодами 13 и 10 (в Windows это превратится в 13, 13, 10). Эта строчка содержит ошибку - она должна завершаться точкой с запятой. |
|||
|
||||
| ZLOvar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 4.6.2009 Где: Москва Репутация: 1 Всего: 1 |
bsa,
Спасибо большое! Вы мне очень помогли
--------------------
Если хочешь чтобы работало - используй написанное.Если хочешь что-то понять - пиши сам. (с) |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 5 Всего: 68 |
|
|||
|
||||
| ZLOvar |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 4.6.2009 Где: Москва Репутация: 1 Всего: 1 |
Не нужно. С -1 не работает. В смысле выдает неправельный результат. --------------------
Если хочешь чтобы работало - используй написанное.Если хочешь что-то понять - пиши сам. (с) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |