Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView Komponente mit leben erfüllen und Bearbeiten (https://www.delphipraxis.net/90225-listview-komponente-mit-leben-erfuellen-und-bearbeiten.html)

alefor19 13. Apr 2007 15:30


ListView Komponente mit leben erfüllen und Bearbeiten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
erstens ich kenne die F1 taste hat aber nichts gebracht, bin verzweifeld und ratlos und ein n00b aber das macht nicht nun zum Problem.
Ich habe ein Listview, 9Editfelder eine MemoKomponente.
Die Listview ist in 10 Spalten geteilt (für jedes der edit und memo komponenten eine) und ich muss irgendwie Die Daten (Texte) aus den Komponenten an die Listview übergben mit einem klick auf Knöpfchen und das will nich gehen weiß nicht wie ich das anstellen soll.
Zum schluss solls so was wie ne Datenbank für arme sein ich kann also mehrere Datensatze(bestenend aus 10 einträgen) in die listview übergeben. und das Problem was sich diesem anschließt ist Wenn ich eine Zeile makiere sollen die Daten brav wieder in den Edit komponenten angezeigt werden damit man sie gegebennenfals nochmal ändern kann.
ICH BRAUCHE HILFE oder ist mir hier nicht mehr zu helfen ???
Bitte schnellstmöglich :-)
Vielen Dank schon mal im voraus

Jelly 13. Apr 2007 15:53

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Herzlich Willkommen hier im Forum,

bevor dir hier allerdings einer helfen wird, sollte schon etwas an Eigeninitiative deinerseits einlaufen. Im Anhang liegt lediglich die Maske deines Programms, ohne jedliche Codeumsetzung, die mit deinem Problem zu tun. Du kannst nicht erwarten, dass dir hier einer für dich das Programm vervollständigt.

Schreib doch mal, was du bis jetzt probiert hast, deine Listeneinträge auszulesen, zu befüllen usw. Such mal die Onlinehilfe nach TListView oder TListItems und TListItem. Das sollte dann schon mal weiterhelfen. Danach kannst du dann konkret deine Fragen stellen.

DP-Maintenance 13. Apr 2007 16:15

DP-Maintenance
 
Dieses Thema wurde von "Jelly" von "Object-Pascal / Delphi-Language" nach "Library: VCL / WinForms / Controls" verschoben.

DP-Maintenance 13. Apr 2007 16:20

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Library: VCL / WinForms / Controls" nach "VCL / WinForms / Controls" verschoben.
In die Code-Library gehört das aber nicht, da hast du dich wohl verklickt. ;)

alefor19 13. Apr 2007 17:30

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
So habe hier mal weiter gemacht nach freundlicher hilfe aber es steckt noch der wurm drin er fänt nicht an die einträge in der ersten spalte zu beschreiben sondern erst in der 2 und die Rückfuührung in die Edit Komponente geht nicht er sagt immer wieder Bezeichner falsch
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject); //Schließt Programm
begin
close;
end;

procedure TForm1.BitBtn5Click(Sender: TObject); //Löscht die Gesamte ListView
begin
Listview1.Clear;
end;

procedure TForm1.BitBtn3Click(Sender: TObject); //Löscht makierten eintrag
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count -1 do
    if ListView1.Items[i].Selected then
      ListView1.Items.Delete(i);
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var listitem:Tlistitem;
begin
ListItem:=TlistItem.Create(ListView1.Items);
ListItem.Caption:='Semi';
ListItem.SubItems.Add(Edit1.Text);
ListItem.SubItems.Add(Edit2.Text);
ListItem.SubItems.Add(Edit3.Text);
ListItem.SubItems.Add(Edit4.Text);
ListItem.SubItems.Add(Edit5.Text);
ListItem.SubItems.Add(Edit6.Text);
ListItem.SubItems.Add(Edit7.Text);
ListItem.SubItems.Add(Edit8.Text);
ListItem.SubItems.Add(Edit9.Text);
ListItem.SubItems.Add(Edit10.Text);
ListItem.SubItems.Add(Memo1.Text);
ListView1.Items.AddItem(ListItem);
end;

//Procedure ListView1SelectItem(Sender: Tobject; Item: TListItem;
//      Selected: Boolean);
//begin                                 //Überträgt die Strings in den Editfeldern
//with Item do                          //In die Listview
// begin
//  Edit1.Text:=IntToString;
//  Edit1.Text:=SubItems.Strings[0];
//  Edit2.Text:=SubItems.Strings[1];
// Edit3.Text:=SubItems.Strings[2];
//  Edit4.Text:=SubItems.Strings[3];
//  Edit5.Text:=SubItems.Strings[4];
//  Edit6.Text:=SubItems.Strings[5];
//  Edit7.Text:=SubItems.Strings[6];
//  Edit8.Text:=SubItems.Strings[7];
//  Edit9.Text:=SubItems.Strings[8];
//  Edit10.Text:=SubItems.Strings[10];
//  Memo1.Text:=SubItems:Strings[11];
// end;

