Главная страница
    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.58 MB
Время: 0.036 c
14-92669
Polevi
2002-10-07 13:14
2002.10.28
руки бы автору томатоса поотрывал, слов нет, №;Е№:;%


4-92818
Dark Hunter
2002-09-16 13:25
2002.10.28
Как можно шифровать файлы через API средствами NTFS?


3-92339
vis79
2002-10-04 09:57
2002.10.28
все тот же QReport


14-92676
dimonf
2002-10-07 16:37
2002.10.28
Вопрос по микроконтроллерам.


14-92661
vopros
2002-10-07 11:00
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский