Delphi-PRAXiS

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

alefor19 13. Apr 2007 18:07

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Ja wieder mal n blöder Tipfehler aber auch wenn ich den eintrag Edit1.Text:=IntToStr; weg lasse zeigt er mir undefinierter bezeichner Edit1

alefor19 13. Apr 2007 19:01

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
So ha das böse Edit bezeichner fehlt problem gelöst irgendwie hatte da wohl delpi einen schlag weg habs noch mal neu eingeben und es klapp jetzt.
Nächste frage wäre Noch ob einer ne idee mir Speichern hat gibt zwar die möglichkeit die daten in was anderes hineinzuimportieren oder die Listview als html zu speicher aber geht das auch mit nem Quickreport wäre mir lieber da manche Datesätze ziemlich ausschweifen können.

Mackhack 13. Apr 2007 20:35

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Der Quickreport ist doch dazu da um deine Daten auszugeben, nicht zu speichern. Könntest ja auch xml nutzen!

alefor19 13. Apr 2007 21:01

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Möchte mit dem Quickreport eine anstandige Grubdlage zum drucken haben

Jelly 13. Apr 2007 22:52

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Zitat:

Zitat von alefor19
So ha das böse Edit bezeichner fehlt problem gelöst irgendwie hatte da wohl delpi einen schlag weg habs noch mal neu eingeben und es klapp jetzt.
Nächste frage wäre Noch ob einer ne idee mir Speichern hat gibt zwar die möglichkeit die daten in was anderes hineinzuimportieren oder die Listview als html zu speicher aber geht das auch mit nem Quickreport wäre mir lieber da manche Datesätze ziemlich ausschweifen können.

Sag mal, schon mal was von Gross- und Kleinschreibung, von zusammenhängenden Sätzen und Satzzeichen gehört. Das ist ja eine echte Zumutung, das zu lesen.
Du erwartest hier Hilfestellung, dann geb Dir bitte etwas mehr Mühe.

alefor19 13. Apr 2007 23:10

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Sorry aber bin Attestierter Legasteniger und froh das ich überhaupz schreiben kann und für Vollidioten Schaut nach was das ist dafür gibts ja wikipedia. :firejump:

Dunkel 14. Apr 2007 01:30

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Ja, vollste Zustimmung... :roll:

Ich verstehe zwar was Du meinst (um zig-Ecken denken ist manchmal eine wahre Kunst), aber ein wenig mehr deutsch-like Syntax wäre angebracht...

btw.
Quer-Link

alefor19 14. Apr 2007 22:28

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
So bis jetzt hat alles geklappt vielen dank nochmal Habe nur noch problem habe jetzt einenen Quickreport erstellt und das ein wenig hübschgemacht aber wie bekomm ich das hin das die daten aus der Listview dort angezeigt werden weiß absolut nicht wie man das macht ist ja keine Datenbank....
Weiß da zufällig einer rat??

Mackhack 14. Apr 2007 22:33

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Schon mal dran gedacht das ganze fuers Drucken selbst zu implementieren? Das ganze ist nicht all zu viel Arbeit!

alefor19 14. Apr 2007 22:42

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Naja sollte aber Optisch was hermachen das mit dem drucken ist dann nur der Bonus deswegen ja auch der Quickreport

Mackhack 14. Apr 2007 22:44

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Fuer was denn sonst das QR wenns nicht fuers Drucken ist?

alefor19 14. Apr 2007 22:52

Re: ListView Komponente mit leben erfüllen und Bearbeiten
 
Der wurde Gewünscht damit man sich die Daten Schön anschauen kann ich habs mir nicht ausgesucht bin bloß der Ackergaul für andere Klar damit schlag ich dann gleich zwei Fliegen mit einer Klappe Nett anschauen und Drucken ganz einfach ist mir schon klar das das die Hauptaufgabe ist von QuickReport, drucken.
Aber erstmal müssen die daten ins Formular irgendwie...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:42 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