Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2017, 22:47   #1
oleh1818
Новичок
Джуниор
 
Регистрация: 14.11.2017
Сообщений: 1
Сообщение procedure TForm1.FileOld(const dir: string); не работает - Delphi

procedure TForm1.FileOld(const dir: string);
var
f: TSearchRec;
nameFile: string;
dtfile: Tdate;
mas: array [0..100] of string;
q : integer;
C :TStringList;
begin
if findFirst(dir + '\*', faAnyFile, f) = 0 then
repeat
C.Create;
nameFile := f.Name;
if (nameFile = '.') or (nameFile = '..') then continue;
if f.Attr = faDirectory then FileOld(dir + '\' + nameFile);
if nameFile = '1.txt' then begin
ShowMessage('Файл знайдено');
C.Add(nameFile);
end;
if nameFile = '2.txt' then begin
ShowMessage('Файл знайдено');
C.Add(nameFile);
end;
if nameFile = '3.txt' then begin
ShowMessage('Файл знайдено');
C.Add(nameFile);
end;
until findNext(f) <> 0;
findClose(f);
end;

end.

Може хтось пидказать чого ошибка вылитає пры роботи , проблема выявляэться пры пидключени C :TStringList;
oleh1818 вне форума Ответить с цитированием
Старый 14.11.2017, 23:26   #2
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

А вы разделом не ошиблись)? Это же Делфи?
Vyacheslav. вне форума Ответить с цитированием
Старый 14.11.2017, 23:49   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от oleh1818 Посмотреть сообщение
C.Create;
это бред.
для вызова конструктора нужно написать так:
Код:
C := TStringList.Create;
и вынести ДО цикла.
сделать это нужно один раз.
а в конце процедуры нужно очистить память, занятую C
только непонятно, зачем он Вам в данном случае вообще нужен.
Ведь это локальная переменная и за пределами процедуры она не будет видна.
Вы для чего эту переменную пытались использовать?

Последний раз редактировалось Serge_Bliznykov; 14.11.2017 в 23:51.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
procedure TForm1.Timer1Timer(Sender: TObject); var h:hwnd; begin //if f1 if getasynckeystate($20)<>0 then begin if FindWin Kazik Помощь студентам 2 18.11.2012 20:44
procedure TForm1.FormActivate(Sender: TObject); Vitalik85 Общие вопросы Delphi 7 19.06.2012 10:59
Замена const aArE: array of String; CheckListBox'ом grafgrial Общие вопросы Delphi 13 10.11.2010 14:04
Конвертирование из const char*(System::String) в LPCWSTR Eros Общие вопросы .NET 1 27.05.2010 12:36
не работает procedure korand Общие вопросы Delphi 8 09.03.2010 21:18