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

Вниз

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

 
Дмитрий С ©   (2010-01-10 22:18) [0]

Начал новый прект на 2010ом (до этого был 2007), возникли вопросы по поводу юникода. Почитал хелп, но хочу уточнить правильно ли я все понял. По порядку:
1. Бывший string (char, pchar), теперь ansistring (ansichar, pansichar). Теперь string=unicodestring. Как в данном случае кодируются строки? В чем его отличие от widestring?
2. Есть строка s:string. Как правильно передать ее в winapi функцию? Какую длину передавать, если она требуется(например TextOutW)?
3. Нужно записать строку в stream, а потом восстановить оттуда. Раньше я делал так:
sz:=length(str);
stream.writebuffer(sz, sizeof(sz));
stream.writebuffer(str[1], sz);
-----
stream.readbuffer(sz, sizeof(sz));
setlength(str,sz);
stream.readbuffer(str[1],sz);
а как быть с unicodestring?
4. Опять про апи: как правильно выделять буфер для получения строкового значения?например для GetWindowTextW?
5. Как Закодировать строку, например, в utf8 (т.е. Получить буфер и его длину). Как ее правильно восстановить?
Как вообще получить длину буфера unicodestring (это к задаче про запись в stream)?

Заранее благодарен.


 
Anatoly Podgoretsky ©   (2010-01-10 22:31) [1]

1. почему теперь, оно и раньше было ansistring, различие в наличии счетчика использования.
2. а какой формат функции
3. Примерно так length(str) * SizeOf(Char);
4. какой формат функции, что она возвращает
5. Utf8Str := UnicodeStr, восстановить UnicodeStr := Utf8Str
Уже отвечено


 
Eraser ©   (2010-01-11 04:45) [2]

http://edn.embarcadero.com/article/38446
http://edn.embarcadero.com/article/38582
http://edn.embarcadero.com/article/38703



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

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

Наверх





Память: 0.44 MB
Время: 0.005 c
6-1215153703
mv
2008-07-04 10:41
2010.03.28
SSL


2-1264166419
timekiller
2010-01-22 16:20
2010.03.28
Ширина и высота ячеек stringgrid вручную


1-1244994785
RWolf
2009-06-14 19:53
2010.03.28
D5: "step into" в код DLL


3-1237110214
Den
2009-03-15 12:43
2010.03.28
Как узнать номер добавленной записи


2-1264422307
Anonim
2010-01-25 15:25
2010.03.28
доступ к списку Tlist





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