AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList-Objekte auslesen

Ein Thema von Taladan · begonnen am 24. Aug 2003 · letzter Beitrag vom 30. Aug 2003
Antwort Antwort
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

TStringList-Objekte auslesen

  Alt 24. Aug 2003, 21:02
Ich fülle eine Stringliste mit folgenden unten angegeben code. also nicht direkt mit strings sondern mit objekten. was ja laut OH geht. Doch wie frag ich nun die einzelnen werte der objekte ab? Wie erhalte ich jetzt aus dem Wert 1 (Der zweite in der liste) den Namen Katze?

Delphi-Quellcode:
type
  ORasse = class(TObject)
  public
    Name : String[40];
    ID : Integer;
  end;

var
  Rassenliste : TStringList;

procedure TSchritt2.RassenErstellen;
var Rasse : ORasse;
begin
    Rassenliste := TStringList.create;
    Rasse := ORasse.create;

    Rasse.Name := 'Hunde';
    Rasse.ID := 0;
    Rassenliste.addobject(inttostr(Rasse.id), Rasse);

    Rasse := ORasse.create;
    Rasse.Name := 'Katzen';
    Rasse.ID := 1;
    Rassenliste.addobject(inttostr(Rasse.id), Rasse);

    Rasse := ORasse.create;
    Rasse.Name := 'Vögel';
    Rasse.ID := 2;
    Rassenliste.addobject(inttostr(Rasse.id), Rasse);
end;
   showmessage (rassenliste[1].rasse) //???? so zumindest nicht.
Marco
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TStringList-Objekte auslesen

  Alt 24. Aug 2003, 21:09
Moin Taladan,

auslesen kannst Du das zugewiesene Objekt über die Eigenschaft Objects der StringListe.
Was mir allerdings nicht so recht klar ist:
Warum benutzt Du eine StringListe, und nicht einfach ein Array Deines Datentyps?
Warum nimmst Du ein Object, statt eines Records (so wie's im Moment aussieht reicht der völlig)?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#3

Re: TStringList-Objekte auslesen

  Alt 24. Aug 2003, 21:36
Es sind NOCH wenig Werte, steigen aber gewaltig an.
Zudem ich ein Array nicht per Stream in eine Datei packen kann. Was erst später integriert wird, wenn ich den Code stehen hab. Ich versuche die einzelnen Dateien, vor allem die Exe möglichst klein zu halten. Zudem das Programm als Modulsystem aufgebaut wird. Dementsprechend werden die Hund und Katze im Basismodul sein, und Maus und Elefant in Zusatzmodulen.

Auf Objects kam ich auch schon, wie sieht den der Code aus. Ich doktere schon länger daran rum und es klappt irgendwie nicht.
Marco
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: TStringList-Objekte auslesen

  Alt 24. Aug 2003, 21:57
Moin Taladan,

ich denke mal so:

showmessage((rassenliste.Objects[1] as ORasse).rasse); Übrigens ist es Konvention (wenn natürlich nicht zwingend vorgeschrieben), dass Typdeklarationen mit einem T beginnen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#5

Re: TStringList-Objekte auslesen

  Alt 24. Aug 2003, 22:04
Fast richtig, aber dankäää.

Delphi-Quellcode:
     
listbox1.items.add((rassenliste.Objects[1] as ORasse).name);
Marco
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#6

Re: TStringList-Objekte auslesen

  Alt 24. Aug 2003, 22:51
Sehr schönes kleines Beispiel für OOP.

Wer braucht schon Records und Arrays, man kann alles mit Objekten lösen

In Verbindung mit der Eigenschaft 'Sorted' kannst du auch sehr schnell die Liste nach ID sortieren lassen, die Objekte werden mit verschoben, falls eine Sortierung vorgenommen wurde

Einziger Vorteil von Records und Arrays sind unter Umständen weniger Speicherbedarf. Who cares?
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#7

Re: TStringList-Objekte auslesen

  Alt 25. Aug 2003, 10:54
Dann sag mir doch mal bidde, wie ich oben genanntes OOP - Fähig bekomme. Denn alles was ich man in vorarbeit für den PC geeignet abspeichern kann (insbesondere Sortierung), macht mir das Programm schneller. (Bei heutigen PC´s nicht unbedingt eine selbstverständliche Art zu programmieren *schaut sich Windoof an*)

[edit=Daniel B]Doppelpost gelöscht. Mfg, Daniel B[/edit]
Marco
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#8

Re: TStringList-Objekte auslesen

  Alt 30. Aug 2003, 17:20
Wie jetzt? Das ist OOP!
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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:45 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