Вниз
Скачать: CL | DM;

Длина текста в переменной   Найти похожие ветки 

 
Freezz   (2006-02-01 19:23) [0]

Приветсвую вас, мастера!

Вот значит написал я такой код


var
Buff: pointer;
Size: dword;
Bytes: dword;
dFile: dword;
begin
...
dFile := CreateFile(Pchar("textfile.txt"), GENERIC_READ, 0, nil, OPEN_ALWAYS, 0, 0);
ReadFile(dFile, Buff^, Size, Bytes, nil);
CloseHandle(dFile);
end;

теперь вопрос, этим способом читаю я строки из текстового файла
при выводе MessageBoxA(0,Buff,"",0);
все выводиться правильно
Как мне узнать длину строки, что я считал?
SizeOf(Buff) не работает почему то.
length(Buff) показывает несовместимость типов..
вот в этом собственно и проблема


 
Джо ©   (2006-02-01 19:34) [1]

1. Под Buff ты должен выделить память САМ. Еще ДО вызова ReadFile. Соответственно, размер этой области памяти ты знаешь сам.
2. Кол-во байт, действительно прочитанных, сохраняется в параметре lpNumberOfBytesRead, который у тебя вообще nil.


 
Джо ©   (2006-02-01 19:35) [2]

> [1] Джо ©   (01.02.06 19:34)

Сорри, насчет 2) проглядел. У тебя он сохраняется в Bytes.


 
Джо ©   (2006-02-01 19:41) [3]

Принцип таков:

 
 Size := 1024; // Размер области памяти
 GetMem (Buff,Size); // Выделяешь память под Buff

 if ReadFile(dFile, Buff, Size, Bytes, nil) then
 begin
   //
   // В этом месте в Buff будут находиться прочитанные данные
   // Кол-во байт, занимаемое данными, хранится в Bytes
   // Оно, разумеется <= Size
   //
 end;

 FreeMem (Buff); // Освобождаешь выделенную ранее память



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
9-1125474249
kyn66
2005-08-31 11:44
2006.02.19
Алгоритм проверки номеров в суперлото.


15-1138362588
DillerXX
2006-01-27 14:49
2006.02.19
Ноутбук - что посоветуете счастливому обладателю? :)


2-1138978461
Дмитрий_177
2006-02-03 17:54
2006.02.19
Повторить какуюнибудь процедуру или функцию несколько раз


2-1138531757
Evgenius
2006-01-29 13:49
2006.02.19
Hint и как с ними дружить...


2-1138532375
einstein
2006-01-29 13:59
2006.02.19
Обработка сворачивания не главной формы приложения




   Наверх