Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Работа с файлами в Delphi

Автор: akaGM
Дата сообщения: 07.04.2008 19:55
HellChild
не, далеко посылать не будем... только в хелп того компилятора, кот. установлен или в _любую_ книжку по паскалю...

ладно, чёрт с тобой...

Код: var
f: text;
i: integer;
r: real;
begin
...
assign(f, 'filename.ext');
rewrite(f);
writeln(f, 'ну вы блин даёте...');
writeln(f, 'ни хрена сами делать не хотят...');
writeln(f, 'надеюсь, такие слова как var, integer, begin/end известны?');
writeln(f, 10, 20);
writeln(f, i, r);
close(f);
...
end.
Автор: HellChild
Дата сообщения: 18.04.2008 17:39
Большое спасибо!
Автор: MrZeRo
Дата сообщения: 21.04.2008 11:57
HellChild
Вот еще пример, может, будет полезно, немного в другом стиле (длина строки тут будет ограничена, но это не уменьшает полезности данного примера):

Цитата:

procedure WriteStringToFile(FileName, S: String);
var
VS : String;
HFile : THandle;
Buf : array[0..255] of Char;
BW : DWORD;
OpenFlag : DWORD;
begin
VS := 'My string to write :'+S;
ZeroMemory(@Buf, 256);
if FileExists(FileName) then
OpenFlag := OPEN_EXISTING
else
OpenFlag := CREATE_NEW;
HFile := CreateFile(PChar(FileName+#0), GENERIC_WRITE, FILE_SHARE_READ,
nil, OpenFlag, FILE_ATTRIBUTE_NORMAL, 0);
if HFile<>INVALID_HANDLE_VALUE then
try
if OpenFlag = OPEN_EXISTING then
SetFilePointer(HFile, 0, nil, FILE_END);
StrPCopy(Buf, #13#10+VS);
if not Windows.WriteFile(HFile, Buf, StrLen(@Buf[0]), BW, nil) then
RaiseLastOsError;
finally
CloseHandle(HFile);
end;
end;

Здесь если файла нет, он создается, если файл есть, то строка дописывается в конец.
Удобно для записи всяких логов.
Автор: ShIvADeSt
Дата сообщения: 22.04.2008 01:32
MrZeRo
ИМХО все таки стандартные паскалевские операторы более подходят для записи строки в файл, чем OpenFile WriteFile. Для добавления есть Append ^^

Страницы: 123

Предыдущая тема: ??? Скрипт vbs отправки файла по почте ???


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.