Программа должна проверить: существует ли в данной директории txt (например filename.txt) файл,
если существует,
то необходимо открыть его, добавить (т.е. если в нём было что-то записано, не
нужно перезаписывать, нужно добавить) в него строки (например, s1,s2,s3) и
сохранить - закрыть файл;
если не существуетб то создать файл под указанным именем и выполнить те же
действия, что описаны выше.
Помогите, пожалуйста, напишите код
Вот то что сотворил я, но этот код выдаёт ошибку
procedure TForm1.Button1Click(Sender: TObject);
var
f:TStrings;
s1,s2,s3:string;
fs:TFileStream;
begin
if fileexists('c:\filename.txt') then
Begin
f:=TStrings.Create;
f.LoadFromFile('c:\filename.txt');
s1:='string 1';
s2:='string 1';
s3:='string 1';
f.append(s1);
f.append(s2);
f.append(s3);
f.SaveToFile('c:\filename.txt');
f.Free;
end
else
Begin
fs:=TFileStream.Create('c:\filename.txt',fmCreate,fmShareDenyNone);
fs.Free;
f:=TStrings.Create;
f.LoadFromFile('c:\filename.txt');
s1:='string 1';
s2:='string 1';
s3:='string 1';
f.append(s1);
f.append(s2);
f.append(s3);
f.SaveToFile('c:\filename.txt');
f.Free;
end;
Файл
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
- Игорь Акопян
- Сообщения: 1419
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
во втором блоке когда файла нет:
fs убрать - ничего не делает, создаёшь и тут же убиваешь
далее
fs убрать - ничего не делает, создаёшь и тут же убиваешь
далее
Код: Выделить всё
f:=TStringsList.Create; // TStringList!
f.Add('string 1');
f.Add('string 1');
f.Add('string 1');
f.SaveToFile('c:\filename.txt');
f.Free;
[syntax=delphi]var
fs: TFileStream;
OpenMode: Word;
s: String;
begin
if not FileExists('filename.ext')
then OpenMode := fmCreate or fmShareDenyNone
else OpenMode := fmOpenWrite or fmShareDenyNone;
fs := TFileStream.Create('filename.ext', OpenMode);
try
fs.Position := fs.Size;
s := s1 + #13#10;
fs.Write(s[1], Length(s));
s := s2 + #13#10;
fs.Write(s[1], Length(s));
s := s3 + #13#10;
fs.Write(s[1], Length(s));
finally
fs.Free;
end;
end[/syntax]
fs: TFileStream;
OpenMode: Word;
s: String;
begin
if not FileExists('filename.ext')
then OpenMode := fmCreate or fmShareDenyNone
else OpenMode := fmOpenWrite or fmShareDenyNone;
fs := TFileStream.Create('filename.ext', OpenMode);
try
fs.Position := fs.Size;
s := s1 + #13#10;
fs.Write(s[1], Length(s));
s := s2 + #13#10;
fs.Write(s[1], Length(s));
s := s3 + #13#10;
fs.Write(s[1], Length(s));
finally
fs.Free;
end;
end[/syntax]
С уважением, Lost Angel...