Форум: "Прочее";
Текущий архив: 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