Benutzer-Werkzeuge

Webseiten-Werkzeuge


k19:k19.1:k19.1.3:start

19.1.3 Profile

Wollen Sie zum Beispiel bei einem Programm zur Datensicherung ein bestimmtes Verzeichnis auf unterschiedliche Datenträger oder unterschiedliche Verzeichnisse auf eine USB-Festplatte sichern, bietet sich die Verwendung von unterschiedlichen Profilen an. Für jeden dieser Fälle ist dann ein spezielles Sicherungsprofil nötig, das Sie in einer Konfigurationsdatei speichern können. Auch bei eMail- oder FTP-Programmen wird häufig mit unterschiedlichen Konten oder Profilen gearbeitet. Vielfach ist es erforderlich neue Profile anzulegen oder zu ändern oder ungenutzte Profile zu löschen.

Eine Lösung könnte darin bestehen:

  • den Profilen einzelne Sektionen in der Konfigurationsdatei zuzuordnen und nur die unter einem ausgewählten Profil gespeicherten Schlüssel-Wert-Paare auszulesen, auszuwerten und dem Programm als (Start-)Profil zur Verfügung zu stellen. Dieser Ansatz erfordert Gambas3 mit erweiterten Eigenschaften und Methoden für die Klasse gb.settings oder eine spezielle Lösung für Gambas 2.
  • für jedes benötigte Profil zur Laufzeit des Programms eine eigene Konfigurationsdatei anzulegen, um so geänderte Profildaten abzuspeichern oder die Konfigurationsdatei für ein bestehendes Profile zu löschen. Dieser Weg wird hier nicht verfolgt.

Hinweis:
Versuchen Sie nicht, eine Konfigurationsdatei gleichzeitig mit einem Settings-Objekt und mit einem seriellen Stream (Open, …) zu bearbeiten. Ja, es ist möglich, weil Linux das gleichzeitige Öffnen einer Datei durch mehrere Prozesse zulässt, aber es gefährdet die Integrität Ihrer Daten. Sie können nämlich nie wissen, in welcher Reihenfolge die Lese-/Schreibzugriffe ausgeführt werden, weil alle diese Zugriffe gepuffert sind.

' Man sollte nicht in Dateien stöbern und Inhalte ändern, die bereits von einem Objekt genutzt werden.
 
  hFile = OPEN (Application.Path &/ "Profil/ftp.conf") FOR INPUT ' Profilnamen auslesen 
  WHILE NOT Eof(hFile) 
    LINE INPUT #hFile, sLine 
    IF Mid(sLine, 1, 3) = "[P_" THEN 
       aProfilMatrix.Add(Mid(sLine, 2, String.Len(sLine) - 2)) 
       cmbFTPProfilName.Add(Mid(sLine, 4, String.Len(sLine) - 4)) 
    ENDIF 
  WEND  
  CLOSE #hFile

19.1.3 Download

k19/k19.1/k19.1.3/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge