AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ComboBox auswählen + Daten anzeigen

Ein Thema von SyntaxXx · begonnen am 5. Jan 2009 · letzter Beitrag vom 6. Jan 2009
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:04
Hi und zwar wurde mir hier schonmal geholfen, und meine frage wurde beantwortet und zwar besser ls ich gehoft hatte.
Deswegen wollte ich jetzt nochmal was fragen und hoffe, das ihr mir wiedr helfen könnt.

Ich habe nun mir ein programm geschrieben, wo man jezt

Name
Nachname
Alter
Ort

eingeben kann, in ein Editfeld.

So wenn man da was eingegeben hat und auf den Button "Save" klickt, dann werden diese Strings in eine .ini gespeichert.

So nun ich die aber wieder laden.

Das wäre an für sich kein Problem, nur ich habe das so gemacht, dass man as jetzt von vershciedenen Leuten eintragen kann.
So deswegen will ich jetzt, die ganzen Sachen in einer Comobox anzeigen lassen, allerdings nur den Nachnamen.
Das habe ich ich auch gemacht, indem ich die Combobox einfach die .ini laden lasse und die Combobox mir die Eigenschaft1 aus der Sektion1 anzeigen lassen soll. Das geht auch.

Nur wenn ich jetzt den geünschten Namen auswähle in der Combobox auswähle soll er mir die restlichen Daten in Editfeldern ausgeben.
Nur wie mache ich das jetzt?

Also was muss ich machen, damit ich, wenn ich mir was ausgesucht hab aus der Combobx auch was damit machen kann?

Im momment kann ich sie ja nur Anklicken und auswählen, aber sie gibt mir ja jetzt nichts aus.


Kleines Beispiel:

Ich habe jetzt in der Combobox "Hallo" drinn stehen.

Was muss ich jetzt machen, bzw wie sieht der code aus, das sobald ich "Hallo" auswähle, er mir sofort in einem dafür vorgesehenen Editfeld "Welt" ausgibt?


Wenn ich das hab, kann ich mir den rest bestimmt selber zusammen bauen. Oder ich frag einfach nochmal^^


Vielen dank schonmal
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:06
Hi!

Was du suchst ist wohl das OnChange-Event!


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#3

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:14
Hmmm, daran hab ich auch gedacht, trotzdem weiß ich nicht wie ich das jetzt genau anwende.
Hier mal der Code von meiner Combobox:

Delphi-Quellcode:
rocedure TForm1.ComboBox1Change(Sender: TObject);
var cbname : string;
begin
try
ini := TIniFile.Create('c:\Names.ini');
cbname := ini.ReadString('Sektion1', 'Eigenschaft3', '');
 ComboBox1.Items.Add(cbname);
finally
ini.Free
end;

Hiermit lade ich ja die .ini Dtei mit den Namen drinne:
ini := TIniFile.Create('c:\Names.ini');

Hiermit sage ich ihm, das er die Datei, die auf der Eigenschaft1 liegt laden soll und speicher sie auf "cbname":
cbname := ini.ReadString('Sektion1', 'Eigenschaft3', '');

Und hier sag ich ja, das er mir das, was auf "cbname" liegt in der Combobox anzeigen soll.

Jetzt weiß ich nicht, wie ich da Onchange anwenden soll?
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.304 Beiträge
 
Delphi XE2 Professional
 
#4

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:17
Hallo,

du könntest eine Ini-Datei aufbauen, die etwa so ausschaut:

Zitat:
[Huber]
Name=Alfons
Nachname=Huber
Alter=100
Ort=Am Arsch der Welt

[Maier]
Name=Irene
Nachname=Maier
Alter=45
Ort=Am Arsch der Welt links
Im OnSelect deiner ComboBox könntest dann das machen:
Delphi-Quellcode:
uses
  ..., Inifiles;

var
  S: String;
  StringList_Name: TStringList;
  IniFile: TIniFile;
  Alter: String;
  Ort: String;

begin
  //Inifile erzeugen
  IniFile := TIniFile.Create('c:\namen.ini');

  //StringList erzeugen
  StringList_Name := TStringList.Create;

  try
    //Nachname aus ComboBox auslesen
    S := ComboBox1.Items.Strings[ComboBox1.ItemIndex];

    //es ginge auch
    //S := ComboBox1.Text;

    //Section auslesen
    IniFile.ReadSectionValues(S, StringList_Name);

    //StringList prüfen
    If StringList_Name.Count > 0 then
      begin
        //Section-Werte auslesen
        Alter := StringList.Values['Alter'];
        Ort := StringList.Values['Ort'];
      end;
  finally
    FreeAndNil(StringList_Name);
    FreeAndNil(IniFile);
  end;
