Страница 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) С помощью чего формируются вообще платежки? Это зарплатовские платежки?  

 
			
					
				
				Добавлено: 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) - ужОс, учитывая поставленную задачу  
 Nikos
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
				Такие решения давно уже сделаны и протестированы. И изобретать колесо смысла нет.