AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Optionen für Programm Speichern

Ein Thema von Andidreas · begonnen am 10. Jul 2006 · letzter Beitrag vom 10. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Optionen für Programm Speichern

  Alt 10. Jul 2006, 08:53
hi @ all,

ich hab en programm des sowohl auf nem server als auch auf nem pc läuft...
da die pfade im programm für denn server anders heißen wie am pc, wollt dem user ne form anbieten in dem er wählen kann wo er sich befindet...

jetzt weiß ich nur nicht wie ich des speichern soll was der benutzer ausgwählt hat...

als .ini datei????
wie würd ich mit ner .ini datei arbeiten??? genauso wie mit nem .txt file???
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 08:56
Hi Andidreas,

ich benutze zum Speichern von Optionen immer XML-Dateien.

Hier mal meinen Aufbau der Klasse:

Delphi-Quellcode:
unit uoptions;

interface

uses
  XMLIntf, XMLDoc, SysUtils;

type
  TOptions = class(TObject)
  private
    FXMLDoc: IXMLDocument;
    FLanguage: String;
    FFileName: String;
  public
    constructor Create(const OptionsFileName: String);
    destructor Destroy; override;

    procedure Load;
    procedure Save(SaveInFile: Boolean = false);

    // Optionen
    property Language: String read FLanguage write FLanguage;
  end;

implementation

{ TOptions }

constructor TOptions.Create(const OptionsFileName: String);
begin
  FFileName := OptionsFileName;

  FXMLDoc := TXMLDocument.Create(FFileName);
  FXMLDoc.LoadFromFile(FFileName);

  if (not (FXMLDoc.DocumentElement.NodeName = 'settings')) then
  begin
    raise Exception.Create('Not a valid settingsfile');
  end;

  FXMLDoc.Active := true;
end;

destructor TOptions.Destroy;
begin
  FXMLDoc.SaveToFile(FFileName);
  FXMLDoc.Active := false;
  inherited;
end;

procedure TOptions.Load;
  function DoLoad(NodeName: String; Default: String = ''): String;
  var
    Node: IXMLNode;
  begin
    Node := FXMLDoc.DocumentElement.ChildNodes.FindNode(NodeName);

    if Node <> nil then
      Result := Node.Text
    else
      Result := Default;
  end;
begin
  // Laden
  Language := DoLoad('language', 'de');
end;

procedure TOptions.Save(SaveInFile: Boolean = false);
  procedure DoSave(NodeName: String; Text: String);
  var
    Node: IXMLNode;
  begin
    Node := FXMLDoc.DocumentElement.ChildNodes.FindNode(NodeName);

    if Node = nil then
      Node := FXMLDoc.DocumentElement.AddChild(NodeName);

    Node.Text := Text;
  end;
begin
  // Speichern
  DoSave('language', Language);

  if SaveInFile then
    FXMLDoc.SaveToFile(FFilename);
end;

end.
Das ist jetzt nicht das nonplusultra, aber vielleicht ein kleiner Denkanstoß.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 08:57
Entwerder speicherst Du die Einstellungen in der Registry (nicht gerne gesehen weil unpraktisch) oder Du nimmst eine ini-Datei.

Für ini's gibt es TInifile.
Gib einfach in der Delphi-Hilfe mal TInifile ein. Dort ist alles beschrieben...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 08:58
Zitat von RavenIV:
Entwerder speicherst Du die Einstellungen in der Registry (nicht gerne gesehen weil unpraktisch)
Unpraktisch ist es nicht (finde ich). Ist ja im Endeffekt die gleiche Handhabung wie mit der Ini. Bloß: Keiner räumt danach auch wieder auf und löscht das Zeugs aus der Registry.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 09:20
Registry hat einen weiteren Nachteil:
Wenn die Software auf einen anderen PC umzieht, muss man das mühsam aus der Registry exportieren (sofern man es überhaupt findet) und am neuen PC einbauen.

Eine ini kopiert man einfach mit dem exe und alles ist wieder wie gewohnt.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#6

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 09:22
Zitat von RavenIV:
Registry hat einen weiteren Nachteil:
Wenn die Software auf einen anderen PC umzieht, muss man das mühsam aus der Registry exportieren (sofern man es überhaupt findet) und am neuen PC einbauen.
Ah stimmt. Soweit habe ich gar nicht gedacht. Ist also doch unpraktisch.
  Mit Zitat antworten Zitat
mr-unbekannt

Registriert seit: 29. Okt 2005
Ort: tirol
104 Beiträge
 
Delphi 7 Personal
 
#7

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 10:04
Zitat:
Keiner räumt danach auch wieder auf und löscht das Zeugs aus der Registry.
naya... die paar bytes?!?

ich arbeite eigentlich lieber mit der registry..

Zitat:
Registry hat einen weiteren Nachteil:
Wenn die Software auf einen anderen PC umzieht, muss man das mühsam aus der Registry exportieren (sofern man es überhaupt findet) und am neuen PC einbauen.
nö: man kann doch Registry-Einträge im Form-Create-Ereignis reinschreiben und überprüfen lassen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 10:07
Zitat von RavenIV:
Registry hat einen weiteren Nachteil:
Wenn die Software auf einen anderen PC umzieht, muss man das mühsam aus der Registry exportieren (sofern man es überhaupt findet) und am neuen PC einbauen.

Eine ini kopiert man einfach mit dem exe und alles ist wieder wie gewohnt.
Nur dumm, wenn in der Ini Pfade drinnestehen, die nur für diesen einen PC gültig sind. Dann darfst du nämlich vorher in der Ini rumeditieren. Man müsste also vorher prüfen, ob die Pfade stimmen und wenn nicht einen Dialog anzeigen, um sie zu korrigieren. Und das kannst du aber auch mit der Registry machen, wenn die Einträge dort fehlen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 10:10
Alle Speicherarten haben ihre Vor- und Nachteile. Also musst du dir darüber klar werden, welche Ansprüche du an deine Speicherart stellst und dann die beste wählen. Pauschal kann man das nicht sagen, denke ich.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#10

Re: Optionen für Programm Speichern

  Alt 10. Jul 2006, 10:13
Zitat von mr-unbekannt:
naya... die paar bytes?!?
Wenn jeder so denkt dann ist die registry nach einer bestimmten weile ziemlich zugemuellt ...

Zitat von mr-unbekannt:
nö: man kann doch Registry-Einträge im Form-Create-Ereignis reinschreiben und überprüfen lassen
dann stellt es neue her und die alten sind trtzdm futsch mit anderen worten die optionen sind futsch.


Zitat von Luckie:
Nur dumm, wenn in der Ini Pfade drinnestehen, die nur für diesen einen PC gültig sind. Dann darfst du nämlich vorher in der Ini rumeditieren. Man müsste also vorher prüfen, ob die Pfade stimmen und wenn nicht einen Dialog anzeigen, um sie zu korrigieren. Und das kannst du aber auch mit der Registry machen, wenn die Einträge dort fehlen.
an sich hast du recht aber wer nimm heutzutage noch statische pfad auswahl.
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:14 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