Файл

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Файл

Re: Файл

LAngel » 02 апр 2007, 09:06

[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]

Re: Файл

Игорь Акопян » 01 апр 2007, 21:07

во втором блоке когда файла нет:
fs убрать - ничего не делает, создаёшь и тут же убиваешь
далее

Код: Выделить всё

  f:=TStringsList.Create; // TStringList!
  f.Add('string 1');
  f.Add('string 1');
  f.Add('string 1');
  f.SaveToFile('c:\filename.txt');
  f.Free;

Файл

tar » 01 апр 2007, 12:26

Программа должна проверить: существует ли в данной директории 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;

Вернуться к началу