03.09.2003, 11:34 | #1 |
Участник
|
ANSI to ASCII
Как преобразовать ANSI в ASCII
и ASCII в ANSI ??? |
|
03.09.2003, 16:11 | #2 |
Участник
|
Просто!
Смотря на чем ты будешь реализовывать ? Могу кинуть на Delphi. p.s. В Navi есть Dos2Win. |
|
03.09.2003, 16:32 | #3 |
Участник
|
попробуй это.
p.s. правда я ее не пробовал. нашел в сети. если опишешь цель могу что нибудь другое предложить. |
|
05.09.2003, 14:01 | #4 |
Участник
|
Написал подобие Dod2Win только для обратного действия, но в тексте из DBF-ки из 1С не распознаются заглавные буквы и пару тройку маленьких (увеличение промежутка для замены результетов не дает) ........ :-(
|
|
05.09.2003, 14:06 | #5 |
Участник
|
Может быть, стоит выложить функцию в форум? Как знать, может кто-нибудь обойдет эту проблему.
|
|
05.09.2003, 14:16 | #6 |
Участник
|
WinText := Selected;
DosText := ''; REPEAT Pos := Pos + 1; OneChar := WinText[Pos]; IF (OneChar >= 240) AND (OneChar <= 255) THEN OneChar := OneChar - 16 ELSE IF (OneChar >= 192) AND (OneChar <= 239) THEN OneChar := OneChar - 64; DosText := DosText + FORMAT(OneChar); UNTIL Pos = STRLEN(WinText); Selected:=DosText; |
|
05.09.2003, 15:42 | #7 |
Участник
|
Попробуй так:
Запускаешь regedit Находишь ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Xbase возможно, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Xbase находишь параметр DataCodePage устанавливаешь его в значение ANSI. Должно заработать. Нашел здесь в самом конце : http://www.userland.narod.ru/softlab1.htm На всякий случай, сохрани реестр . |
|
05.09.2003, 16:07 | #8 |
Участник
|
Большое спасибо!!!! Все работает!!!!!
|
|
29.09.2010, 11:44 | #9 |
Участник
|
str dos2ansi(str _str)
{ str res; InteropPermission interopPerm; System.Text.Decoder dec; System.String buff; System.Text.Encoding Dos; System.Text.Encoding Ansi; System.Text.Encoding Utf; System.Byte[] ba; int len; System.Char[] ca; ; interopPerm = new InteropPermission(InteropKind::ClrInterop); interopPerm.assert(); Dos = System.Text.Encoding::GetEncoding(866); Ansi = System.Text.Encoding::GetEncoding(1251); dec = Dos.GetDecoder(); ba = Ansi.GetBytes(_str); len = dec.GetCharCount(ba, 0, ba.get_Length()); ca = new System.Char[len](); dec.GetChars(ba, 0, ba.get_Length(), ca, 0); res = new System.String(ca); CodeAccessPermission::revertAssert(); return res; } |
|
|
За это сообщение автора поблагодарили: jonny (3), ex3em (1), Mileyko (1). |