Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Li Гость
|
Добавлено: Вт Июл 02 2002 11:42 Заголовок сообщения: ф-я в vba для конверт. из dos to windows? |
|
|
Помогите, пожалуйста! Есть определенным образом структурированный DOS-файл. Нужно определенные данные из него занести в соответствующие ячейки Excel-документа. ( - макрос) Все хорошо, кроме кодировки. Есть ли функция в vba, которая позволяет перевести строку из одной кодировки в другую? или как можно подключить функцию, написанную на Си,которая решает проблему перекодировки? Заранее спасибо! |
|
Вернуться к началу |
|
|
Adil Гость
|
Добавлено: Ср Июл 03 2002 10:38 Заголовок сообщения: Re: ф-я в vba для конверт. из dos to windows? |
|
|
Про VBA не знаю, а вот функции написанные на С (угловые скобки заменены буквами, т.к. на этом форуме с ними какие-то траблы)
//---------------------------- unsigned char* Decode_Win_to_DOS(unsigned char * str) { unsigned char ch; short i=0; do { ch=str[i]; if(ch _GE_ 128) { if(ch _GE_ 192&& ch _LE_ 239) { ch-=(unsigned char)192; ch+=(unsigned char)128; } else if(ch _GE_ 240) { ch-=(unsigned char)240; ch+=(unsigned char)224; } else if(ch==(unsigned char )'№') ch=252; else ch=32; str[i]=ch; } i++; }while(ch!=0); return str; } //-------------- unsigned char* Decode_DOS_to_Win(unsigned char * str) { unsigned char ch; short i=0; do { ch=str[i]; if(ch _GE_ 128) { if(ch _LE_ 175) { ch-=(unsigned char)128; ch+=(unsigned char)192; } else if(ch _GE_ 224&&ch _LE_ 239) { ch-=(unsigned char)224; ch+=(unsigned char)240; } else if(ch==252) ch='№'; else ch=32; str[i]=ch; } i++; }while(ch!=0); return str; } //------------------------- На ВБ переведи уж сам.
Удачи. |
|
Вернуться к началу |
|
|
|