Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Niks Гость
|
Добавлено: Пн Апр 08 2002 12:28 Заголовок сообщения: пожалуйста!!!, поправьте код (не разберусь) |
|
|
AnsiString files; // тип переменной files = DM->Tdocum->FieldValues["pathdoc"]; // путь к проверочному файлу int success = 0; // колличество успешно прошедших проверку int error=0; // колличество нарушенных связей int counts = DM->Tfilcount->FieldValues["counts"]; //колличество записей
for(error; counts!=error;error++) { if(!FileExists(files.c_str())) //проверка на существование файла { //запись в лог об ошибке DM->Tlog->Insert(); DM->Tlog->FieldValues["num"] = DM->Tdocum->FieldValues["numd"]; DM->Tlog->FieldValues["date"] = DateToStr(Date()); DM->Tlog->FieldValues["messages"] = "нарушена связь:"; DM->Tlog->FieldValues["kod"] = "#10"; DM->Tlog->Post(); } else { success++; } //увеличение переменной на единицу, если файл найден } Цель: Цикл должен пройтись по всем записям в таблице и на false записаит с лог запись с ошибкой, а на true величить число в переменной для дольнейшей обработки колл. успешных записей. Сейчас: Первая запись проверяется столько раз сколько написано в counts ( int counts = 2) |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Пн Апр 08 2002 16:27 Заголовок сообщения: Re: пожалуйста!!!, поправьте код (не разберусь) |
|
|
если я понял правильно, нужно что-то вроде этого: int success=0,error=0,i=0;
for(int i=0;iTdocum->FieldValues["namedoc"]) |
|
Вернуться к началу |
|
|
Niks Гость
|
Добавлено: Вт Апр 09 2002 10:05 Заголовок сообщения: Re: пожалуйста!!!, поправьте код (не разберусь) |
|
|
Огромное спасибо, за внимание.
Но, чет не работает компил говорит: - что это,iTdocum->FieldValues["namedoc"])? ведь мне надо пройтись просто по записям, а не по значениям FieldValues["namedoc"]). Я понимаю так: что ищется запись если находиться то выполняется {а, тут тоже пров. на условие if... else} дальше в цикл и берется следущая запись и опять {if... else} пока в цикле не обнаружится что запись последня.
P.S. Может что-то типа этого (я так удаляю все записи из табл. for(DM->Tlog->First();!DM->Tlog->Eof;) { DM->Tlog->Delete(); } С Уважением Niks. |
|
Вернуться к началу |
|
|
Anatoliy
Зарегистрирован: 15.04.2002 Сообщения: 681 Откуда: Moscow
|
Добавлено: Вт Апр 09 2002 16:33 Заголовок сообщения: Re: пожалуйста!!!, поправьте код (не разберусь) |
|
|
for(DM->Tdocum->First(); !DM->Tdocum->Eof; DM->Tdocum->Next()) { if(!FileExists(DM->Tdocum->FieldByName("pathdoc")->AsString.c_str()))
.. { CGauge1->Progress++; |
|
Вернуться к началу |
|
|
|