Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.035 c
14-1092221483
Кириешки
2004-08-11 14:51
2004.08.29
Два вопроса.


3-1091592599
ydv
2004-08-04 08:09
2004.08.29
Хитрый sql-запрос


3-1091550027
Lamers not dead
2004-08-03 20:20
2004.08.29
Что за ошибка «Текущий проводник не поддерживает необходимые инте


14-1092214027
Тень отца Гамлета
2004-08-11 12:47
2004.08.29
Посмотрел Короля Артура


14-1091325957
Думкин
2004-08-01 06:05
2004.08.29
С днем рождения! 1 августа





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский