AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi TListview alle Einträge in einem TMemo einlesen?
Thema durchsuchen
Ansicht
Themen-Optionen

TListview alle Einträge in einem TMemo einlesen?

Ein Thema von smart · begonnen am 20. Jul 2007 · letzter Beitrag vom 21. Jul 2007
Antwort Antwort
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#1

TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 13:51
Hallo Alle.

Wie kann ich aus einem TListview alle Einträge in einem TMemo einlesen?

Gruß
Heike
Heike Kretschmann
Viele Grüße aus Bochum

kaum denkt man alles ist fertig, da fängt man wieder von Vorn an.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 13:54
Mit einer For-Schleife

Delphi-Quellcode:
 for i := 0 to ListView.Items.Count do
 begin
   str := ListView.Items[i];
   for j := 0 to ListView.Items[j].SubItems.Count - 1 do
     str := str + ' ' + ListView.Items[j].SubItems[j]
Den rest solltest du mit 1011 Beiträgen schon hinbekommen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 13:56
Zitat von Bernhard Geyer:
Den rest solltest du mit 1011 Beiträgen schon hinbekommen.
Eine gewagte Aussage, ich werfe mal den Nick Taktaky in den Raum
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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 15:44
Zitat von DeddyH:
Zitat von Bernhard Geyer:
Den rest solltest du mit 1011 Beiträgen schon hinbekommen.
Eine gewagte Aussage, ich werfe mal den Nick Taktaky in den Raum
Groschen gefallen. Man surft ja nicht alleine fremd
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#5

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 16:38
Zitat von Bernhard Geyer:
Mit einer For-Schleife

Delphi-Quellcode:
 for i := 0 to ListView.Items.Count do
 begin
   str := ListView.Items[i];
   for j := 0 to ListView.Items[j].SubItems.Count - 1 do
     str := str + ' ' + ListView.Items[j].SubItems[j]
Den rest solltest du mit 1011 Beiträgen schon hinbekommen.
Hallo Bernhard!

Vielen Dank, klappt aber leider nicht. So ähnlich hatte ich es auch schon versucht, das Memo bleib auch leer.
Delphi-Quellcode:
Var
t, j :Integer;
begin
  if SaveDialog1.Execute then
  begin
    for t := 0 to ListView1.Items.Count - 1 do
      Memo1.Lines.Add(ListView1.Items[t].Caption);
    for j := 0 to ListView1.Items[j].SubItems.Count - 1 do
     Memo1.Lines.Add(ListView1.Items[j].SubItems[j]);
  end;
Deswegen auch die "dumme" Frage von mir.

Gruß
Heike
Heike Kretschmann
Viele Grüße aus Bochum

kaum denkt man alles ist fertig, da fängt man wieder von Vorn an.
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#6

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 16:50
Zitat von smart:
Vielen Dank, klappt aber leider nicht. So ähnlich hatte ich es auch schon versucht, das Memo bleib auch leer.
Delphi-Quellcode:
    for j := 0 to ListView1.Items[j].SubItems.Count - 1 do
     Memo1.Lines.Add(ListView1.Items[j].SubItems[j]);
ziemlich gefährlich...du erhöhst j bis zu subitems.count von item j, d.h. du fügst subitem1 von item 1 hinzu, subitem2 von item 2 usw....
was passiert, wenn mehr subitems als items vorhanden sind?

ich denke mal, du willst es in etwa so machen:

Delphi-Quellcode:
for k:=0 to Listview1.items.count-1 do
begin
  Memo1.lines.add(listview1.Items[k].caption);
  for j:=0 to listview1.Items[k].subitems.count-1 do
  begin
    Memo1.Lines.add(' '+listview1.Items[k].subitems[j]);
  end;
end;
Gruß Frank
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 20. Jul 2007, 18:00
Hallo Heike,

Zitat von smart:
Wie kann ich aus einem TListview alle Einträge in einem TMemo einlesen?
da gibt es zwei grundsätzliche Wege:

(1) Jedes Item wird auf genau eine Line abgebildet (delimited text format, CSV) oder
(2) jedes Subitem wird auf genau eine Zeile abgebildet und zu jedem Item gibt es eine Trennzeile (name-value format, INI, LDIF).

Für CSV hatte ich bereits früher eine Demo bereit gestellt. Hier eine Routine zur Erzeugung von name-value pairs:

Delphi-Quellcode:
procedure SaveItems(items: TListItems; lines: TStrings;
    const nameValueSeparator: string = '');
var
  i, iSub: Integer;
  item: TListItem;
  s: string;
begin
  lines.BeginUpdate;
  lines.Clear;
  for i := 0 to Pred(items.Count) do
  begin
    item := Items[i];
    for iSub := 0 to item.SubItems.Count do
    begin
      if nameValueSeparator = ''
        then s := ''
        else s := item.ListView.Column[iSub].Caption + nameValueSeparator;
      if iSub = 0
        then s := s + item.Caption
        else s := s + item.SubItems[Pred(iSub)];
      lines.Add(s);
    end;
    lines.Add('');
  end;
  lines.EndUpdate;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von smart
smart

Registriert seit: 19. Dez 2004
Ort: Bochum
1.266 Beiträge
 
Delphi 2007 Professional
 
#8

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 21. Jul 2007, 08:52
Zitat von marabu:
Hallo Heike,

Zitat von smart:
Wie kann ich aus einem TListview alle Einträge in einem TMemo einlesen?
da gibt es zwei grundsätzliche Wege:

(1) Jedes Item wird auf genau eine Line abgebildet (delimited text format, CSV) oder
(2) jedes Subitem wird auf genau eine Zeile abgebildet und zu jedem Item gibt es eine Trennzeile (name-value format, INI, LDIF).

Für CSV hatte ich bereits früher eine Demo bereit gestellt. Hier eine Routine zur Erzeugung von name-value pairs:

Delphi-Quellcode:
procedure SaveItems(items: TListItems; lines: TStrings;
    const nameValueSeparator: string = '');
var
  i, iSub: Integer;
  item: TListItem;
  s: string;
begin
  lines.BeginUpdate;
  lines.Clear;
  for i := 0 to Pred(items.Count) do
  begin
    item := Items[i];
    for iSub := 0 to item.SubItems.Count do
    begin
      if nameValueSeparator = ''
        then s := ''
        else s := item.ListView.Column[iSub].Caption + nameValueSeparator;
      if iSub = 0
        then s := s + item.Caption
        else s := s + item.SubItems[Pred(iSub)];
      lines.Add(s);
    end;
    lines.Add('');
  end;
  lines.EndUpdate;
end;
Freundliche Grüße
Hi marabu!

Vielen Dank. Wie rufst Due es auf? Ich habe es versucht, aber das Memo wird immer noch nicht gefüllt.

Gruß
Heike
Heike Kretschmann
Viele Grüße aus Bochum

kaum denkt man alles ist fertig, da fängt man wieder von Vorn an.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: TListview alle Einträge in einem TMemo einlesen?

  Alt 21. Jul 2007, 09:51
Moin Heike,

aufrufen kannst du es so:

Delphi-Quellcode:
SaveItems(ListView.Items, Memo.Lines);
// Test:
ShowMessage(Memo.Text);
Freundliche Grüße
  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 10:26 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