![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 27.05.2010
Сообщений: 9
|
![]()
есть функция (проверяет на дубликат):
function TForm1.Dubl(md5:string): Boolean; var j:byte; f:boolean; begin Result:=false; for j := 0 to 52 do begin if K[j].ID =md5 then begin Result:=true; Break; break; end; end; Вызываю её в другой процедуре тоже в цикле FOR for I := 0 to StrToInt(Edit1.Text)-1 do if Dubl(md5Card(i+1)) then //md5Card - функция возвращающая строку Смотрю отладчиком. Например на шаге когда i=4 цикл в функции Dubl начинается с j=53 потом j=52, j=51, j=50, j=49 Т.е. он почему-то идет downto с 53 и только i+1 шаг, т.е. столько сколько указал в Dubl(md5Card(i+1)) Помогите ![]() |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 26.04.2010
Сообщений: 35
|
![]()
В function TForm1.Dubl(md5:string): Boolean;
3 begin и 2 end. Как она может работать? И 2 Break подряд; |
![]() |
![]() |
![]() |
#3 |
Регистрация: 27.05.2010
Сообщений: 9
|
![]()
krGorka, ну очевидно же опечатка. Вместо 2-го брейка - end. Подправил. Проблема не в этом )
вот для наглядности чуда: http://i055.radikal.ru/1006/91/87081cb1972c.png |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это оптимизатор, оптимизировал он все верно, так что ищите ошибку в другом месте.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 27.05.2010
Сообщений: 9
|
![]()
В смысле всё верно?
а как же тогда пользоваться отладчиком? почему цикл в вызываемой функции идет downto и только i+1 шаг а не как положено с j=0 до j=52? |
![]() |
![]() |
![]() |
#6 |
Регистрация: 27.05.2010
Сообщений: 9
|
![]()
Я понимаю что где-то ошибка, но где? в каком месте смотреть? ошибка в вызове или в самой функции... хде?
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
![]()
А что за ошибка? Её вид... Я чёт так и не понял.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
строки, процедуры и функции, цикл [Delphi] | Sannyore | Помощь студентам | 4 | 09.03.2010 17:56 |
Цикл с параметром, массивы, матрицы, функции, файловый тип | Dimasik777 | Помощь студентам | 7 | 30.11.2009 13:38 |
Switch вложенный в бесконечный цикл | coper | Общие вопросы C/C++ | 2 | 16.11.2009 02:31 |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |