|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
Условие, если Edit пустой
Добрый день, Уважаемые пользователи.
Как, в данном случае, не учитывать пустые Edit. То есть что бы программа сохраняла результаты только заполненных Edit. В моем случае: заполняю два из трех Edit, но программа создает три файла (третий пустой). Как можно в этом коде сделать такую проверку: К примеру, ввожу в Edit1 текст + Edit2 текст а Edit3 пустой после нажимаю кнопку и программа создает только два файла: REZ_1.txt и REZ_2.txt Код:
procedure T_Mn.Button5Click(Sender: TObject); var fall, f1, f2, f3: TextFile; s: string; begin .............. AssignFile(fall, OpenDialog12.FileName); reset(fall); AssignFile(f1, ExtratFileDir(OpenDialog12.FileNam)+'\REZ_1.txt'); rewrite(f1); AssignFile(f2, ExtatFileDir(OpenDialog12.FileNam)+'\REZ_2.txt'); rewrite(f2); AssignFile(f3, ExtratFileDir(OpenDialog12.FileNam)+'\REZ_3.txt'); rewrite(f3); ............ //работаем по строкам в файле while not Eof(fall) do begin //читаем строку ReadLn(fall, S); if (Pos(AnsiLowerCse(Edit1.Text), AnsiLowerCase(s)) > 0) then writeln(f1, S); if (Pos(AnsiLowerCse(Edit2.Text), AnsiLowerCase(s)) > 0) then writeln(f2, S); if (Pos(AnsiLowerCse(Edit3.Text), AnsiLowerCase(s)) > 0) then writeln(f3, S); ................................. Последний раз редактировалось Taras2020, 06.04.2018 в 13:46. |
#2
|
|||
|
|||
ну так проверяй перед созданим edit'ы, при пустом переходи/выходи с цикла ( у тебя вооще нет проверок в коде).
|
Этот пользователь сказал Спасибо nixon232 за это полезное сообщение: | ||
Taras2020 (06.04.2018)
|
#3
|
|||
|
|||
Хоть бы и так
Код:
procedure T_Mn.Button5Click(Sender: TObject); var fall, f1, f2, f3: TextFile; s: string; begin .............. AssignFile(fall, OpenDialog12.FileName); reset(fall); if edit1.text='' then AssignFile(f1, ExtractFileDir(OpenDialog12.FileName)+'\REZ_1.txt'); rewrite(f1); if edit2.text='' then AssignFile(f2, ExtractFileDir(OpenDialog12.FileName)+'\REZ_2.txt'); rewrite(f2); if edit3.text='' then AssignFile(f3, ExtractFileDir(OpenDialog12.FileName)+'\REZ_3.txt'); rewrite(f3); ............ begin...end забыл в каждой проверке. Последний раз редактировалось nixon232, 06.04.2018 в 13:20. |
Этот пользователь сказал Спасибо nixon232 за это полезное сообщение: | ||
Taras2020 (06.04.2018)
|
#4
|
||||
|
||||
Поторопился, nixon232, сейчас условие выглядит как если едит.текст пустой, то эссайнить файл, а должно
Код:
... if edit1.text<>'' then //if edit1.text='' then begin AssignFile(f1, ExtractFileDir(OpenDialog12.FileName)+'\REZ_1.txt'); rewrite(f1); end; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
Alegun, nixon232, Ребята спасибо Вам Человеческое. Я разобрался, думал что делаю что то не так - потому и задал вопрос. Делал, до этого, так как показал nixon232, но как сказал Alegun - я тоже не ставил begin после then (и за этого ничего не выходило).
Последний раз редактировалось Taras2020, 06.04.2018 в 13:45. |
#6
|
|||
|
|||
Цитата:
|
Этот пользователь сказал Спасибо nixon232 за это полезное сообщение: | ||
Taras2020 (06.04.2018)
|