![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Добрый день!
Возникла проблема с кодировкой файла, записанного с помошью консольного приложения. Есть массив записей, который заполняется в консольном приложении и записывается в файл .txt соответственно после закрытия он открывается для чтения, и в консольное приложение выводится содержимое файла, проблема в том, что кирилица в файле отображается некорректно, что происходит из за несовпадения кодировок и соответственно в приложении тоже выдаёт некоректные символы. как решить эту проблему ? |
|
#2
|
|||
|
|||
|
AnsiToOEM и OEMToAnsi спасут отца русской демократии?
|
|
#3
|
|||
|
|||
|
А можно пример использования этих функций или обьяснить последовательность считывания/записи с их помощью. А то отец русской демократии пока с малым успехом бьётся над этой проблемой
![]() делаю так: Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,windows;
type Igrushka=record
Name:string[10];
Cena:byte;
Ogran:string[10];
end;
var F:file of Igrushka;
assort:array [1..10] of Igrushka;
i:integer;
T_N,x:string;
g:text;
function rus(const s: string): string;
begin
result:=s;
ansitooem(pchar(s), pchar(result));
end;
function rus_2(const s: string): string;
begin
result:=s;
oemtoansi(pchar(s), pchar(result));
end;
begin
assign(f,'c:\assort777.txt');
rewrite(f);
for i:=1 to 1 do begin
write(rus('Имя игрушки :'));
readln(rus_2(assort[i].Name));
write(rus('Цена игрушки :'));
readln(assort[i].Cena);
write(rus('Возрастные ограничения на использование игрушки :'));
readln(assort[i].Ogran);
write(f,assort[i]);
writeln('----------------');
end;
// writeln('Привет, ФриМен!');
try
{ TODO -oUser -cConsole Main : Insert code here }
except
on E:Exception do
Writeln(E.Classname, ': ', E.Message);
end;
readln;
end.в строке Код:
readln(rus_2(assort[i].Name)); возникает ошибка [DCC Error] Project1.dpr(57): E2064 Left side cannot be assigned to Что делаю не так ? ![]() Последний раз редактировалось kaizer131, 10.07.2009 в 09:01. |
|
#4
|
|||
|
|||
|
Цитата:
readln ожидает переменную, а rus_2 - функция Точнее было бы что-то вроде этого : Код:
Var Sx : string; ... ... readln(Sx); assort[i].Name:=rus_2(Sx); |
|
#5
|
|||
|
|||
|
Спасибо за помощь ! теперь всё нормально
![]() |