AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke COM Port verbinden & trennen
Thema durchsuchen
Ansicht
Themen-Optionen

COM Port verbinden & trennen

Ein Thema von Pump3r · begonnen am 6. Okt 2005 · letzter Beitrag vom 12. Okt 2005
Antwort Antwort
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#1

COM Port verbinden & trennen

  Alt 6. Okt 2005, 17:14
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. :>
Christian Hermann
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: COM Port verbinden & trennen

  Alt 6. Okt 2005, 19:01
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 hiermit gehen.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
6. Okt 2005, 19:05
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?
TrooperMan

Registriert seit: 12. Sep 2005
Ort: Bonn
5 Beiträge
 
#4

Re: COM Port verbinden & trennen

  Alt 6. Okt 2005, 19:09
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.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: COM Port verbinden & trennen

  Alt 6. Okt 2005, 19:22
Also total super ist TComPort, und wenn du sehen willst was so über den Port läuft, kannst du bei Sysinternals einen PortMonitor bekommen, beides echt super und oft bewährt!
  Mit Zitat antworten Zitat
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: COM Port verbinden & trennen

  Alt 10. Okt 2005, 10:16
Mein Problem konnte ich leider noch net damit lösen.

Delphi-Quellcode:
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;
Das ist der Code.

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.

Drucker: TM-L60II von Epson
Christian Hermann
  Mit Zitat antworten Zitat
Pump3r

Registriert seit: 6. Okt 2005
175 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: COM Port verbinden & trennen

  Alt 12. Okt 2005, 07:14
So ich habs gelöst, danke an euch alle. :>
Christian Hermann
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz