![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.05.2008
Сообщений: 36
|
![]()
Доброго времени суток!
Есть у меня функция, работает нормально, результат дает корректный, но вместе со второй частью работает некорректно, подскажите, пожалуйста, где грабли, а то полночи бьюсь уже. В memo1 у меня текст, 22 строчки из файла. Не меньше 1000 символов короче. Функция: Код:
Код:
СпасибО! |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]() Цитата:
begin ... if not (s[i] in ['A'..'Z','a'..'z']) then temp:=temp+s[i]; ... проверка на входимость в множество латиницы - обратное действие вашему, и мне кажется намного проще - мне не пришлось писать такую строчку в константе ![]() PS: - а вот понял, что вы хотите сделать - мое предложение отпадает Последний раз редактировалось capta1n; 28.01.2009 в 05:49. |
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
да и ваша проблема заключается в том, что вы пишите в конце Result:=s, а такой переменной нет, да она и не нужна - надо результат возвращать как значение самой функции - это значит надо писать Affinna_Crypt:=s
Цитата:
PS: elsin - а вы случайно не играете в игру Total Annihilation Kingdoms? Там просто герой есть Elsin ![]() Последний раз редактировалось capta1n; 28.01.2009 в 06:01. |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 10.05.2008
Сообщений: 36
|
![]()
Дело в том, что у меня есть другая функция, система там примерно таже. Там все работает на "ура". Тут еще такая вещь происходит при работе: с одними ключами а и б все нормально, с другими криво, т.е. результат функции нормальный в любом случае, а вот присвоение s1:=affinna_crypt(memo1.text,a,b) уже присваивает только маленький кусок результата функции. Начал грешить на функцию, но требования простоты чисел соблюдены, все условия выполняются. P.S.: хорошая гейма была, да? Но мало кто о ней помнит. У всех ник ассоциировался с Ельциным :-)
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 01.11.2007
Сообщений: 45
|
![]()
У тебя, при вычислениях в функции, в string попадает символ "#0", символ "#0" означает конец строки и все что после него в memo.text не записывается
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
![]()
не могли бы вы цитаткой выделить - мне даже интересно о чем вы говорите
![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 01.11.2007
Сообщений: 45
|
![]()
Ну вот смотрите:
в memo записываем строку "5н9)июуИЮЪ/" Код:
s = 8?ВМГ^'#0'п,ыс как мы видим, у нас в строке появился символ #0 (напомню что он означает конец строки); далее смотрим что у нас записалось в Memo1.Text: Memo1.Text = 8?ВМГ^ Теперь как у нас получается этот символ конца строки: P:=pos('e',RusA); P = 49 (49*11+19) mod 93 = 0 RusA[0] = #0 "Ключевое слово Mod дает остаток от деления делимого на делитель." http://www.delphibasics.ru/ Последний раз редактировалось NOOB; 28.01.2009 в 11:11. |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.01.2009
Сообщений: 38
|
![]()
Переменная Result существует. Я сам ее видел
![]() NOOB ноль тут нипричем, но идея хорошая. Он же берет символы из масива... Srting есть масив где первым елементом есть его длинна. Пусть будет так Код:
|
![]() |
![]() |
![]() |
#9 | |
Пользователь
Регистрация: 01.11.2007
Сообщений: 45
|
![]()
Еще как при чем и не "ноль", а символ конца строки. В функции же массив RusA [1..93], а получается обращаешься к 0-ой ячейке. Я же все подробно расписал.
Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
![]() Цитата:
То, что зелённым, служит для возвращения значиения любым типам функций. Почитайте на досуге: http://www.delphibasics.ru/Result.php |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как получить чужой комп в свои руки | zetrix | Безопасность, Шифрование | 7 | 13.11.2008 16:32 |
это вирус или кривые руки? | AngelOfDeath | Безопасность, Шифрование | 4 | 03.06.2008 14:04 |
C# + Access + кривые руки | pu4koff | Общие вопросы .NET | 2 | 15.04.2008 14:42 |
как узнать string или Real | Влажимир | Общие вопросы Delphi | 2 | 11.04.2008 17:06 |