Вниз
Скачать: CL | DM;

String vs PAnsiChar   Найти похожие ветки 

 
o2 ©   (2003-09-28 08:57) [0]

Как конвертировать string в PAnsiChar? Заранее спасибо, а если и кусочек кода подбросите... тогда моей благодарности предела не будет!


 
I.C.   (2003-09-28 09:16) [1]

Ха..смеялся долго.

var a:string;
b:Pchar; // PAnsiChar если поковыряешься

b:=a; // неявное преобразование типов проведет Delphi
// хочешь знать как ? Types.pas, но это не твои
// проблемы по больщому счету

если красота всеже дороже

b:=PChar(a);

Если все таки не работает - смотри выделена ли память для b
тоесть с точки зрения Windows функций - это просто указатель
и еще это все должно заканчиваться #0 а то будет каша на
выходе...

Мастера поправте если не прав


 
o2 ©   (2003-09-28 11:12) [2]

Вот и фишка то в чём... он их не приравнивает нивкакую... говорит что разные типы...


 
Dan   (2003-09-29 09:07) [3]

Попробуй так.

var
str: string;
B: PChar;
...
str:=str+chr(0);
B:=@str[1];

Удачи


 
Anatoly Podgoretsky ©   (2003-09-29 09:13) [4]

I.C. (28.09.03 09:16) [1]
А я очень долго смеялся за этот совет b:=a.

Вот это возможно правильный b:=PChar(a); в зависимости от того что он хочет получить от пустых строк.


 
Ihor Osov'yak ©   (2003-09-29 12:52) [5]

2 [3] Dan (29.09.03 09:07)

вот это
> str:=str+chr(0);

если str - не shortstring - то лишнее..


 
Livid ©   (2003-10-01 10:01) [6]

PChar есть указатель на массив символов, заканчивающийся на #0; String есть массив Char...
Тк указателем на массив является первый элемент его, то соответственно преобразовываем string к Pchar:

b:=b+#0;
a:=@b[1];

где a-pchar
и b-String;
Аналогично можно и при вызове функции. Главное, если передавать @str[1] как var, то следует заранее установить длину строки:
SetLength(str,len);



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-79044
NewD
2003-11-13 07:56
2003.11.24
после загузки в ImageList иконка портится


3-78805
Peter
2003-11-05 10:32
2003.11.24
InterBase


14-79136
Alibaba
2003-10-31 22:28
2003.11.24
Иконки


3-78795
Disruptor
2003-11-05 12:33
2003.11.24
Как прервать цикл FOR SELECT


1-79043
lext
2003-11-14 21:00
2003.11.24
Не могу убрать лишнюю кнопку в заголовке окна!




   Наверх