AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TObjectlist Problem mit index

Ein Thema von khh · begonnen am 20. Dez 2008 · letzter Beitrag vom 20. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2   
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:16
Hallo zusammen,
ich habe eine

Tanredenlist vom Type TObjectlist.

bei der Anredenliste handelt es sich um eine kleine Liste, ich möchte das Prinzip aber auch für andere, grössere Listen und Objekte nutzen.

In einer Schleife im constructor der Liste lese ich die Objekte ein:

Fanreden := Tanreden.create(NIL);
self.add(Fanreden);

Fanreden beinhaltet id, bezeichnung , usw.
wenn ich ( zum test)in der schleife auf die Objekte zugreife funktioniert das wunderbar:

ShowMessage(Tanreden(self.items[i]).Bezeichnung);

jetzt möchte ich eine Instanz der Tanredenliste an eine Combobox übergeben:
also erzeuge ich :

Delphi-Quellcode:
 Fanredenlist := Tanredenlist.create(NIL);
  for i:=0 to Fanredenlist.count-1 do
begin
   myForm.AnredeCombobox.Items.AddObject(Tanreden(Fanredenlist.items[i]).Bezeichnung, Tanreden(Fanredenlist.items[i]));
end;
Leider bekomme ich so nur die Bbezeichnung des letzten Satzes in die Combobox, und das 'count-mal'

was mache ich falsch ?

danke Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:22
Wenn TAnredenlist wirklich vom Typ TObjectlist ist, hat der Constructor einen Boolean-Parameter namens OwnsObjects und keinen TObject-Parameter. Vielleicht zeigst Du uns mal den ganzen Constructor, dann kann man evtl. eher etwas erkennen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#3

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:31
Delphi-Quellcode:

constructor Tanredenlist.Create(AOwner:TPersistent);
 var
 anzds , i: integer;

 begin
   inherited Create;
  // Fanreden ist vom Typ Tanreden = class(TPersistent)
     Fanreden := Tanreden.create(NIL);
    // in Fanreden.anzds stehen die anzahl der ds in der DB
     anzds := Fanreden.anzds;
     for i:= 0 to anzds -1 do
     begin
     Fanreden.anreden_id := i +1 ;
    // liest die ds aus der db und übergibt sie dem Object Fanreden
     Fanreden.DSlesen ;
     self.add(Fanreden);
  
   // ShowMessage(Tanreden(self.items[i]).Bezeichnung);
     end;
   end;
EDIT:
Type
Tanredenlist = class(TObjectList)
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:33
Du erzeugst ja auch nur ein einziges Objekt FAnreden und überschreibst das immer wieder.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:35
Zitat von DeddyH:
Du erzeugst ja auch nur ein einziges Objekt FAnreden und überschreibst das immer wieder.
ach sooo

ich dachte ich kann über einen index daruf zugreifen

das heisst ich muss in der schleife mehrere objecte erzeugen?
wie ist danndie syntax?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:41
Hier einmal ein Auszug aus meinem aktuellen Projekt (ich hoffe, da ist mir jemand jetzt nicht böse ):
Delphi-Quellcode:
  with TFBLParamDsql.Create(nil) do
    try
      //...
      SQL.Text := Format(sSQL,[FTablename]);
      ExecSQL;
      while not eof do
        begin
          ASalutation := TSalutation.CreateNew(FDatabase);
          ASalutation.FID := FieldByNameAsInteger('ID');
          ASalutation.FTitle := FieldByNameAsString('Bezeichnung');
          self.Add(ASalutation);
          Next;
        end;
      Close;
    finally
      Transaction.Commit;
      Free;
    end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#7

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:44
ich danke dir

Gruss Kh
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#8

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:49
trotzdem nochmal ne frage:
so:
self.Add(ASalutation); oder eben so:
self.add(Fanreden);

haben dann ja alle objekte den gleichen namen.

wie sieht dann die syntax aus, wenn ich die Objekte in der Instanz an die Combobox übergeben möchte ?

EDIT: ok die systax wie ich sie in der Instanz habe passt.
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#9

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:55
dann muss ich ja auch irgendwie wieder an die id des in der Box ausgewählten Eintrags kommen.

geht das irgendwie einfacher?
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.533 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: TObjectlist Problem mit index

  Alt 20. Dez 2008, 10:57
Du hast jetzt alle Objekte in der ComboBox, oder? An das entsprechende Objekt kommst Du doch dann über den ItemIndex der ComboBox.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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 12:57 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