end;
So könntest z. B. die Section "Huber" auslesen, wenn in der ComboBox "Huber" ausgewählt wurde.
Die in der Ini-Datei hinterlegten Werte für Alter und Ort würden dann in den Variablen "Alter" bzw. "Ort" stehen.

(Der Code müsste funktionieren, wenn ich mich jetzt nicht vertippt habe)

[Edit]
StringGrid-Prüfung eingebaut
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:19
Hi!

Nein, mein Gedanke war ein anderer. Du solltest ja bereits vorher die Einträge in der ComboBox stehen haben (z.B. im FormCreate geladen) und ComboBoxChange wird genau dann aufgerufen, wenn jemand einen Eintrag aus dieser ComboBox auswählt.
Das wäre der richtige Moment um dann ausgehend von dem gewählten Eintrag dann die anderen Daten wie ALter und Ort "nachzuladen"...

Ich hoffe, es ist nun etwas klarer, was ich meinte.


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#6

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:40
Kann ich denn irgentwie auf die namen in der Combobox zugreifen?

Sprich wie in ner TStringList?

Also z.b. Combobox.Value (name);

Und dann per schleife.

Also wenn z.b.
if
Combobox.Value (name) = cbname
then

schreib die daten aus der .ini in die Editfelder.




Ich gehe mal davon aus das der Code "Combobox.Value (name)" natürlich total falsch ist.

Aber das ist ja die frage, wie der Code lauten muss.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.304 Beiträge
 
Delphi XE2 Professional
 
#7

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 22:44
Wenn du meinen Code oben liest, dann siehst du wie man aus einer comboBox den Text (Namen) des ausgewählten Items ausliest
und wie man in der Ini-Datei danach sucht
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#8

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 23:44
Gut dann hab ich noch ein paar fragen zu deinem code:

z.b. das hier:

Delphi-Quellcode:
 try
    //Nachname aus ComboBox auslesen
    S := ComboBox1.Items.Strings[ComboBox1.ItemIndex];
Woher weiß er jetzt, welche Datei ich auswählen will.
Da steht ja nur ItemIndex und nicht was genaues. Das könnte ja doch jeder text in der Combobox sein.


Und die Sectionen auslesen sind auch gnaz anders als ich es kenne.

Dein Code:

IniFile.ReadSectionValues(S, StringList_Name);
Und mein code:

Delphi-Quellcode:
ini := TIniFile.Create('c:\MeineIni.ini');
// INI-Datei und initialisieren
try
var1 := ini.ReadString('Sektion1', 'Eigenschaft1', '');

Und das hier verstehe ich auch nicht:

Delphi-Quellcode:
        //Section-Werte auslesen
        Alter := StringList.Values['Alter'];
        Ort := StringList.Values['Ort'];


Da ist meine Methode doch viel besser oder nicht?

Hier der inhalt meiner .ini:

[Sektion1]
Eigenschaft1=test1
Eigenschaft2=beispiel1
Eigenschaft3=bla1
Eigenschaft4=http://www.bla1.de

[Sektion2]
Eigenschaft1=test2
Eigenschaft2=beispiel2
Eigenschaft3=bla2
Eigenschaft4=http://www.bla2.de


Wenn ich jetzt was aufrufn möchte, mach ich das einfach mit dem Code, den ich oben genannt habe.


Aber danke schonmal
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.804 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: ComboBox auswählen + Daten anzeigen

  Alt 5. Jan 2009, 23:50
Zitat:
Da steht ja nur ItemIndex und nicht was genaues. Das könnte ja doch jeder text in der Combobox sein.
ItemIndex ist der Index des ausgewählten Eintrags
Zitat:
IniFile.ReadSectionValues(S, StringList_Name);
Liest alle Werte eines Abschnitts auf einen Rutsch
Zitat:
Alter := StringList.Values['Alter'];
Ermittelt den Wert der Eigenschaft Alter aus der Stringlsite, in der die Wertepaare eines Abschnitts geladen wurden
Markus Kinzler
  Mit Zitat antworten Zitat
SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#10

Re: ComboBox auswählen + Daten anzeigen

  Alt 6. Jan 2009, 00:04
Ok und wofür macht er noch die überprüfung

If StringList_Name.Count > 0 then ?


Wenn er die StringList doch gerade erst erstellt, muss sie doch leer sein, oder warum macht er das?
  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:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf