Entwickler-Ecke

Algorithmen, Optimierung und Assembler - Daten Speichern


Belowtiss - Mi 01.02.06 15:19
Titel: Daten Speichern
Hallo

Wie kann ich daten aus einem Projekt mit mehreren Formularen am besten speichern, damit ich wenn ich diese Files wieder aufrufe alle daten zur verfügung habe? Ich ddachte zuerst an ein InI File, das erscheint mir aber zu kompliziert. Gibt es da eine andere Möglichkeit?


alias5000 - Mi 01.02.06 15:20

Es gibt da z.B. noch die Registry, aber warum sind Ini-Files zu kompliziert? Eigentlich ist das total einfach!


Marco D. - Mi 01.02.06 15:22

Ich finde TIniFile am besten, um etwas abzuspeichern.

Hast du dir das Tutorial vom DSDT angeguckt?

http://www.dsdt.info/tutorials/ini/


Ansonsten kannst du dir hier etwas aussuchen:

http://www.dsdt.info/tutorials/?cat=11


Belowtiss - Mi 01.02.06 15:48

Es ist so dass es sich bei diesem Tool um ein Kalkulierungstool für die Blechbearbeitung handelt.
Es werden Daten eingegeben und für verschiedene Positionen Preise berechnet die Schlussendlich auf dem Hauptformular angezeigt werden.

Wenn alle eingaben gemacht sind sollen diese gespeichert werden z. B unter einer Offertennummer. Wenn dieses File wieder geöffnet wird sollen allegemachten eingaben wieder verfügbar sein.

Ich dachte ein INI File ist nur für Einstellungen die gespeichert werden müssen.


Danny87 - Mi 01.02.06 15:55

ganz spontan würde ich sagen, dass eine datenbank für deine zwecke besser wäre als inifiles o.ä.



gruss daniel


Marco D. - Mi 01.02.06 15:57

Doch, eine INI ist dafür bestens geeignet :wink:

So könnte das z.B. Aussehen:

[Offertennummer]
1=5,00
2=10,00


Natürlich kann ich jetzt nicht sagen, ob diese Einteilung für dich richtig ist, weil ich mich nicht in dein Programm reindenken kann, aber ich kann dir INI nur empfehlen.


Belowtiss - Mi 01.02.06 16:12

Das Speichern dieser daten soll so sein, wie wenn man ein Word doc speichert.
Datei Speichern unter.....

Offerte_kunde.???

Wenn das Programm dann geöffnet wird soll man zwischen einer neuen Datei und einer bereits vorhandenen wählen können.


Marco D. - Mi 01.02.06 16:20

user profile iconBelowtiss hat folgendes geschrieben:

Offerte_kunde.???


Was soll das bedeuten? :gruebel:



user profile iconBelowtiss hat folgendes geschrieben:

Das Speichern dieser daten soll so sein, wie wenn man ein Word doc speichert.
Datei Speichern unter.....


Wenn das Programm dann geöffnet wird soll man zwischen einer neuen Datei und einer bereits vorhandenen wählen können


Das Rest ist mit INIs auch kein Problem.

Geht diese Diskussion um die Art der Speicherung oder willst du wissen, wie man es in INIs abspeichert? Du musst mal dein Anliegen mitteilen.


Belowtiss - Mi 01.02.06 17:17

Ok ich versuche es mal besser zu erklären.

Ich habe ein Tool in dem ich eine unmenge von Eingabefelder habe.
Die Daten die ich in diesen Eingabefelder eingebe möchte ich Speichern.

Dem gespeicherten file möchte ich einen individuellen Namen geben.

Wenn ich dieses Tool neu aufstarte möchte ich die option haben ein bereits abgespeichertes File zu öffnen oder ein neues zu generieren.

Die Frage war wie ich das ganze am besten löse.

Die Lösung muss auch funktionieren wenn die abgespeicherten daten auf verschiedenen Formularen sind.


Marco D. - Mi 01.02.06 17:27

Aha ok.

Nehmen wir mal an, du hast 10 Edit-Felder auf deinem Formular und willst die Eingaben speichern. Die heißen edit1,edit2,edit3 usw.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var 
ini:TInifile;

procedure SaveData(pfad:string);
var 
i:integer;
comp:TComponent;
begin
ini:=TInifile.create(pfad);

for i := 1 to 10 do
begin
    
  //jedes einzelne Edit suchen
  comp:=findcomponent('edit'+inttostr(i));
  //den text vom Edit speichern
  ini.writestring('Überbegriff1','Überbegriff2',(comp as Tedit).text);
end;

ini.free;


Das war das abspeichern.
Das auslesen erfolgt so öhnlich (nur mit readstring).
Guck dir doch am besten das Tutorial an.