Форум: "Потрепаться";
Текущий архив: 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® 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.037 c