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

Вниз

чтение строки из текстового файла   Найти похожие ветки 

 
Dot   (2006-02-01 17:30) [0]

Собственно сабж. как через WinApi просто построчно прочитать текстовый файл..
записывать научился

dFile := CreateFile(Pchar("database.txt"), GENERIC_WRITE, 0, nil, CREATE_NEW, 0, 0);
WriteFile(dFile, Buff^, Size, Bytes, nil);
CloseHandle(dFile);

а считывать так и не разобрался с функцией ReadFile.
если точнее все понятно но вот путаюсь в значениях буффера и т.д.


 
Eraser ©   (2006-02-01 18:26) [1]


> Dot   (01.02.06 17:30)

А не проще использовать Readln, всё равно эта ф-я вызовет соответствующую API.


 
Gero ©   (2006-02-01 19:11) [2]

> так и не разобрался с функцией ReadFile

Что именно непонятно?


 
Zeqfreed ©   (2006-02-01 21:25) [3]

Dot   (01.02.06 17:30)
//Ф-ция выводит сообщение содержащее первую строку указанного файла
function ReadFirstLine(filename : String) : Boolean;
var
 dFile, p : Integer;
 buff : Pointer;
 read : Cardinal;
 buf : array[0..1023] of Char; //Объявляем буфер, в который будем производить чтение
 str : String;
begin
 Result := false;
 dFile := CreateFile(PChar(filename), GENERIC_READ, 0, nil, OPEN_EXISTING, 0, 0);

 if (dFile <> INVALID_HANDLE_VALUE) then begin
  Str := "";
  repeat
   ReadFile(dFile, Buf, SizeOf(buf), read, nil);
   Str := Str + Copy(buf, 1, read);
   p := Pos(#13#10, Str);
  until (p > 0) or (SizeOf(buf) <> read); //Если дошли до конца файла или найден признак конца строки, выходим

  ShowMessage(Format("The first line of the file "%s" is the following: "#13#10#13#10"%s", [filename, Str]));
  Result := true;
 end;

 CloseHandle(dFile);
end;


Примерно так можно организовать чтение текстового файла, хотя, конечно, гораздо удобнее использовать для текстовых файлов AssignFile, Append/Rewrite/Reset и Write/Read, WriteLn/ReadLn.



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

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

Наверх




Память: 0.47 MB
Время: 0.067 c
2-1138896565
park
2006-02-02 19:09
2006.02.19
Не запускается скомпилированая программа


15-1138374388
oldman
2006-01-27 18:06
2006.02.19
Толи воздух нынче пьян, то ли леший нынче рьян...


15-1138194825
Kolan
2006-01-25 16:13
2006.02.19
ScrollBox с кнопками прокрутки сверху и снизу.


2-1139071227
HITMAN
2006-02-04 19:40
2006.02.19
TLabel


2-1137979351
TUpDown
2006-01-23 04:22
2006.02.19
Как изменить цвет TUpDown?