Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

writeln в кодировку win   Найти похожие ветки 

 
syte_ser78 ©   (2004-08-12 09:06) [0]

Как при помощи freepascal записать в файл текст в кодировке win?


 
Anatoly Podgoretsky ©   (2004-08-12 09:13) [1]

А что freepascal делает жто в другой кодировки, в жизнь не поверю.


 
syte_ser78 ©   (2004-08-12 09:18) [2]

Assign(F, file_name);
    ReWrite(F);
    writeln(f,"текст");
    Close(F);

Пишется в кодировке ДОС


 
Anatoly Podgoretsky ©   (2004-08-12 09:31) [3]

syte_ser78 ©   (12.08.04 09:18) [2]
Значит у тебя есть функция перекодировщик с таким именем. Стандартный writeln никакими перекодировками не занимается.


 
syte_ser78 ©   (2004-08-12 09:36) [4]

Извините. наверное я всетаки Вас не пойму.
У меня есть функция перекодировщик с именем Writeln ?
Нет у меня такой функции. Стандартную использую. Мне нужно создать консольное приложение которое будет писать в файл имена файлов в кодировке Win.


 
Anatoly Podgoretsky ©   (2004-08-12 09:45) [5]

Построй карту памяти и посмотри какие есть WriteLn


 
syte_ser78 ©   (2004-08-12 09:50) [6]

Огромное спасибо за ответ! Даже не подозревал что это так просто :)


 
Cobalt ©   (2004-08-12 12:54) [7]

2 syte_ser78 ©
Гы :)
А зачем ты в ДОСе пишешь? - вот и получай досовскую кодировку. Пишешь в виндах - получай виндовую кодировку. Пишешь в линуксе (если локаль KOI8-R) - получай кодировку KOI8-R.
В какой написал - в такой и получи. Хочешь другую - конверти. Из той, в которой написал, в ту, которая нужна.


 
Anatoly Podgoretsky ©   (2004-08-12 13:51) [8]

Cobalt ©   (12.08.04 12:54) [7]
Он утверждает, что у него WriteLn перекодирует в ДОС кодировку, это означает только одно, что он пользуется не стандартной WriteLn, а какой то другой. Карта памяти позволить определить все WriteLn если такие есть. Префиксная каноническая нотация позволит использовать правильный WriteLn


 
syte_ser78 ©   (2004-08-12 17:22) [9]


> Префиксная каноническая нотация

фраза расплющилась о мой череп пытаясь пробится внутрь.

Я утверждаю лишь то что код
Assign(F, file_name);
   ReWrite(F);
   writeln(f,"текст");
   Close(F);
запишет в файл тектс в Дос кодировке.


 
Cobalt ©   (2004-08-12 18:18) [10]

2 syte_ser78 ©   (12.08.04 17:22) [9]
Тебе ещё раз отвечают - writeln запишет не в DOS-кодировке, а в той, в которой ТЫ записал эту строку.


 
syte_ser78 ©   (2004-08-13 09:10) [11]

Код моей программы

Uses Crt,DOS;
var
f,filter_ini:text;
filter:string;
       i:integer;
Const
 version="0.0.0.1";        
 Filter_File="d:\1\filter.ini";

Procedure PrintFiles(path,mask:string);
var sr:searchrec;
begin
 findfirst(path+mask,anyfile-directory,sr);
 while doserror=0 do begin
   writeln(path+sr.name);
   i:=i+1;
   writeln(F,"<LI> <OBJECT type="text/sitemap">");
   writeln(F,"<param name="Name" value="",sr.name," ",i,"">");
   writeln(F,"<param name="Local" value="",path+sr.name,"">");
   writeln(F,"</OBJECT>");
   findnext(sr);
   end;
end;

Procedure SearchFiles(path,mask:string);
var sr:searchrec;
begin
 PrintFiles(path,mask);
 findfirst(path+"*.*",anyfile,sr);
 while doserror=0 do begin
   if (sr.attr and directory=directory) and
      (sr.name<>".") and (sr.name<>"..") then
     SearchFiles(path+sr.name+"\",mask);
   findnext(sr);
 end;
end;

Procedure Search_musor(path:string);
   begin
       Assign(filter_ini,Filter_File);
       reset(filter_ini);
               while not Eof(filter_ini) do
                       begin
                               Readln(filter_ini,filter);
                               SearchFiles(path,filter);
                       end;
       Close(filter_ini);
    end;

begin
       i:=0;
    Assign(F, "1.hhc");
    ReWrite(F);
    writeln(f,"<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">");
    writeln(f,"<HTML>");
    writeln(f,"<HEAD>");
    writeln(f,"<meta name="GENERATOR" content="Microsoft&reg; HTML Help Workshop 4.1">");
    writeln(f,"<!-- Sitemap 1.0 -->");
    writeln(f,"</HEAD><BODY>");
    writeln(f,"<OBJECT type="text/site properties">");
    writeln(f," <param name="ImageType" value="Folder">");
    writeln(f,"</OBJECT>");
    writeln(f,"<UL>");
    Search_musor("d:\1\");
    writeln(f,"</UL>");
    writeln(f,"</UL>");
    writeln(f,"</BODY></HTML>");
    Close(F);
end.

Почему в файл 1.hhс пишется в ДОС кодировке???
КАК записать в WIN ?????


 
Anatoly Podgoretsky ©   (2004-08-13 09:48) [12]

writeln(f,"текст в Win кодировке");


 
syte_ser78 ©   (2004-08-13 09:54) [13]

как перевести значение возвращаемое функцией findfirst в win кодировку? Если не сложно строчичку примера.



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.047 c
3-1091619121
Алексей
2004-08-04 15:32
2004.08.29
FOX, ADO и отрицательный числа


14-1092352257
nasty
2004-08-13 03:10
2004.08.29
стереотипы...


1-1092503974
Gnec
2004-08-14 21:19
2004.08.29
как сделать пакер ???


1-1092287597
SerKom
2004-08-12 09:13
2004.08.29
Альтернатива массива записей c двумя полями


1-1092196174
maxkat
2004-08-11 07:49
2004.08.29
глобальные переменные!