Форум: "WinAPI";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.014 c