Страница 1 из 1

Как сохранить файл в кодировке Windows?

Добавлено: 27 фев 2006, 16:36
Nikos
Подскажите, очень нужно. Ну а задача состоит в том, чтоб экспортировать платежки в банк. Формирую файл, но он по умолчанию создается в кодировке DOS, а банковский клиент требует Windows.

Добавлено: 27 фев 2006, 18:18
Великий Пользователь
Предлагаю два экстренных варианта.
1) С помощью например файлового менеджера FAR. Копируешь в буфер обмена содержимое текстового файла в вормате DOS. Создаешь по Shift-F4 текстовый файл в формате Windows. Вставляешь туда из буфера. И опа файл в новой кодировке.
2) С одной стороны чуть сложнее и проще :) В Делфях компилируешь следующий проект. Получаешь исполняемый файл. В командной строке в качестве первого параметра экзешника указываешь Dos-файл, а вторым параметром имя будущего Win-файла.
----
program DosToWin;

{$APPTYPE CONSOLE}

uses
SysUtils,System,Windows;

var FileName : string;
WFileName : string;
FW,FR: TextFile;
Str : PChar;
RStr : string;
begin
{ TODO -oUser -cConsole Main : Insert code here }
if ParamStr(1) <> '' then begin
FileName := ParamStr(1);
WFileName := 'W'+FileName;
AssignFile(FR, FileName);
AssignFile(FW, WFileName);
Reset(FR);
Rewrite(FW);
while not eof(FR) do begin
Readln(FR,RStr);
Str := PChar(Rstr);
OEMToChar(Str,Str);
RStr := Str;
Writeln(FW, RStr);
end;
CloseFile(FW);
CloseFile(FR);
end;
end.
----
3) Можно на VIP-е написать интерфейс-экспорта в котором сразу перекодировать символы по перекодировочной таблице. А может там есть функции для работы в "современном формате", но это зависит от версии Атлантиса.
4) С помощью чего формируются вообще платежки? Это зарплатовские платежки? :smile:

Добавлено: 27 фев 2006, 20:32
Max_Fin

Добавлено: 27 фев 2006, 20:33
Seybukan
Великий Пользователь

Ни фа се у вас заморочки. :))

Nikos

Поставьте в настройке экспорта вид кодировки Windows-1251.

Добавлено: 28 фев 2006, 07:45
Nikos
Спасибо. oem2ansi - то, что нужно.
А платежки - обычные платежные поручения, которые через модуль клиент-банк отправляю в банковский клиент. После экспорта необходима еще обработка файла - вот и возникла проблема.

Добавлено: 28 фев 2006, 07:49
Nikos
Поставьте в настройке экспорта вид кодировки Windows-1251
Здесь возникла странная проблема, связанная с тем, что если в шаблоне встречается буква 'я', то в результируещем файле следующий символ ломается. Переключил на DOS - все нормально. Кроме того, как уже писал, после экспорта нужно 'шапку' прицепить к файлу, а по умолчанию она в DOS кодировке.

Добавлено: 28 фев 2006, 11:39
Seybukan
Замените ее на большую "Я".

Или в настройке выгрузки строк поставьте Заголовок = 'СекцияДокумент'. и в форме соответственно просто ^ для выгрузки данной строки.

Добавлено: 28 фев 2006, 11:40
Seybukan
а код символа маленькой 'я' в атлантисе занят под что-то другое.
вот и лезут всякие неверноятности.

Добавлено: 28 фев 2006, 11:43
Nikos
Seybukan[/b
Спасибо, буду знать, а то вчера весь день с ней промаялся.

Добавлено: 28 фев 2006, 14:42
Oweo
Великий Пользователь
пункт 2) - ужОс, учитывая поставленную задачу :-D

Nikos
Спасибо, буду знать, а то вчера весь день с ней промаялся.
Вопросы попрямее задавайте, и не в разных разделах. А то неделю можно мучаться :)

Добавлено: 28 фев 2006, 14:58
поЧитатель
Есть файл xcode.exe его можно запускать в батнике

Если надо отправить файл, то перед отправкой запусти:
xcode dos.txt win.txt /i:dos /o:win

Если надо принять файл, то после получения запусти:
xcode 1C.txt Imp.dos /i:win /o:dos

Могу выслать по почте

Добавлено: 28 фев 2006, 15:02
Nikos
поЧитатель
Если не трудно, отправь, пожалуйста.
Спасибо.

Добавлено: 28 фев 2006, 19:10
Великий Пользователь
Как была поставлена задача, так и был дан ответ. Решение универсальное, не зависит ни от Галактики, ни от VIP-а.

Добавлено: 01 мар 2006, 08:15
Anton Bobrov
Такие решения давно уже сделаны и протестированы. И изобретать колесо смысла нет.