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

Вниз

А как-бы мне строку, введенную в edit преобразовать в unicode???   Найти похожие ветки 

 
Cker   (2002-10-12 23:58) [0]

сабж


 
Anatoly P   (2002-10-13 00:43) [1]

Функция StringToWideChar(
const Source: string;
Dest: PWideChar;
DestSize: Integer ): PWideChar;

Функция помещает в буфер DestSize-1 символ и символ окончания строки. В качестве результата функция возвращает указатель на буфер Dest.




 
Cker   (2002-10-13 23:08) [2]

А вотвопрос: имеется несколько версий unicode. Будет-ли такой вариант работать для всех случаев?


 
Cker   (2002-10-13 23:16) [3]

procedure TForm1.Button1Click(Sender: TObject);
var Dest : PWideChar;
i : Integer;
begin
StringToWideChar("Проверка", Dest, i);
end;

вылетает фатальная ошибка:"Access violation at address........."
???


 
Вася Пупкин   (2002-10-14 02:55) [4]

Правильно вылетает....Dest - Указатель на буфер...а где буфер-то ? -)
Хотя бы так:
procedure TForm1.Button1Click(Sender: TObject);
var Dest : array[1..9] of WideChar;
begin
StringToWideChar("Проверка", @Dest, 9);
end;



 
Cker   (2002-10-14 22:46) [5]

А разве это Unicode?????
Я просматриваю Dest и вижу массив букв ("П", "р", "о"........)
А вроде-ж должно быть что-то типа #1010 для каждой буквы???


 
Cker   (2002-10-16 23:19) [6]

мммммммм
help


 
int64   (2002-10-17 10:23) [7]

Вот такой вариант есть.

function Unicode(const S: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(S) do

case S[i] of
" ": result := Result + "+";
"A".."Z", "a".."z", "*", "@", ".", "_", "-",
"0".."9", "$", "!", """", "(", ")":
result := Result + s[i];
else
begin
Hex := IntToHex(ord(S[i]), 2);
if Length(Hex) = 2 then Result := Result + "%" + Hex else
Result := Result + "%0" + hex;
end;
end;
end;


 
Smithson   (2002-10-17 11:04) [8]

Товарищи, не путайте слона и трепетную лань!
Unicode в HTML - это %HEX кодировка символов.
Unicode в Delphi - это многобайтное представление символов. Для
этого идут функции WideString.


 
Игорь Шевченко   (2002-10-17 11:10) [9]

Кстати, версия unicode - одна.


 
Cker   (2002-10-17 14:12) [10]

>Smithson
Согласен.
На каждый символ по два байта: кодовая страница и непосредственно код символа.
Пробую вариант:

procedure TForm1.Button1Click(Sender: TObject);
var Dest : array[1..9] of WideChar;
begin
StringToWideChar("Проверка", @Dest, 9);
end;

Получаю в Dest: "П", "р", "o" и т. д.
???


 
Smithson   (2002-10-17 14:20) [11]

Ну и правильно!
Инспектор при просмотре правильно интерпретирует WideChar.
Если очень надо - сбрось Dest в файл и посмотри его фаром - все увидишь.



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

Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-92322
battar
2002-09-20 22:45
2002.10.28
dxdbgrid - выделенный столбец


3-92358
Leny
2002-10-04 15:02
2002.10.28
Удаленная БД


3-92344
Alexsys
2002-10-03 18:34
2002.10.28
SQL запрос с несколькими таблицами с несоответствием...


1-92505
OMPH!!!
2002-10-18 15:11
2002.10.28
Проигрывание звука звуковой схемы.


1-92429
brestmarket
2002-10-17 12:29
2002.10.28
Как избежать неприятного скачка черного цвета при





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский