Главная страница
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.046 c
11-1080045027
user
2004-03-23 15:30
2004.08.29
Как перерисовать окно?


1-1092301873
Руслан
2004-08-12 13:11
2004.08.29
Еще один вопрос по EhDBGrid


1-1092382064
serg128
2004-08-13 11:27
2004.08.29
Как отследить момент закрытия Excel?


14-1091771704
benito
2004-08-06 09:55
2004.08.29
Реорганизация Потрепаться- молодые и сильные выживут


14-1092182551
Кириешки
2004-08-11 04:02
2004.08.29
Все кто когда-либо делал, делает или будет делать скины!!!