Вниз
Скачать: 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.047 c
6-1131122906
WebSQLNeeder
2005-11-04 19:48
2006.02.19
Как запретить что бы в WebBrowser вылетали окошки JavaScript? Или


15-1138270203
Тульский
2006-01-26 13:10
2006.02.19
новый сервис Delphimaster?


1-1137775503
sco
2006-01-20 19:45
2006.02.19
Диафильм в TListView


2-1138951753
dera
2006-02-03 10:29
2006.02.19
Что неправильно в запросе?


2-1138966406
Barsky
2006-02-03 14:33
2006.02.19
Вопрос по ADO и mdb




   Наверх