Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen CeBIT-Regionaltreffen 19.03.2004 Andreas Flohr/Torsten Weggen.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen CeBIT-Regionaltreffen 19.03.2004 Andreas Flohr/Torsten Weggen."—  Präsentation transkript:

1 © 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen CeBIT-Regionaltreffen Andreas Flohr/Torsten Weggen INDISoftware GmbH Optionen/Einstellungen

2 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die Einstellungen einer Anwendung: Einleitung In jeder Anwendung benötigen Sie Informationen, mit denen Sie Ihre Anwendung steuern. Diese Informationen werden normalerweise in der Registry, oder in einer INI-Datei, oder in einer Datenbanktabelle oder... abgelegt. Dabei gibt es die unterschiedlichsten Möglichkeiten, mit welchen Strukturen diese Informationen abgelegt werden. Wäre es nicht sinnvoll, alle Zugriffe auf außerhalb der Anwendung abgelegte Optionen und Einstellungen über eine zentrale Schnittstelle anzusprechen, unabhängig davon, ob sich diese in einer INI-Datei, der Registry oder in einer Datenbanktabelle befinden ?

3 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die Aufgabenstellung: Einleitung 1. Erstellen einer zentralen Schnittstelle, die sich transparent gegenüber der Anwendung verhält, egal wie die Einstellungen gelesen oder geschrieben werden. 2. Es muss möglich sein, Einstellungen zentral für alle Anwender oder userspezifisch pro Anwender abzulegen. 3. Die Schnittstelle muss sowohl in einer Dialoganwendung als auch in einer nicht-visuellen Anwendung verfügbar sein. 4. Es sollte einen Standarddialog geben, der nur für die individuell erforderlichen Einstellungen einer Anwendung angepasst werden muss.

4 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Erstellung einer Klassenbibliothek mit den Klassen für das spezifische Lesen und Schreiben von Einstellungen aus einer INI-Datei, der Registry oder einer Datenbanktabelle. Erstellung einer Klassenbibliothek mit den Klassen, die sich gegenüber der Anwendung transparent verhalten, unabhängig von der verwendeten Ablageart und Struktur. Erstellung einer Klassenbibliothek mit den visuellen Klassen, die für den Standarddialog genutzt werden. Einleitung Das Konzept:

5 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die Klassenbibliotheken: Das Ergebnis _cmreg.vcxEnthält die Hilfsklassen, die von den Klassen der Klassenbibliothek _cmOption.vcx benutzt werden und das individuelle Lesen und Schreiben der Optionen durchführen. _cmOption.vcxEnthält die Klassen zum Lesen und Schreiben von Optionen aus Registry, INI-Datei und Tabelle _cmOptionV.vcxEnthält die visuellen Klassen für die Interaktion mit dem Anwender zum Lesen und Schreiben von Optionen. (VFP 8!)

