|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
WideChar и проблемы кодировки
Пытаюсь сделать вот что:
Есть такая строка: Код:
proxyserver := proxyinfo^.lpszproxy; Edit5.Text:=proxyserver; Тип proxyserver: string; lpszproxy: widechar. Пытался делать Код:
proxyserver :=AnsiString(proxyinfo^.lpszproxy); Edit5.Text:=proxyserver; Вместо квадратов получаются вопросы. Функцию типа Widechartostr нашел. В примере сказано, что: http://www.delphibasics.co.uk/RTL.as...deCharToString Код:
var wideCharArray : array[0..5] of WideChar; myString : String; begin // Set up our WideChar array wideCharArray[0] := 'H'; wideCharArray[1] := 'e'; wideCharArray[2] := 'l'; wideCharArray[3] := 'l'; wideCharArray[4] := 'o'; wideCharArray[5] := #0; // Terminates WideChar strings // Copy to a normal string myString := WideCharToString(wideCharArray); // Show what the copy gave ShowMessage(myString); end; После попыток что-то сделать оказалось, что на вариант: Код:
Buffer2[0]:=proxyinfo^.lpszproxy; где Buffer2[0]:array[0..5] of WideChar Обьявил Buffer2:PWideChar и присвоил: Код:
var Buffer4:PWideChar; proxyserver:string; . . Buffer4:=proxyinfo^.lpszproxy; proxyserver := WideCharToString(Buffer4); Edit5.Text:=proxyserver; Всё компилируется, но в окне Edit выводится "ㄱ⸴㈱⸷㐲⸶㘳㠺㠰0ㄱ⸴㈱⸷㐲⸶㘳㠺㠰0₰" вместо цифр и букв. Версия Delphi 2009. Помогите, пожалуйста! lmikle: пользуемся тегами!!! Последний раз редактировалось Inqizitor, 04.08.2009 в 18:58. |
#2
|
|||
|
|||
В 2009 тип String - это Unicode-строка. Соответсвенно, тебе надо вообщето конвертировать в Unicode. Кстати, а ты посмотри, что у тебя в данных реально лежит (через watch отладчика).
|
#3
|
|||
|
|||
Цитата:
Buffer4:=proxyinfo^.lpszproxy; и значение Buffer4 после этой операции: '?'#$2E34'?'#$2E37'?'#$2E36'???0?'#$2E34'?'#$2E37' ?'#$2E36'???0'#$20B0'?????????'#$20B8'???????????? ????'#$B00'?????'#$368'?????????'#$C65'??????????? ???'#$A54'??????????????'#$2E74'??????'#$2E74'??'# $606'?????'#$2E74'??'#$B65#$E00'???????'#$608'???? ???????'#$A60'??????'#$600'??????с?????'#$802'???? '#$600'????????? Вместо вопросов - квадраты. Но они сюда не копируются . А должно быть 114.127.246.36:8080 (например). |
#4
|
|||
|
|||
Мда... на первый взгляд чушь какая-то...
А откуда ты получаешь информацию? |
#5
|
|||
|
|||
Цитата:
Прочитал про метод lpszproxy - вот им и сделал и хотел на результат посмотреть, а оно эвон как . |
#6
|
|||
|
|||
Полный код давай. Ты вообще смотришь что тебе функция возвращает. У тебя прокси-то настроен? А то может там и нет никаких данных, а ты пытаешься их читать... DNS это не прокси
|