AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Savedialog - ComboxenIndex speichern

Savedialog - ComboxenIndex speichern

Ein Thema von snears · begonnen am 11. Mai 2010 · letzter Beitrag vom 13. Mai 2010
Antwort Antwort
snears

Registriert seit: 25. Jan 2010
51 Beiträge
 
#1

Savedialog - ComboxenIndex speichern

  Alt 11. Mai 2010, 21:59
Guten Abend Delphi Freunde,

ich habe mal eine Frage und zwar kann mir jemand sagen wie man einen Speicher- und LadenButton programmiert!

Und zwar will ich mehrere Comboboxen und deren Index speichern. Alle Comboboxen sind auf einem Formular, aber in einem Panel.

Ich habe mir schon einmal ein Delphi Code angeguckt und bei diesem Programm hat er jeden einzelnen Combobox.Index gespeichert,
kann man das auch mit einem Speicherbefehl machen, oder soll ich jede einzelne Combobox ansprechen und sagen speichere den Wert in einer Text datei.




Vielen Dank

snears
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

Re: Savedialog - ComboxenIndex speichern

  Alt 11. Mai 2010, 22:07
HI,

mit Hilfe des Speichern-Dialoges gibst du dem Nutzer die Möglichkeit, einen Dateinamen anzugeben. Intern solltest du diesen dann auch benutzen.

Wie speichere ich die Indizes der Comboboxen? - Simple Dateioperationen, siehe Tutorial über Dateien.
Delphi-Quellcode:
var f: textfile;
begin
  AssignFile(f, FILENAME);
  Rewrite(f);
  WriteLn(ComboBox1.ItemIndex);
  WriteLn(ComboBox2.ItemIndex);
  WriteLn(ComboBox3.ItemIndex);
  WriteLn(ComboBox4.ItemIndex);
  WriteLn(ComboBox5.ItemIndex);
  CloseFile(f);
end;
Bernhard

PS: Danke dem Mod für die Korrektur, sollte doch besser den Tag beenden.

PPS: Hab noch einen Link für eine alterative Version besorgt: INI-Dateien
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
snears

Registriert seit: 25. Jan 2010
51 Beiträge
 
#3

Re: Savedialog - ComboxenIndex speichern

  Alt 12. Mai 2010, 16:34
Vielen Dank für die schnelle Antwort!

Das funktioniert auch soweit, nur kann ich auch sagen speichere das ganze Programm mit den Indizien ab.

Oder muss ich das so machen wie es oben steht?

Trotzdem schon einmal Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

Re: Savedialog - ComboxenIndex speichern

  Alt 12. Mai 2010, 16:48
Zitat von snears:
Vielen Dank für die schnelle Antwort!

Das funktioniert auch soweit,
Danke.

snears hat ungefähr folgendes geschrieben:
nur kann ich auch sagen "speichere das ganze Programm mit den Indizien ab"?

Oder muss ich das so machen wie es oben steht?

Ich verstehe deine Frage nicht. Was willst du machen? Von hier aus sehe ich nicht, was du bis jetzt hast. Ich würde dir allerdings gerne helfen. Also was ist deine Frage?
1.) Willst du wissen, wie man mehr als die 6 angegebenen Indizes abspeichert?
2.) Willst du wissen, wie das Programm das automatisch und zeitgesteuert machen soll?
3.) Willst du wissen, wie man die dann auch wieder lädt?
4.) Willst du wissen, wie man das so macht, dass das Programm beim Beenden automatisch speichert?
ODER 5.) Willst du wissen, wie man diese Routine aufspaltet in "Speichern" und "Speichern unter" wie bei anderen Produkten von MS?

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
fatalerror
(Gast)

n/a Beiträge
 
#5

Re: Savedialog - ComboxenIndex speichern

  Alt 12. Mai 2010, 19:47
