![]() |
COM Port verbinden & trennen
Hi hab mal ne Frage,
ich würd gern zu com port 1 verbinden und ihn dann wieder trennen. Das ganze hat den Sinn das mein Labeldrucker richtig initialisiert wird. Kann mir wer bei dem Problem helfen? Danke. :> |
Re: COM Port verbinden & trennen
Hi Pumpe3r!
Aus meiner VB-Zeit erinnere ich mich noch an ein ActiveX-Steuerelement namens "ComControl" ... aber frag mich mal wo die geblieben ist ... keine Ahnung Ansonsten sollte es ![]() |
DP-Maintenance
Dieses Thema wurde von "r_kerber" von "Fragen / Anregungen zur DP" nach "Internet / LAN / ASP.NET" verschoben.
Das ist wohl keine Frage zur DP, oder? |
Re: COM Port verbinden & trennen
Eventuell reicht es, mal ein File 'com1' zu öffnen. Darüber hab ich damals mal was gemacht. kA ob es heutzutage noch läuft.
Wäre dann ein Assignfile mit einem Rewrite und Closefile. |
Re: COM Port verbinden & trennen
Also total super ist
![]() |
Re: COM Port verbinden & trennen
Mein Problem konnte ich leider noch net damit lösen.
Delphi-Quellcode:
Das ist der Code.
var
DeviceName: PChar; ComFile: THandle; DruckText: String; BytesWritten: dword; procedure TForm1.Button4Click(Sender: TObject); begin //Drucken -> //StrPCopy(DeviceName, 'COM1:'); DeviceName := 'COM1:'; ComFile := CreateFile(pchar(DeviceName),GENERIC_WRITE, 0, Nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); //----------------------------------------------------------------------- DruckText := chr(27)+ chr(64); // ESC @ -> Drucker initialisieren. WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(27)+ chr(116)+ chr(0); // ESC t 0 -> Select character code table. WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(27) + 'a' + chr(1); //ESC a 1 -> Zentrieren der Daten. WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(29)+chr(66)+ '0'; // GS B n -> 1 = schwarz hinterlegt ,0 = normal WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := 'PC-Seriennummer:'+ chr(0); //SERIAL := 'Beschreibung_2' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := '044436101556'+ chr(0); //SERIAL := '044436101556' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- DruckText := chr(29)+ chr(104)+ chr(30); // Set heigt (GS h 120) WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(29)+ chr(119)+ chr(1); // Set width (GS w 30) WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(29) + 'k' + chr(4); //+ chr(0); //GS k 4 WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := '044436101556'+ chr(0); //SERIAL := '044436101556' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := 'MAC-Adresse:'+ chr(0); //SERIAL := 'Beschreibung_1' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := '00-02-2d-66-f2-57' + chr(0); //MAC := '00-02-2d-66-f2-57' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(10); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- DruckText := chr(29)+ chr(104)+ chr(30); // Set heigt (GS h 120) WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(29)+ chr(119)+ chr(1); // Set width (GS w 30) WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := chr(29) + 'k' + chr(4); //+ chr(0); //GS k 4 WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); DruckText := AnsiUpperCase('00-02-2d-66-f2-57')+ chr(0); //MAC := '00-02-2d-66-f2-57' + chr(0); WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- DruckText := chr(29) + chr(12); // Etikettenvorschub WriteFile(ComFile, PChar(DruckText)^, Length(DruckText), BytesWritten, NIL); //----------------------------------------------------------------------- CloseHandle(ComFile); end; Aber das Initialisieren des Druckers geht nicht. Wenn ich drucken will, muss ich mit einem anderen Tool den Port connecten und wieder trennen, dann druckt er ohne Probleme bis zum nächsten reboot. :wall: Drucker: TM-L60II von Epson |
Re: COM Port verbinden & trennen
So ich habs gelöst, danke an euch alle. :>
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz