Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Преобразование строки типа PChar в строку типа String 


Tolstomordik   (2002-03-14 14:43) [0]

Привет, МАСТЕРА!
В Дельфи имееются встроенные стредства для преобразования из String в PChar. А вот наооборот....... Если можете чем-либо помочь - буду искренне благодарен!



Alx2   (2002-03-14 14:44) [1]

Var
A : PChar;
S : String;
Begin
A := Pchar(S);
end;



Alx2   (2002-03-14 14:45) [2]

Наоборот -
S := A;



Tolstomordik   (2002-03-14 14:53) [3]

Спасибо всем!!! Тема снята!!!



Malder   (2002-03-14 15:52) [4]

Имхо, тема не снята.
Может глючить, так как для Pchar не выделяется память в данном примере...



Alx2   (2002-03-14 15:59) [5]

>Может глючить,
Вряд ли. Хотя, смотря что назвать глюком.
>так как для Pchar не выделяется память в данном примере...
Да, в этом случае память не выделяется. Просто S и A ссылаются на одну и ту же область памяти.



Alx2   (2002-03-14 16:04) [6]

>Просто S и A ссылаются на одну и ту же область памяти.
До поры до времени :)
Потом манагер памяти их разлучит после переприсваивания S



Alx2   (2002-03-14 16:10) [7]

Кстати, вот при таком подходе они ссылаются на разные области памяти :))
Var
A : PChar;
S : String;
Begin
A := PChar(String(Pchar(S)));
end;

PS
А глючить все-таки не будет, так как преобразование из PChar в String не требует выделения памяти PChar, так как она уже была выделена...



Song   (2002-03-14 21:23) [8]

Какие-то изощерённые у Вас способы. Есть стандартные же:
Var P:PChar;
S:String;
...

SetString(S,P,StrLen(P));



Anatoly Podgoretsky   (2002-03-14 21:46) [9]

Это и есть извращеный метод, ддя S := P не требуется никаких дополнительный усилий, а вот если наоборот то да, но для этого существует UniqueString procedure, в описание процедуры прямо указана обрасть применения.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.019 c
1-90971           Surprising            2002-03-15 01:21  2002.03.28  
Ограничение по времени работы программы


1-90840           -Stealtch-            2002-03-13 17:16  2002.03.28  
Проблема импортированного ActiveX


3-90801           LEKSYS                2002-03-04 16:50  2002.03.28  
TreeView


3-90762           af                    2002-03-01 18:04  2002.03.28  
Что за ошибка такая и как устанить =Blob already open =?


14-91041          evgeg                 2002-02-06 23:18  2002.03.28  
Безграмотность