Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
15-1263079904
Германн
2010-01-10 02:31
2010.03.28
Скончался автор "Ежика в тумане" Сергей Козлов


15-1262899825
Юрий
2010-01-08 00:30
2010.03.28
С днем рождения ! 8 января 2010 пятница


2-1264589400
helluvaname
2010-01-27 13:50
2010.03.28
объявление функции DateOf


2-1264675704
Starraider
2010-01-28 13:48
2010.03.28
Выравнивание колонок StringGrid


15-1261889617
NewZ
2009-12-27 07:53
2010.03.28
Paradox.