AGB  ·  Datenschutz  ·  Impressum  







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

Tlistview.Data verwenden

Ein Thema von Preddy2005 · begonnen am 16. Sep 2006 · letzter Beitrag vom 17. Sep 2006
Antwort Antwort
Preddy2005

Registriert seit: 27. Nov 2005
Ort: Mettmann
38 Beiträge
 
#1

Tlistview.Data verwenden

  Alt 16. Sep 2006, 18:07
Hallo!

Ich finde einfach nichts brauchbares im Internet und in den Foren zu dem Thema, deswegem frage ich einfach mal hier nach.
Habe das alte Problem dank euch ebenfalls lösen können, nachdem ich ein wenig nochmal alles überflogen habe und ein paar Tutorials und Bücher mir angeguckt habe.

Zu dem Problem :

Delphi-Quellcode:

   for i := 0 to FBenutzerliste_Laden.Count-1 do // Für die Benutzerlisteneinträge
    begin
     Trenner := pos(',',FBenutzerliste_Laden.Strings[i]); // Trennzeichen ermitteln zwischne Benutzername und Benutzernummer
     FBenutzerliste_Eintrag := Benutzerlistview.Items.Add; // Eintrag für den Listview erzeugen
     FBenutzerliste_Eintrag.Caption := copy(FBenutzerliste_Laden.Strings[i],1,Trenner-1); // Weist dem Eintrag den Benutzernamen zu
     Self := Self.Create; // Neues Klassenobjekt erstellen
     FBenutzername := copy(FBenutzerliste_Laden.Strings[i],1,Trenner-1); // Benutzernamen in die Variable kopieren
     FBenutzerNummer := StrToInt(copy(FBenutzerliste_Laden.Strings[i],Trenner+1,4)); // UIN kopieren
     FBenutzerFenster_Offen := 0; // Benutzerfenster ist am Anfang stets geschlossen
     FBenutzerInfoFenster_Offen := 0; // Benutzerinfofenster ebenfalls
     Benutzerlistview.Items.Item[i].Data := Self; // Den Datenzeiger setzen
    end;
Es wird zur Laufzeit von jedem Listitem ein Objekt angelegt, das den Benutzernamen, Benutzernummer, usw. enthält.

Dies funktioniert alles soweit. Nur beim abspeichern bräuchte ich ein wenig Hilfe.

Delphi-Quellcode:
 for i := 0 to Benutzerlistview.Items.Count -1 do // Benutzerliste hinzufügen
  begin
       Benutzerlistview.Items.Item.Data; // Wie verwende ich die Data Eigenschaft
  end;
Ich will die Einträge in eine Stringliste schreiben und diese dann via Stream senden.

Stream senden ist kein Problem , aber wie komme ich über Data an die Klassenfelder ran???

Hoffe mir kann jemand bei dem Problem helfen.

Danke im voraus

Matthias
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Tlistview.Data verwenden

  Alt 16. Sep 2006, 18:19
Eintragen:

Delphi-Quellcode:
var
  UserData: TUserData;
begin
  UserData := TUserData.Create;
  UserData.Name := 'irgendwas'
  {...}

  with ListView.Items.Add(nil, '') do
  begin
    Text := 'hallo';
    Data := Pointer(UserData);
  end;
end;
Auslesen
Delphi-Quellcode:
begin
  with TUserData(ListView.Items[0].Data) do
  begin
    ShowMessage(Name);
  end;
end;
Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Tlistview.Data verwenden

  Alt 16. Sep 2006, 18:31
Da du weißt welcher Typ sich hinter Data verbirgt musst du einfach nur casten. Ein Cast kann wie folgt aussehen
TDeineKlasse(ZumBeispielDeinData).MethodenVariablenEtcVonTDeineKlasse der eigentliche Cast ist dabei
TDeineKlasse(ZumBeispielDeinData); es geht also auch so:
Delphi-Quellcode:
var UserData: TUserData;
begin
  UserData := TUserData(Benutzerlistview.Items.Item[x].Data);
  //Do anything with UserData
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Preddy2005

Registriert seit: 27. Nov 2005
Ort: Mettmann
38 Beiträge
 
#4

Re: Tlistview.Data verwenden

  Alt 17. Sep 2006, 14:59
Vielen Dank für die schnelle und kompetente Hilfe. Funktioniert wunderbar.

Gruß Preddy
  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 07:02 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