Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.047 c
15-1138400646
GanibalLector
2006-01-28 01:24
2006.02.19
Прочее вместо "Потрепаться"


15-1138380126
cyborg
2006-01-27 19:42
2006.02.19
Кол-во подерживаемых процессоров в ХР


15-1138765315
12DFBDD
2006-02-01 06:41
2006.02.19
Поисковики vs IBM


3-1135271039
Asail
2005-12-22 20:03
2006.02.19
Еще вопрос (TDataSetTableProducer)...


2-1138633347
De
2006-01-30 18:02
2006.02.19
Как в [ ] впихнуть отрицательные значения?