![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() вопрос такой: файл должен быть в кодировке ascii 8 bits windows cyrillic (так мне ответил представитель компании acapela. открывать словарь в этой кодировке)
как мне правильно сохранить файл в этой кодировке? у меня сохранение делается так: StringList.SaveToFile(ExtractFilePath(Application. ExeName)+'\user.userdico'); Это он в какой кодировке сохраняет? Как сделать нужное мне сохранение, подробно подскажите кодом, пожалуйста, если возможно! Последний раз редактировалось sorockinalex, 01.12.2012 в 22:21. |
#2
|
|||
|
|||
![]() нашёл в интернете статью про ASCII 8 bit...
Цитата:
Таким образом мой вопрос сводится к тому, как сохранить в файл в кодировке ISO 8859-5 ???? |
#3
|
||||
|
||||
![]() BOM фигнатуру в начале файла пропиши. Посмотри что блокнот пишет.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
|||
|
|||
![]() Извини, не понимаю что ты сказал, кроме "в начале файла пропиши. Посмотри что блокнот пишет..."
Можешь пояснить??? нашёл процедуру в нете по перекодированию http://www.delphisources.ru/pages/faq/base/recode.html , переделал в функцию, но как-то неправильно она работает почему-то Код:
function ChangeEncoding(s:String):string; var c: char; i: integer; chars: array [char] of char; StrWin, StrIso: string; begin StrWin := 'АаБбВвГгДдЕеЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя'; StrIso := 'РрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯяа?б?в?г?д?е?ж?з?и?йsк?лzм?н§о?пY'; for c := #0 to #255 do Chars[c] := c; for i := 1 to Length(StrWin) do Chars[StrIso[i]] := StrWin[i]; for i := 1 to Length(s) do s[i] := Chars[s[i]]; Result := s; end; во-первых при копипастинге из браузера в делфи теряется часть символов исошной кодировки... заменяются на вопросы... перекодировалось правильно, открываю Notepad++ в кодировке ISO , но латинские символы какие-то странные Последний раз редактировалось sorockinalex, 01.12.2012 в 23:41. |
#5
|
|||
|
|||
![]() и вот тут непонятен алгоритм работы программы:
Код:
for i := 1 to Length(StrWin) do Chars[StrIso[i]] := StrWin[i]; почему массиву символов присваивается символ из строки символов винды? |
#6
|
|||
|
|||
![]() понял почему неправильно работает - при копипастинге конвертируются символы в символы латинского алфавита и потом заменяются...
как в браузера в делфи вставить правильно? не понял ваще... |
#7
|
|||
|
|||
![]() скопипастил в файл pas, открытый в Notepad++...
Открываю проект, Run - не работает как положено... при компиляции видимо меняет кодировку pas файла |
#8
|
|||
|
|||
![]() Цитата:
|
#9
|
|||
|
|||
![]() блин, замудохался я с этой фигнёй. вопрос копеечный, сижу уже целый день, читаю везде... зае...ся... помогите!
вот файл http://zalil.ru/34023082 нужно получить такой-же, в той же кодировке. как это сделать? строки хранятся в StringList.... |
#10
|
|||
|
|||
![]() Цитата:
Версия Delphi видимо > 2009, т.е. юникодная? Думаю, вот эта статья может помочь: http://mzemaitis.wordpress.com/2011/...ode-text-file/ Там наоборот, нужно в юникоде, но если как следует подумать, то написать в обратную сторону, думаю, не сложно. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
sorockinalex (02.12.2012)
|
#11
|
|||
|
|||
![]() нет, у меня D7
|
#12
|
|||
|
|||
![]() Цитата:
тогда не понимаю проблемы. По дефолту в Delphi 7 встрока есть ANSI. А уж кодировка зависит от текущей страницы в системе. |
#13
|
|||
|
|||
![]() чтоб скопировать из чегото в дельфи 7 нужно и там и там рускую раскладку включить
|
Этот пользователь сказал Спасибо robt за это полезное сообщение: | ||
sorockinalex (09.12.2012)
|