Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Сохранение в файл   Найти похожие ветки 

 
Creative   (2006-05-19 12:43) [0]

Как, используя только функции WinApi, сохранить в файл список строк (string) разной длины и потом корректно его загрузить?


 
Desdechado ©   (2006-05-19 12:46) [1]

в winapi нет строк
загрузить куда?

CreateFile Creates, opens or truncates a file
OpenFile Creates, opens or deletes a file
WriteFile Writes data to file or device
WriteFileEx Writes data to file or device
или
_hread Reads from a file
_hwrite Writes to a file
_lclose Closes an open file
_lcreat Creates or opens a file
_llseek Repositions the file pointer
_lopen Opens a file
_lread Reads from a file
_lwrite Writes to a file


 
Elen ©   (2006-05-19 12:47) [2]

После каждой строки добавляй символы скажем chr(13) и записывай, а при загрузке считывай все в память и разбивай на строки по этим символам.


 
Gydvin ©   (2006-05-19 13:43) [3]

procedure TForm1.Button1Click(Sender: TObject);
var
 handl: THandle;
 s: string;
 count1: cardinal;
begin

//save
 handl := 0;
 s := memo1.text;
 count1 := 0;
 handl := CreateFile(PChar("test.txt"), GENERIC_WRITE, 0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
 if not WriteFile(handl, pchar(s)^, Length(s), count1, nil) then showmessage("error");
 closehandle(handl);

end;

procedure TForm1.Button2Click(Sender: TObject);
var
 handl: THandle;
 s: string;
 count1, count2: cardinal;
 t: pointer;
begin
//read
 handl := 0;
 count1 := 0;
 count2 := 0;
 handl := CreateFile(PChar("test.txt"), GENERIC_READ, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 count2 := GetFileSize(handl, @count2);
 setlength(s, count2);
 ReadFile(handl, pchar(s)^, count2, Count1, nil);
 closehandle(handl);
 memo2.text := s;
end;


если нельзя мемо, то можно использовать след конструкцию

for x:=0 to countСТРОК-1 do
строка:=строка+#13#10+строкаX


 
Creative   (2006-05-19 15:24) [4]

> Gydvin ©

спасибо



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
15-1146930890
Nick Denry
2006-05-06 19:54
2006.06.04
как настроить apache локально?


8-1135496232
vitaliy14
2005-12-25 10:37
2006.06.04
Окнтуривание изображений


2-1147855148
Мурзилка
2006-05-17 12:39
2006.06.04
Изображение на кнопках


15-1146931977
Volf_555
2006-05-06 20:12
2006.06.04
Как определить-какая программа перезаписывает файл explorer.exe?


1-1146000057
Volf_555
2006-04-26 01:20
2006.06.04
Как перевести HotKey1.HotKey в тип String?