6 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Das Ergebnis Die Systemarchitektur: loOption = CREATEOBJECT("OptionHandler,INI,"MeineApp.ini")

7 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Das Ansprechen der Optionen-Klasse Optionenhandler lnAnzahlRechnungen = loOption.DoCmd("readOption","AnzRechnung") *-- loOption.doCmd: DO CASE CASE tcCmd = "ReadOption" luRet = THIS.oCmd.ReadOption(tu1…) … ENDCASE *-- In oCmd.ReadOption (oCmd ist Instanz von option_ini) luRet = THIS.oINI.ReadPrivateProfileString(tu1,…)

8 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Methoden der Optionenklasse Methoden zum Lesen des festen "Optionen"-Schlüssels (-Section,Node) ReadoptionLesen einer Option WriteoptionSchreiben einer Option DeloptionLöschen einer Option CheckoptionÜberprüfen auf Vorhandensein einer Option EnumoptionsErzeugen eines Arrays mit allen Optionen + Ihren Werten

9 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Methoden der Optionenklasse Methoden zum Lesen eines variablen (User)-Schlüssels (-Section,Node) ReadUseroptionLesen einer Option WriteUseroptionSchreiben einer Option DelUseroptionLöschen einer Option CheckUseroptionÜberprüfen auf Vorhandensein einer Option EnumUseroptionsErzeugen eines Arrays mit allen Optionen + Ihren Werten

10 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Methoden der Optionenklasse Methoden zum Verwalten der variablen ("User-") Schlüssel NewUserErzeugt einen neuen Schlüssel (Section, Node) DelUserLöscht einen Schlüssel (Section, Node) CheckUserÜberprüfen auf Vorhandensein eines Schlüssels (Section, Node) EnumUsersErzeugen eines Arrays mit allen Schlüsseln

11 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Darstellung in INI-Datei Die Ablage [ Pfade] Daten=C:\MeineApp\Tabellen Reports= C:\MeineApp\Reports [URL] Update=http://www.domain.de/Download/Patches [USER_Meier] ForeColor=RGB(255,0,0) BackColor= RGB(0,0,0) [USER_Meier\Querys] Query1=SELECT * FROM Adressen WHERE Name LIKE 'B%"

12 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Darstellung in der Registry Die Ablage [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx] [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0] [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0\Optionen] [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0\Optionen\Pfade] "Daten"="C:\\MeineApp\\Tabellen" "Reports"="C:\\MeineApp\\Reports [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0\Optionen\Url] "Update"=http://www.domain.de/Download/Patches [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0\Meier] "ForeColor"="RGB(0,0,0)" "BackColor"="RGB(255,0,0) [HKEY_LOCAL_MACHINE\SOFTWARE\INDISoftware\ClassMaxx\1.0\Meier\Querys] "Query1"="SELECT * FROM Adressen WHERE Name LIKE 'B%\""

13 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die visuellen Klassen Die Klassenbibliothek _cmOptionV.vcx: cmOptionPageDefDiese Klasse ist die Basisklasse für Ihre eigenen Pageklassen, auf denen Sie Einstellungen für Ihre Anwendung zur Verfügung stellen. cmOptionPgfDefDiese Klasse basiert auf einer Pageframe-Klasse Sie enthält eine Page0-Klasse sowie den Optionhandler. Weiterhin beinhaltet Sie die Funktionalitäten zum Erzeugen und Füllen der einzelnen Userdefined-Pages. FrmOptionDefBei dieser Klasse handelt es sich um ein fertiges Formular mit einer Treeview-Klasse und einem Pageframe, welches die Basis für die Einstellungsmaske darstellt.

14 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die visuellen Klassen Was müssen Sie vorbereiten (Page-Klassen)? Erstellen Sie Ihr eigenes Formular, basierend auf der Klasse frmOptionDef. Erstellen Sie Ihre eigenen Page-Klassen, basierend auf der Klasse cmOptionPageDef in Ihrer eigenen Klassenbibliothek und legen Sie dort Ihre Controls an. Füllen Sie die Eigenschaft Caption der Page. Dieser Name wird später als Nodename innerhalb des Treeviews sowie als Titel der Seite verwendet. Wenn Sie einen untergeordneten Node erzeugen wollen, geben Sie in die Eigenschaft Caption den Namen des untergeordneten Nodes sowie einen Backslash und dann den Namen dieser Page ein (z.B. Mail\FTP-Einstellungen). In die Eigenschaft cPicture können Sie dann noch eine Bilddatei eintragen, welche vor dem jeweiligen Node für diese Seite angezeigt werden soll.

15 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die visuellen Klassen Was müssen Sie vorbereiten (Page-Klassen)? Füllen Sie die jeweilige Methode FillArrayOptions() ihrer Page-Klassen, die standardmäßig leer sind. Das Array aOptions[] muss für jedes Textbox und Checkbox Control auf der Seite folgende Spalten enthalten: [n,1] der Name der Controls [n,2] der Name, unter dem die Option gespeichert wird [n,3] den Defaultwert. Evtl. weitere vohandene Steuerelemente wie Comboboxen oder Commandbuttons werden nicht im Array eingetragen, Da sie eine andere Behandlung benötigen. Das Füllen mit Daten und die Verarbeitung innerhalb der Seite können Sie in den Methoden GetValuesExt(), ProcessExt(), ReadExt() und ShowValuesExt() durchführen.

16 Optionen/Einstellungen © 2004 INDISoftware GmbH, Hannover Die visuellen Klassen Was müssen Sie vorbereiten (Pageframe-Klasse)? Legen sie mit der Einstellung in der Eigenschaft nReadPropertyFrom der Klasse cmOptionPgfDef in Ihrem erstellten Formular fest, wo von die Einstellungen gelesen werden sollen. Füllen Sie jetzt die Methode FillOptionsPages() der Klasse cmOptionPgfDef in Ihrem erstellten Formular. Das Array aOptionPages[] muss für jede von Ihnen erstellte Page-Klasse folgende Spalten enthalten: [n,1] den Klassennamen der zu instanzierenden Page [n,2] der Schlüssel, unter dem die Einstellungen abgespeichert wird

17 © 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen Optionen/Einstellungen Andreas Flohr/Torsten Weggen INDISoftware GmbH CeBIT-Regionaltreffen


Herunterladen ppt "© 2004 INDISoftware GmbH, Hannover Verwalten von Optionen und Einstellungen in VFP-Anwendungen CeBIT-Regionaltreffen 19.03.2004 Andreas Flohr/Torsten Weggen."

Ähnliche Präsentationen


Google-Anzeigen