Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизPointer to String Найти похожие ветки
← →
merlot (2003-07-15 11:54) [0]Здравствуйте Уважаемые!
Подскажите как мне тип pointer преобразовать в тип string.
Спаибо!
← →
Skier (2003-07-15 11:56) [1]IntToStr(Integer(PointerVar));
← →
Юрий Зотов (2003-07-15 12:02) [2]String(P)
← →
Юрий Зотов (2003-07-15 12:03) [3]Sorry, это для PChar, не для любого Pointer"а
← →
panov (2003-07-15 12:12) [4]var
p: Pointer;
s: String;
Len: Integer;
begin
SetLength(s,Len);
Move(p^,s,Len);
...
← →
icWasya (2003-07-15 16:50) [5]для начала неплохо былобы узнать, как из String получили Pointer
← →
panov (2003-07-15 16:54) [6]для начала неплохо былобы узнать, как из String получили Pointer
А это необязательно знать. Есть несколько способов.
К тому же исходные данные могли быть получены и без преобразований, например, буфер был сформирован после чтения из сокета.
← →
Ihor Osov'yak (2003-07-15 19:39) [7]2 panov © (15.07.03 12:12)
>var
p: Pointer;
s: String;
Len: Integer;
begin
SetLength(s,Len);
Move(p^,s,Len);
...
Во первых, кто сказал, что то, на что смотрит поинтер, совместимый со строкой? Во вторых, кто сказал, что поинтер ввобще-то на что нибуть "смотрит"? В третьих, это, как его.. Len он, как бы, значение неопределенное имеет. В этом примере..
Посему, посоветовавшись со своим имхо, выношу вердикт - единственный ответ, не противоречащий условиям вопроса - см. Skier © (15.07.03 11:56)..
Ps. ЮЗ прав лишь для частного случая. Вопрос подразумевает более широкий диапазон :-)
2 merlot © (15.07.03 11:54) А вообще-то, что имелось ввиду? Неужто вариант, предложенный Skier?
← →
Fantasist. (2003-07-16 02:48) [8]
> Ps. ЮЗ прав лишь для частного случая. Вопрос подразумевает
> более широкий диапазон :-)
Как раз наоборот, ЮЗ дал единственный правильный ответ. Именно таким преобразованием, переменная типа pointer преобразуется в переменную типа string. Остальные ответы реализуют какую-то логику, а не преобразование типов.
← →
Юрий Зотов (2003-07-16 03:08) [9]> Fantasist (16.07.03 02:48)
Но тогда уж так (иначе ругнется компилятор):
String(PChar(P))
где P - любой указатель.
← →
Merlot (2003-07-18 09:27) [10]Уважаемые, мне надо из TList передать строки в переменную string. Как это сделать?
← →
Skier (2003-07-18 09:31) [11]
> Как это сделать?
Думаю что надо как-то задействовать след. тип :
type
PString = ^String;
← →
Palladin (2003-07-18 09:49) [12]а чем TStringList не устроил?
← →
Ihor Osov'yak (2003-07-18 10:03) [13]2 Merlot © (18.07.03 09:27)
А в экземпляр TList что ложилось? Указатели на строки?
А вообще-то см. Palladin © (18.07.03 09:49)
← →
icWasya (2003-07-18 10:25) [14]так я еще раз спрашиваю
для начала неплохо былобы узнать, как из String получили Pointer
то есть каким образом эти Pointer`ы попали в TList
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c