[Delphi] Konfiguration abspeichern

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von N30N, 4. September 2007 .

  1. 4. September 2007
    Konfiguration abspeichern

    Also meine Situation ist Folgende:

    Ich habe 5 Variablen, alle vom Typ "string". In denen ist jeweils ein Dateipfad abgespeichert, also nix Großes.


    Jetzt fehlt mir nur noch ein Weg, um die Werte dieser Variablen ausserhalb vom Programm zu sichern und beim Start automatisch zu laden.

    Wie stell ich das an?

    Ich habe bereits mit nem Memofeld und "memo1.lines.savetofile('Videos.cfg');" rumexperimentiert, allerdings habe ich da noch Probleme.

    Ich kann zum Beispiel keine einzelnen Zeilen wieder in die Variable abspeichern.


    Wie bekomm ich es hin?
     
  2. 4. September 2007
    AW: Konfiguration abspeichern

    Das kannst du leicht mit ini files machen.
    Hier ein tutorial über das Speichern und auslesen von ini´s in Delphi
    Link

    greetz
     
  3. 4. September 2007
    AW: Konfiguration abspeichern

    Du kannst e ja auch ja auch nur in ne txt/cfg speichern und dann einfach jede variable in eine zeile!

    das ist zwar gut aber sobal variablen nen absatz enthalten hauts alles drucheinander!

    Also ini oder das aktuellere xml benutzen!

    Knusperkeks
     
  4. 4. September 2007
    AW: Konfiguration abspeichern

    oder über der registrierung

    das mit dem memo laden und speichern klappt auch allerdings solltest du daran denken das du die scroll bars rein haust sonst hast du wie knusperkeks schon sagte das problem

    oder du speicherst alles in einer datei ab und zwar mit strings die deine variable einleitet + variable hinterher musst du zwar nen code schreiben der dann hinterher denn gesamten string wieder in den kleinen variablen auseinader bastelt aber das kannst du ganz gut mit der funktion pos machen
     
  5. 6. September 2007
    AW: Konfiguration abspeichern

    Der Vollständigkeit halber hier noch die Anwort wie man einzelne Zeilen des Memos lädt:
    z.B.
    Code:
    var a,b,c,d,e: String;
    
    procedure LadeVars;
    begin
    Memo1.Lines.LoadFromFile("C:\Config.cgf");
    a:=Memo1.Lines[0]; //Achtung bei Null anfangen!
    b:=Memo1.Lines[1];
    ....
    end;
    Diese Variante klappt totsicher und lässt sich schneller programmieren als ein speichern in inis oder xml. Logischerweise ist diese Art aber nur für Hobby-Programme zu empfehlen.
     
  6. 6. September 2007
    AW: Konfiguration abspeichern

    Mit Streams wär es am schnellsten und platzsparensten. Hab den Code aber
    eben dahin geschrieben, kann sein, dass noch Syntaxfehler drin sind.

    Code:
    procedure SaveCFG(Filename : String);
    var
     F : TFileStream;
     S : String:
     i : longint:
    begin
     F := TFileStream.Create(Filename, fmCreate or fmShareDenyNone);
     S := 'Blabla';
     i := Length(s);
     F.Write(l, SizeOf(LongInt));
     F.Write(PChar(s)^, i);
     F.Free;
    end;
    
    procedure LoadCFG(Filename : String);
    var
     F : TFileStream;
     S : String:
     i : longint:
    begin
     F := TFileStream.Create(Filename, fmOpenRead or fmShareDenyNone);
     F.Read(l, SizeOf(LongInt));
     if I = 0 then
     raise Exception.Create('Stream-Lesefehler');
     SetLength(S, I);
     F.Read(PChar(s)^, i);
     F.Free;
    end;
    
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.