procedure TForm1.BitBtn4Click(Sender: TObject);
begin
with ListView1.ItemFocused do    //Bringt bei makrierung Die SubItems in die
 begin                           //Edit Felder zum Bearbeiten
  SubItems[0]:=Edit1.Text;
  SubItems[1]:=Edit2.Text;
  SubItems[2]:=Edit3.Text;
  SubItems[3]:=Edit4.Text;
  SubItems[4]:=Edit5.Text;
  SubItems[5]:=Edit6.Text;
  SubItems[6]:=Edit7.Text;
  SubItems[7]:=Edit8.Text;
  SubItems[8]:=Edit9.Text;
  SubItems[9]:=Edit10.Text;
  SubItems[10]:=Memo1.Text;
  end;
 end;

procedure TForm1.FormCreate(Sender: TObject);//Lehrt zum Programmstart alle
begin                                       //Beschreibbaren Komponenten
Edit1.Text:='';                             //Zur Vorsicht
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
Edit8.Text:='';
Edit9.Text:='';
Edit10.Text:='';
Memo1.Text:='';
end;

end.

CCRDude 13. Apr 2007 17:34

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Er sagt nicht zufällig bei diesem Tippfehler hier, daß der Bezeichner falsch ist?
Delphi-Quellcode:
Memo1.Text:=SubItems:Strings[11];
Außerdem solltest Du schon auf das Selected achten, sonst würde auch beim Entwählen kopiert...

alefor19 13. Apr 2007 17:56

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
So weit kommt er nicht fängt schon bei Edit1.Text an.

Wieso ist der Memo Bezeichner etwa auch falsch ?? wie kann man das denn machen?

Matze 13. Apr 2007 17:57

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Du hast ausversehen einen ':' statt einen '.' geschrieben, das meinte CCRDude.

Das hier

Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject); //Löscht makierten eintrag
var i:Integer;
begin
  for i := 0 to ListView1.Items.Count -1 do
    if ListView1.Items[i].Selected then
      ListView1.Items.Delete(i);
end;
wird nicht klappen, da du die Einträge beim Durchlauf entfernst und du die Schleife so verkürzen müsstet, da diese zu weit laufen würde (eine Exception wäre die Folge). Nimm lieber

Delphi-Quellcode:
ListView1.DeleteSelected;
Edit:
Wenn ich es richtig in Erinnerung habe, ist das hier

Delphi-Quellcode:
ListItem:=TlistItem.Create(ListView1.Items);
nicht richtig und sollte so aussehen

Delphi-Quellcode:
ListItem := ListView1.Items.Add;

CCRDude 13. Apr 2007 18:03

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Naja, warum scheitert er wohl bei Edit1?
Delphi-Quellcode:
Edit1.Text:=IntToString;
Ich sehe nirgendwo ein IntToString, und kenne nur ein IntToStr, das aber einen Parameter braucht...

PS: zu dem anderen... statt Schleifer verkürzen würde auch Schleife rückwärts durchlaufen gehen (for i := Pred(ListView1.Items.Count) downto 0 do), aber DeleteSelected kannte ich noch gar nicht, muss ich mir mal merken :)

alefor19 13. Apr 2007 18:05

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Danke für den hinweis mit dem Löschen vom ausgewählten und dem Doppelpunkt verschreiben
aber er ringt bei
Delphi-Quellcode:
Procedure ListView1SelectItem(Sender: Tobject; Item: TListItem;
      Selected: Boolean);
begin                                 //Überträgt die Strings in den Editfeldern
with Item do                          //In die Listview
 begin
  Edit1.Text:=IntToString;
  Edit1.Text:=SubItems.Strings[0];
  Edit2.Text:=SubItems.Strings[1];
  Edit3.Text:=SubItems.Strings[2];
  Edit4.Text:=SubItems.Strings[3];
  Edit5.Text:=SubItems.Strings[4];
  Edit6.Text:=SubItems.Strings[5];
  Edit7.Text:=SubItems.Strings[6];
  Edit8.Text:=SubItems.Strings[7];
  Edit9.Text:=SubItems.Strings[8];
  Edit10.Text:=SubItems.Strings[10];
  Memo1.Text:=SubItems.Strings[11];
 end;

[Fehler] Unit1.pas(112): Undefinierter Bezeichner: 'Edit1'
und das vertseh ich irgendwie nicht


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:48 Uhr.
Seite 1 von 3  1 23      

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