Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

Widestring to String   Найти похожие ветки 

 
Cara ©   (2004-07-17 14:59) [0]

Добрый день.
Подскажите пожалуйсто как перевести Widestring в String.


 
VMcL ©   (2004-07-17 18:42) [1]

var
 A: String;
 B: WideString;
begin
 // ...
 A := B;
 // ...
end;


 
Cara ©   (2004-07-17 19:58) [2]

Строка  Widestring в Юникоде.
При переводе
A := B;
получаю на выходе
"??????????"


 
Cardinal ©   (2004-07-17 20:24) [3]

String, как я знаю, не поддерживает Unicode


 
Cara ©   (2004-07-17 20:27) [4]

Ну да.
Я по этому и спрашиваю как правильно конвертировать строку в Юникоде в стандартную.


 
VMcL ©   (2004-07-17 22:21) [5]

>>Cara ©  (17.07.04 19:58) [2]

Значит, твоя Unicode строка содержит символы не представимые в кодировке ANSI с учётом текущей кодовой страницы. Можешь попробовать вручную сделать преобразование - см. WideCharToMultiByte(), хотя компилятор при присваивании, приведенном в [1], сам вызывает WideCharToMultiByte().


 
Суслик ©   (2004-07-19 11:14) [6]

Копилятор вызывает сам WideCharToMultiByte(), но, если не ошибаюсь, для текущей кодовой страницы.

Можно вызывать эту функцию самому, передавая любую кодовую страницу. Но надо быть готовым, что не все символы будут преобразованы верно. Если у вас в уникоде миксуются разные кодировки - то что-то точно пропадет :))) Т.е. будет "?".

Если нужны знания в этой области, то см. раздел MSDN nls - national language support. Поиском поищите - сразу найдете, самому лень ссылку искать.


 
Anatoly Podgoretsky ©   (2004-07-19 11:59) [7]

Cara ©   (17.07.04 19:58) [2]
Значит невозможно конвертировать в твою текущую кодувую страницу.

Cardinal ©   (17.07.04 20:24) [3]
Неверно по сути, вот выписка из справки
The reserved word string functions like a generic type identifier

Это может быть ShortString, AnsiString или WideString, на текущий момент как минимум первые два


 
clickmaker ©   (2004-07-19 13:44) [8]

var
A: String;
B: WideString;
begin
// ...
A := string(B);
// ...
end;



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

Форум: "WinAPI";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
9-1084373855
S.W.I.N.E.
2004-05-12 18:57
2004.08.29
Крысы и DelphiX


14-1092198512
stas_x
2004-08-11 08:28
2004.08.29
Патент на ПО


14-1091855407
Daniel.
2004-08-07 09:10
2004.08.29
Что делать, если USB-устройств больше, чем USB-портов?


14-1092037685
Карелин Артем
2004-08-09 11:48
2004.08.29
Спамеры без башни.


1-1092682678
Seldon
2004-08-16 22:57
2004.08.29
Как задать папку для генерации DCU и EXE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский