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

Вниз

Как преобразовать PChar в String?   Найти похожие ветки 

 
CrowD ©   (2002-10-24 20:57) [0]

Привет, 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) говорит что нитуда в памяти обращается, что делать, народ?


 
AL2002 ©   (2002-10-24 21:23) [1]

Как-то это всё ты жестоко делаешь.


 
TTCustomDelphiMaster ©   (2002-10-24 21:40) [2]

Во первых по теме. Преобразование 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



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
14-11482
Opuhshii
2002-10-14 08:40
2002.11.04
A-a-a-a-a-а (крик души), Cranberry,


7-11528
МИФИст
2002-08-28 16:17
2002.11.04
Быстрый поиск в RichEdit е...


1-11144
QUE
2002-10-24 12:25
2002.11.04
Надпись на MDIForm


4-11573
Vovas
2002-09-15 15:00
2002.11.04
Как получить список screen savers в windows?


1-11146
opoloXAI
2002-10-24 13:05
2002.11.04
Сообщение об ошибке при показе MessageDlg.