Programmieren mit C++

Code-Beispiele & Lösungen

COM-Port-Setting per Dialog einstellen

Die Klasse DataCtrl_SetComDlg kapselt einen vollständigen Dialog zur interaktiven Eingabe der kompletten Einstellungen für den COM-Port einschließlich seiner Selektion, was über einen Zusatzdialog erreichbar ist.

Alle Einstellungen für den COM-Port werden über den üblichen OWL-Transferbuffer übergeben.

Zur Einbindung in eigene Anwendungen genügt die Aufnahme der Headerdatei:

#include "setcom.h"

mit den Deklarationen zum Compilieren sowie der Aufruf des Dialogs über:

DataCtrl_SetComDlg(parentWindow).Execute() 

Die Einstellungen des COM-Ports sind über zwei Dialogseiten verteilt:

  • Hauptbildschirm: Standard-Einstellungen
  • Folgebildschirm: Erweiterte Einstellungen

Der Wechsel zwischen beiden Dialogseiten ist hier über einen Button gelöst, der ein weiteres Dialogfenster öffnet.

Abbildung 7/2.1.4-1: Hauptseite des Dialogs mit den Standard-Einstellungen

Die erweiterten Einsteellungen regeln primär Details des COM-Ports:

Abbildung 7/2.1.4-2: Folgeseite des Dialogs mit erweiterten Einstellungen

Die zugehörige Struktur für den Transferbuffer ist wie folgt definiert:

struct TTransferStruct
{
   TTransferStruct(); 
   BOOL          b2400;       
   BOOL          b4800;       
   BOOL          b9600;       
   BOOL          b19200;      
   BOOL      bParityNone;  
   BOOL     bParityOdd;   
   BOOL     bParityEven;  
   BOOL     bStop1;       
   BOOL     bStop2;       
   BOOL     b8Bytes;
   BOOL     b7Bytes;
   TComboBoxData ComboPortID; 
};

Diese Transferstruktur übernimmt alle Daten der Hauptseite. Die Eingaben der Folgeseite werden direkt in eine DCB-Struktur umgesetzt und können über einen Methodenaufruf direkt an den COM-Port übertragen werden.

Transferstruktur

DataCtrl_SetComDlg(TWindow* parent,
                   TResID   resId=IDD_SETCOM,
                   TModule *module=0);

Der Konstruktor erzeugt den Dialog und besetzt die Dialogelemente mit Standardvorgaben.

Konstruktor DataCtrl_Set-ComDlg

virtual void CreateDialogControl(
     TTransferStruct *ts);

Die Memberfunktion CreateDialogObjekt initialisiert das Dialogobjekt.

Member CreateDialog-Control

void ReadDialogParam(TTransferStruct *ts,
                     DCB *dcb);

Über die Memberfunktion ReadDialogParam werden die Daten der Hauptdialogseite direkt über den Transferbuffer und die erweiterten Daten der Folgeseite direkt über die DCB-Struktur abgefragt. Die so erhaltene DCB-Struktur kann direkt für API-Aufrufe verwendet werden.

Memberfunktion ReadDialogParam

virtual int ApplyParamToPort(DCB *dcb);

Die Memberfunktion ApplyParamToPort überträgt die Daten in dcb an den aktuell selektierten COM-Port.

Um die Daten zu erhalten, müssen diese zunächst mittels ReadDialogParam abgefragt werden. Die von der Methode gelieferten Daten können dann direkt an den COM-Port übertragen werden.

Member ApplyParamToPort





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 01:26:21 von textarchiv.alojado.de