Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Внизкоды для принтера Найти похожие ветки
← →
odessey (2005-01-11 18:45) [0]Вопрос вот какой, надо напечатать текстовый файл, но не просто.
Файл содержит коды для принтера в начале и в конце файла.
если я буду пускать через мемо или ричедит то коды не будут работать.
Вот так тож коды подводят (27 или 12 символ, к примеру)
AssignFile(FileTxt,"d:\1.txt");
AssignPrn(PrintTxt);
Reset(FileTxt);
Rewrite(PrintTxt);
while Not EOF(FileTxt) do
begin
Readln(FileTxt, TempStr);
Writeln(PrintTxt, TempStr);
end;
CloseFile(FileTxt);
CloseFile(PrintTxt);
может кто подскажет как делать только поподробнее пожалуйста!
Заранее спасибо
← →
Семен Сорокин © (2005-01-11 19:15) [1]выделить коды из текста и запускать отдельным Write"ом
← →
odessey (2005-01-12 14:33) [2]
> выделить коды из текста и запускать отдельным Write"ом
результат тот же
← →
KSergey © (2005-01-12 14:37) [3]> Вот так тож коды подводят
Т.е.? Не попадают на принтер?
← →
odessey (2005-01-12 14:44) [4]распечатывает их квадратами(
← →
Alexander Panov © (2005-01-12 14:45) [5]odessey (11.01.05 18:45)
Ты хоть бы сказал, какой принтер у теюя.
← →
odessey (2005-01-12 14:51) [6]
> Alexander Panov
Epson матричный.....разве это имеет значение? Если этот файл вручную из под доса пускаю, то все нормально...коды видет
← →
Alexander Panov © (2005-01-12 16:13) [7]odessey (12.01.05 14:33) [2]
результат тот же
Код покажи.
← →
odessey (2005-01-12 19:03) [8]AssignFile(FileTxt,"d:\1.txt");
AssignPrn(PrintTxt);
Reset(FileTxt);
Rewrite(PrintTxt);
Writeln(PrintTxt, chr(27)+chr(64));
Writeln(PrintTxt, chr(12));
Writeln(PrintTxt, chr(27)+chr(33)+chr(01));
while Not EOF(FileTxt) do
begin
Readln(FileTxt, TempStr);
Writeln(PrintTxt, TempStr);
end;
Writeln(PrintTxt, chr(12));
Writeln(PrintTxt, chr(27)+chr(64));
CloseFile(FileTxt);
CloseFile(FileTxt1);
CloseFile(PrintTxt);
← →
MacroDenS © (2005-01-12 19:10) [9]А используемый принтером шрифт не влияет на печать???
← →
odessey (2005-01-12 19:29) [10]коды должны изменить шрифт принтера, но некоторые из них не отображаются при посылке на печать (проблема!) и из-за этого часть из них печатается на бумаге (а должны изменить настройку принтера...шрифт)
← →
odessey (2005-01-13 19:50) [11]вот еще один вариант (тож не помог)
procedure TForm1.Button2Click(Sender: TObject);
var
pDevice : pChar;
pDriver : pChar;
p,pPort : pChar;
hDMode : THandle;
PDMode : PDEVMODE;
begin
//if PrintDialog1.Execute then begin
p:=PAnsiChar(ComboBox1.Text);
GetMem(pDevice, cchDeviceName);
GetMem(pDriver, MAX_PATH);
GetMem(pPort, MAX_PATH);
Printer.GetPrinter(pDevice, pDriver, pPort, hDMode);
Printer.SetPrinter(p, PDriver, p, hDMode);
FreeMem(pDevice, cchDeviceName);
FreeMem(pDriver, MAX_PATH);
FreeMem(pPort, MAX_PATH);
Printer.BeginDoc;
Printer.Canvas.TextOut(100, 100, chr(27)+chr(33)+chr(128)+"Delphi Is RAD!"+chr(27)+chr(33)+chr(00));
Printer.EndDoc;
Почему коды не работают? Мастера подскажите
← →
Alexander Panov © (2005-01-13 20:12) [12]Попробуй заменить WriteLn на Write.
← →
odessey (2005-01-13 21:22) [13]не помогло.....проблема в этих кодах управления принтера....винда чтоль их меняет и принтер не понимает коды
← →
vital (2005-01-14 11:21) [14]Вот так реально у меня работает, и ESC-коды на ура идут
procedure WriteRawStringToPrinter(PrinterName:string; S:string);
var
Handle: THandle;
N: DWORD;
DocInfo1: TDocInfo1;
begin
if not OpenPrinter(PChar(PrinterName), Handle, nil) then
begin
ShowMessage("Error " + IntToStr(GetLastError));
Exit;
end;
with DocInfo1 do
begin
pDocName := PChar("test doc");
pOutputFile := nil;
pDataType := "RAW";
end;
StartDocPrinter(Handle, 1, @DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle, PChar(S), Length(S), N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WriteRawStringToPrinter(edit1.Text, "Test This"#12);
// В качестве первого параметра указать сетевое имя или полное локальное имя
// принтера, например, «\\sapr_1\HpLaserJ» или «HP DesignJet 430 (E/A0) by HP»
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.036 c