Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как корректно переконвертировать PWideChar в WideString? [D7, WinXP]


Dr. Andrew ©   (2007-07-11 17:12:00) 

Как корректно переконвертировать PWideChar в WideString? Есть такая функция наподобие PWideCharToWideString? Спасибо всем за ответ!


Однокамушкин   (2007-07-11 18:58:00) [1]

Проверил на таком коде:

procedure TForm1.Button1Click(Sender: TObject);
var
 P: PWideChar;
 S: WideString;
begin
 S := 'Строка№1';
 P := SysAllocString(PWideChar(S));
 Button1.Caption := IntToStr(WidePos(#32, P));
 SysFreeString(P);
end;


Работает правильно, пробелов не находит... подозреваю, что у вас в pw ещё какой-то хвост есть из-за отсутствия нулевого терминатора в конце...


MetalFan   (2007-07-11 18:45:00) [2]

а разве простое присвоение не пройдет?
и зачем тут чтото конвернтировать???


Dr. Andrew   (2007-07-11 17:26:00) [3]

но при этом подобная конструкция if WidePos(#32, pw) = 0 then находит пробел, которого в действительности нет, напрмиер в строке "строка№1". Как правильно все же сделать запись?


Однокамушкин   (2007-07-11 17:22:00) [4]

А зачем вам функция? Просто присваиваете WideString-овой переменной значение типа PWideChar, и умный компиялтор всё сделает...


Dr. Andrew   (2007-07-11 17:20:00) [5]

А можно более конкретнее привести пример? или функцию? Спасибо!


Reindeer Moss Eater   (2007-07-11 17:13:00) [6]

PWideChar в ансистроку, а она уже совместима по присваиванию c widestring


Наверх

Титульная страница Поиск, карта сайта Написать письмо