Zitat von snears:
...
Oder muss ich das so machen wie es oben steht?
Viele Wege führen zu einem Ziel. Nur, wenn du uns das Ziel nicht genau bekannt gibst, können wir dir auch nur schlecht den Weg dazu zeigen.
Eine Alternative ist die Inidatei. Hier ein anderes Beispiel:

1. Erzeuge eine Inidatei
2. Durchlaufe alle Controls und überprüfe ob es eine Combobox ist
3. Schreibe den Namen des gefundenen Controls und den Index in die Inidatei
4. Schliesse die Inidatei
Delphi-Quellcode:
var
  i: Integer;
  ini: TIniFile;

begin
  ini:=TIniFile.create(deindateiname);
  Try
  for i:= 0 to ComponentCount -1 do
  begin
    if Components[i] is TComboBox then
       Ini.WriteInteger('Settings',Components[i].Name, TComboBox(Components[i]).itemindex);
  end;
  
  finally
    ini.Free;
  end;
end;
  Mit Zitat antworten Zitat
snears

Registriert seit: 25. Jan 2010
51 Beiträge
 
#6

Re: Savedialog - ComboxenIndex speichern

  Alt 13. Mai 2010, 10:24
Also mir hat Bernhard geschrieben, das man mit

WritLn(Combobox1.Itemindex);
WritLn(Combobox2.Itemindex);
WritLn(Combobox3.Itemindex);

jede Combobox ansprechen muss um den Indexwert zu speichern! Soweit alles klar?

So da ich aber an die 60 Comboboxen besitze und nicht einen endlos langen Delphi-Code haben möchte, ist meine Frage nun folgende (aufpassen )


Kann man das Projekt oder Programm mit seinen ganzen Comboboxen und deren Indiezen speichern, ohne das man sagt in combobox1 ist folgender wert und speichere den bitte ab.
Habt ihr es jetzt verstanden, ich bin ganz schlecht im Fragen stellen fällt mir mal so auf!

Vielen Dank snears
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#7

Re: Savedialog - ComboxenIndex speichern

  Alt 13. Mai 2010, 10:43
Guten Morgen...

die Antwort liegt in Beitrag #5
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#8

Re: Savedialog - ComboxenIndex speichern

  Alt 13. Mai 2010, 10:45
Zitat von snears:
und nicht einen endlos langen Delphi-Code haben möchte, ist meine Frage nun folgende (aufpassen )
Na erstmal gibt es Delphi-Referenz durchsuchenFindComponent

und dann gäbe es noch (aufpassen ) das, welches fatalerror in Beitrag #5 schon schrieb.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
fatalerror
(Gast)

n/a Beiträge
 
#9

Re: Savedialog - ComboxenIndex speichern

  Alt 13. Mai 2010, 10:45
Zitat von snears:
..
So da ich aber an die 60 Comboboxen besitze und nicht einen endlos langen Delphi-Code haben möchte, ist meine Frage nun folgende (aufpassen )

Kann man das Projekt oder Programm mit seinen ganzen Comboboxen und deren Indiezen speichern, ohne das man sagt in combobox1 ist folgender wert und speichere den bitte ab ..
hast du mein Posting mal angeschaut? da hab ich dir doch einen Hinweis darauf gegeben! Durchlaufe mit einer Schleife alle Controls und speichere den Wert ab
Delphi-Quellcode:
for i:= 0 to ComponentCount -1 do
  begin
    if Components[i] is TComboBox then
      // tue hier irgendwas
  end;
ob du jetzt die Daten in einer Inidatei oder einer sonstigen Datei abspeicherst ist dir überlassen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.017 Beiträge
 
Delphi 12 Athens
 
#10

Re: Savedialog - ComboxenIndex speichern

  Alt 13. Mai 2010, 10:51
Zitat:
Und zwar will ich mehrere Comboboxen und deren Index speichern. Alle Comboboxen sind auf einem Formular, aber in einem Panel.
Es stellt sich grade noch eine Frage:

Alleine 60 ComboBoxen und wer weiß was sonst noch ... sicher daß man dieses nicht besser lösen könnte?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:28 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