Hallo,
Ich hab gerade angefangen an einem kleinen Rechenprogramm zu basteln.
Es werden nach und nach mehrere Daten vom Nutzer abgefragt. Auf mehreren Seiten.
Mein 1. Problem:
Ich bin nur in der Lage ein einziges Formular zu erstellen und es mit allen Komponenten, die ich irgendwann mal brauche vollzupacken und dann mit der Visible-Eigenschaft zu arbeiten. Das ist, um genau zu sein, abartig unübersichtlich.
Also dachte ich mir, dass ich mehrere Formulare erstelle. Da aber jedes Formular über seine eigene
Unit verfügt muss ich die Variablen, die bei der Nutzerabfrage entstehen, für alle Units und somit Formulare verfügbar machen.
Also hab ich nach dem Begriff "globale Variablen" gesucht. Alles was ich gefunden habe, war immer wieder der Hinweis, man solle erst gar keine globalen Variablen verwenden. Warum das so ist, und wie man das Problem anders lösen könnte hab ich nicht verstanden. Zumal ich noch nicht einmal weiß, wie ich das mache, was ich eigentlich nicht machen soll (globale Variablen deklarieren). ^^
Muss ich jetzt die Variable unter dem Abschnitt "Public" deklarieren oder weiter unten, wo schon "Var" steht?
Und muss ich unter "Uses" dann noch den anderen Units sagen, aus welchen anderen Units sie überall globale Variablen beziehen sollen?
Mein 2. Problem:
Ich bin auf
dieses Thema gestoßen. Wenn es nicht geschlossen worden wäre, hätte ich meine Frage gleich da gestellt.
Ich möchte Daten aus einem Edit-Feld als Variable ins Programm übernehmen und auf Benutzer-Wunsch in eine ini-Datei speichern bzw wieder laden.
Diese ini-Datei soll direkt neben der .exe des Programms gespeichert werden. Also sozusagen im Programmverzeichnis.
Die stelle im Quellcode sieht so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Name, Vorname, Ort : String;
begin
Name := Edit1.Text;
Vorname:= Edit2.Text;
Ort := Edit3.Text;
ini := TIniFile.Create('gespeicherte Daten.ini'); //Hier dachte ich, dass die Datei im Programmverz. gespeichert wird, wenn ich nur den Namen aber keinen speziellen Pfad angebe
try
ini.WriteString('Person', 'Name', Edit1.Text);
finally
FreeAndNil(Ini);
end;
end;
Also meine Frage: Wie kann ich die Datei einfach ins Programmverzeichnis legen. Denn mit dem Quellcode wie er da oben steht, kommt nirgendwo eine ini-Datei an.
Mein 3. Problem
Wenn ich denn das dann mit den globalen Variablen und verschiedenen Formularen hinbekomme, könnte ich die Formulare nur wechseln, indem ich das eine schließe (oder visible:=false setzte) und das andere öffne bzw. sichtbar mache.
Gäbe es da vllt was eleganteres? So das es einfach nur ersetzt oder "überzeichnet" wird? Also sozusagen mehrere "Seiten" in einem Fenster.
MfG und Danke im Voraus.
Edit: Ich hab gerade mitbekommen, dass ich verrutscht bin und mein Beitrag nicht in der Kategorie "Programmieren allgemein" gelandet ist. Schuldigung