Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
ВнизПечать файла в DOS кодировке Найти похожие ветки
← →
Steplerr © (2006-05-16 15:09) [0]Исходный файл в досовской cp866 кодировке, мне его нужно распечатать на лазерном принтере. Сам сделать немогу - выходит лажа. Буду премного благодарен, если в ответ получу готовую процедуру, а не ссылку на Canvas.
← →
Amoeba © (2006-05-16 15:11) [1]Перекодировывай текст, выдаваемый на печать из OEM кодировки в ANSI. Лазерный принтер не обязан понимать cp866.
← →
Steplerr © (2006-05-16 15:24) [2]Что прекодировать надо я уже понял! Вопрос - как??? И потом как распечатать (никогда не писал проги использующие принтер) - пробовал Canvas"ом не понравилось (хотя может не так ползовался).
← →
Desdechado © (2006-05-16 15:52) [3]OemToChar
и просто выводить в файл с имененм PRN
или использовать переменную Printer
← →
Steplerr © (2006-05-16 16:06) [4]Припопытке компилировать программу с OEMtoChar Delphi выкидывает ошибку:
[Error] obr.dpr(52): Undeclared identifier: "OEMtoChar"
Думаю что-то нужно прописать в Uses, но в справке Delphi ничего про это не написано.
← →
Elen © (2006-05-16 16:09) [5]Добавь модуль Windows
или напиши windows.OemToChar(...)
А вообще это функция API
← →
Steplerr © (2006-05-16 16:35) [6]При выполнении такой конструкции:
OEMtoChar(PChar(Edit1.Text),PChar(Edit2.Text));
Windows вылетает в ошибку:
Access violation at address 77D5ED16 in module "user32.dll". Write of address 00403D11.
Если не трудно напишите конструкцию для перегона одного файла из OEM в ANSI с возможностю построчной обработки (можно посимвольной).
← →
Desdechado © (2006-05-16 16:41) [7]может, удосужишься почитать справку по OEMtoChar
← →
Steplerr © (2006-05-16 16:47) [8]Очень богата и содержательна справка в Delphi 5 по OEMtoChar;-)
Ну хоть скажите какие переменные использовать (чего в var писать) чтобы не вылетала ошибка.
← →
Desdechado © (2006-05-16 16:54) [9]> Очень богата и содержательна справка
достаточно для того, чтоб понять, что буфер должен быть выделенlpszSrc - Points to a null-terminated string of characters from the OEM-defined character set.
lpszDst - Points to the buffer for the translated string.
← →
Steplerr © (2006-05-16 18:22) [10]Проблему смены кодировок решил так:
function Dos2Win(p:string):string;
var tmpa,tmpb:PChar;
begin
tmpa:=PChar(p); tmpb:=PChar(p);
OemToChar(tmpa,tmpb);
Dos2Win:=String(tmpb);
end;
Потом построчно обрабатывал файл и выводил на печать через Printer.Canvas.TextOut.
Всем большое спасибо. Программа написана. Тема закрыта.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.037 c