![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как преобразовать PChar в String?
CrowD © (2002-10-24 20:57:00)Привет, All!
подскажите вот я считал из файла
~~~~~~~~~
.....
var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffer: PChar;
i: Integer;
s: String;
.....
iFileHandle := FileOpen(FileName, fmOpenRead);
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(5 + 1));
iBytesRead := FileRead(iFileHandle, Buffer, 6);
FileClose(iFileHandle);
s := string(Buffer);
ShowMessage(s);
.....
~~~~~~~~~
врывает на s := string(Buffer)говорит что нитуда в памяти обращается, что делать, народ?
TTCustomDelphiMaster (2002-10-24 21:40:00) [1]Во первых по теме. Преобразование PChar в String производится простым присваиванием (s := ch;).
Во вторых по содержанию. Ваш код это просто "минное поле", на каждом шагу может быть допущена ошибка, что и было вами сделано.
Во избежание неприятностей работайте сразу со строкой:
SetLength(s, 6);
iBytesRead := FileRead(iFileHandle, s[1], 6);
FileClose(iFileHandle);
ShowMessage(s);
Можно еще почитать: F1 - PChar local variables - Passing a local variable as a PChar
AL2002 (2002-10-24 21:23:00) [2]Как-то это всё ты жестоко делаешь.