Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.02.2011, 20:32   #1
Cav
 
Регистрация: 09.01.2011
Сообщений: 3
По умолчанию Запись текста файл с кодировкой windows-1251 в Delphi 7

Как добавлять строки в текстовый файл с определенной кодировкой - windows-1251, в среде Delphi 7?
Cav вне форума Ответить с цитированием
Старый 01.02.2011, 20:36   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в Д7 это итак основная кодировка.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.02.2011, 20:55   #3
Cav
 
Регистрация: 09.01.2011
Сообщений: 3
По умолчанию

Я использовал Writeln, для добавления строки, другая стороняя программа читает файл, и жалуеться на кодировку. Писал ранее туже задачу на 1с, все стало работать когда установил явно кодировку использую Файл.Записать(АдресФайла, "windows-1251"); А в делфи не получаеться, сам я в делфи новичек. Может как явно указать например type CyrillicString = AnsiString(1251); но это как понял применяеться в делфи 2009.
Cav вне форума Ответить с цитированием
Старый 01.02.2011, 21:14   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

В D7 writeln пишет в файл "как есть" (что передашь). Обычно ты передаёшь строку типа AnsiString. По умолчанию AnsiString находится в кодовой странице ANSI. На русской Windows это Win1251.

Так что там просто нечего менять. Всё и так должно работать.

Если не работает - то ошибка в 42 строке.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 01.02.2011, 23:04   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я полностью согласен с вышесказанными ответами! но...

Cav, мне терзают смутные сомненья..
Цитата:
На русской Windows это Win1251.
А какая у Вас Windows ?!
ну и ещё. сделайте программку, которая пишет в текстовый файл несколько строчек с русскими буковками (прямо через WriteLn(f,'Привет от программы!'); - если Вам уже Writeln так мил), запакуйте в архив Ваш exeшник и полученный текстовый файл и полученный архив выложите на форум (ну или на любой файлообменник - а сюда ссылочку на скачивание). Посмотрим, какой-такой файл у Вас создаётся..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.02.2011, 18:21   #6
Cav
 
Регистрация: 09.01.2011
Сообщений: 3
По умолчанию

Всем большое спасибо, указав что кодировка по умолчанию Win1251, а то бы много чего пришлось переделывать. Ошибка была при формировании строки, что стоило проверить с самого начала, смутило то, что текст ругательство совпадал с ошибкой при левом формате. А я то уж подумывал, что не тем способом пишу, хотел переделывать запись через потоки.
Cav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
utf-8 -> windows-1251 Lihosvet Visual C++ 10 03.09.2022 16:37
Проблемы с кодировкой текста в Windows XP Ivan_32 Общие вопросы по Java, Java SE, Kotlin 2 10.11.2010 21:18
Обработка текста и запись результата в отдельный файл MrakSPb Общие вопросы C/C++ 2 20.12.2009 01:41
Запись текста в файл KoBRaAndrey Общие вопросы Delphi 1 06.10.2009 23:42
Чтение и Запись текста из\в файл(а), C++ FastDead2 Помощь студентам 20 14.05.2009 00:01