Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть файл или нет ?


demon-777 ©   (2002-05-26 21:06:00) 

Уважаемые мастера.
Пишу пробную процедуру "типа" Если файл есть то дописать в него с новой строки "ok",
а если нету тогда выдать сообщение.
Вроде всё правильно......только прога постоянно говорит что файла нет(даже если он есть)
В чём трабла ???
Или есть другой, более лучший вариант проверки ?
procedure TForm1.Button1Click(Sender: TObject);
var
txt:TextFile;
begin
AssignFile(txt, "c:\Proba.txt");
{$I-}
Append(txt);
{$I+}
if IOResult = 0 then
begin
Writeln(txt,"ОК");
CloseFile(txt);
end
else ShowMessage("no");
end;


demon-777   (2002-05-26 22:39:00) [1]

>Sasha9 © (26.05.02 21:35)

Примем к сведениям ;)
Всем спасибо.


Sasha9   (2002-05-26 21:35:00) [2]

шо в все так гемороитесь?!?!?!?!?!
всё очень просто:
function FileExists(const FileName: string): Boolean;


hooky-mars   (2002-05-26 21:31:00) [3]

Сделай так :
...
var
txt:TStringList;
s:string;
begin
try
txt:=TStringList.Create;
txt.LoadFromFile("c:\Proba.txt");
s:="OK" ;
txt.Text:=txt.Text+s;
txt.SaveToFile("c:\Proba.txt");
except
ShowMessage("no");
end;


hooky-mars   (2002-05-26 21:21:00) [4]

try
AssignFile(txt, "c:\Proba.txt");
if IOResult = 0 then
begin
Writeln(txt,"ОК");
CloseFile(txt);
end;
except
ShowMessage("no");
end;

Как только я сделал так, то програ стала ругаться на Writeln.
Не знаю что за дела. Но я бы с текстовыми файлами работал по другому


VID   (2002-05-26 21:17:00) [5]

ну можно конечно и так:
procedure TForm1.Button1Click(Sender: TObject);
var
txt:TextFile;
begin
IF FileExists("c:\Proba.txt") then
begin
AssignFile(txt, "c:\Proba.txt");
{$I-}
Append(txt);
{$I+}
Writeln(txt,"ОК");
CloseFile(txt);
end
else ShowMessage("no");
end;


Sniffer   (2002-05-26 21:15:00) [6]

По-моему, ты рано включил проверку, я бы сделал так :
procedure TForm1.Button1Click(Sender: TObject);
var
txt:TextFile;
begin
AssignFile(txt, "c:\Proba.txt");
{$I-}
Append(txt);
Writeln(txt,"ОК");
if IOResult <> 0 then
ShowMessage("no");
CloseFile(txt);
{$I+}
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо