Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Конвертация в Unicode


Страницы:   1 2

Term ©   (2006-11-21 13:08:00) 

как сконвертировать строку из DOS в Unicode


guav   (2006-11-21 18:50:00) [1]

Обёртки для MultibyteToWideChar и WideCharToMultibyte

http://www.kladovka.net.ru/index.cgi?pid=list&rid=378


Term   (2006-11-21 17:31:00) [2]

ладно не смейтесь надо мной, заработало таки спасибо :) что помогли


Anatoly Podgoretsky   (2006-11-21 17:09:00) [3]

> clickmaker  (21.11.2006 17:05:34)  [34]

Ему и и намеков кучу сделали и прямо тоже сказали.


clickmaker   (2006-11-21 17:05:00) [4]


> [32] Term ©   (21.11.06 16:57)
>
> >
> > да дело-то не в этом...
>
> покажите как мне сконвертировать...

тебе в [30] уж настолько прозрачный намек сделали...


Anatoly Podgoretsky   (2006-11-21 17:00:00) [5]

> clickmaker  (21.11.2006 16:55:31)  [31]

> да дело-то не в этом...

До этого я уже дошел :-)
Поэтому мы и здесь.


Term   (2006-11-21 16:57:00) [6]


>
> да дело-то не в этом...

покажите как мне сконвертировать...
а в теории я разберусь если еще и будет работающий пример под рукой


clickmaker   (2006-11-21 16:55:00) [7]


> [29] Anatoly Podgoretsky ©   (21.11.06 16:54)
> > clickmaker  (21.11.2006 15:50:12)  [12]
>
> А Я бы использовал SetLength и забыл бы про выделение

да дело-то не в этом...


Anatoly Podgoretsky   (2006-11-21 16:55:00) [8]

> Term  (21.11.2006 16:15:16)  [16]

Выделять надо до использования, а не после.


Anatoly Podgoretsky   (2006-11-21 16:54:00) [9]

> clickmaker  (21.11.2006 15:50:12)  [12]

А Я бы использовал SetLength и забыл бы про выделение или же WS := S такой же результат.


clickmaker   (2006-11-21 16:52:00) [10]


> [27] Term ©   (21.11.06 16:45)

хорошо... берем эти строки

nRet:=MultibyteToWideChar(CP_OEMCP, MB_COMPOSITE, ansichar, Length(Form1.Edit1.Text), widestring, Length(Form1.Edit1.Text));
widestring := PWideChar(LocalAlloc(LPTR, nRet * 2 + 2));

во 2-й строке что делается?


Term   (2006-11-21 16:45:00) [11]

вот тут не ткнёш...

потому и была строка по которой партбилет на стол...


clickmaker   (2006-11-21 16:43:00) [12]

ну ткни пальцем, где в этой строке
nRet := MultiByteToWideChar(OEMCP, MB_PRECOMPOSED, ansichar, -1, nil, 0);
конвертация widestring?


Term   (2006-11-21 16:41:00) [13]


> clickmaker ©   (21.11.06 13:10) [1]
> MultibyteToWideChar()

я так понял первоначально что для этого нужна функция которую ты показал...


clickmaker   (2006-11-21 16:38:00) [14]


> [23] Term ©   (21.11.06 16:36)
> до твоего вопроса я думал что там должна быть сконверченная
> строка

так... а где сам процесс конвертации?


Term   (2006-11-21 16:36:00) [15]

до твоего вопроса я думал что там должна быть сконверченная строка...

если я глубоко запутался, тогда как оно должно быть? чтоб сконвертировать...


clickmaker   (2006-11-21 16:31:00) [16]


> [21] Term ©   (21.11.06 16:29)

не переводи стрелки.
что по-твоему должно быть в widestring после
nRet := MultiByteToWideChar(OEMCP, MB_PRECOMPOSED, ansichar, -1, nil, 0);
widestring := PWideChar(LocalAlloc(LPTR, nRet * 2 + 2));
и почему?


Term   (2006-11-21 16:29:00) [17]

я хочу сконвертить строку которую поместил в Form1.Edit1.Text в юникод и поместить её в Form1.Edit2.Text и записать в файл...


clickmaker   (2006-11-21 16:25:00) [18]


> эти строки вместо моих тоже возвращают widestring=nil

а что должны?


Term   (2006-11-21 16:23:00) [19]

понял почитать...
щас покажите как оно должно быть

nRet := MultiByteToWideChar(OEMCP, MB_PRECOMPOSED, ansichar, -1, nil, 0);
widestring := PWideChar(LocalAlloc(LPTR, nRet * 2 + 2));


эти строки вместо моих тоже возвращают widestring=nil


clickmaker   (2006-11-21 16:17:00) [20]


> nRet:=MultibyteToWideChar(CP_OEMCP, MB_COMPOSITE, ansichar,
> Length(Form1.Edit1.Text), widestring, Length(Form1.Edit1.Text));
>  widestring := PWideChar(LocalAlloc(LPTR, nRet * 2 + 2));

а вот за такое можно и партбилет на стол положить.

Мужик, почитай матчасть. Что такое строки, Char, WideChar, что такое указатели, зачем память выделять и когда?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо