Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Button.Click für Listview mal anders (https://www.delphipraxis.net/198597-button-click-fuer-listview-mal-anders.html)

Amenovis 16. Nov 2018 19:23

Button.Click für Listview mal anders
 
Ich kann im Quellcode einem Button ZB den Befehl geben einen anderen Button zu Clicken

Beispiel:

Delphi-Quellcode:
procedure TMainFRM.Button1Click(Sender: TObject);
Begin
Button2.Click;
End;
End.
Bei Listview hab ich das "OnClick" Ereigniss....dort kann ich zb das selbe mit dem Button 2 tun

Beispiel:
Delphi-Quellcode:
procedure TMainFRM.ListView1Click(Sender: TObject);
Begin
Button2.Click;
End;
End.
Meine Frage ist nun wie sage ich der Listview das er am Ende nochmal auf die Listview clicken soll um andere Werte zu aktualisieren?

Beispiel:
Delphi-Quellcode:
procedure TMainFRM.ListView1Click(Sender: TObject);
Begin
Listview1.Click; //Den Befehl kennt er nicht :( 
End;
End.

DieDolly 16. Nov 2018 19:33

AW: Button.Click für Listview mal anders
 
Vielleicht solltest du nochmal erklären was dein Ziel ist denn das erschließt sich mir nicht so ganz.

Amenovis 16. Nov 2018 19:42

AW: Button.Click für Listview mal anders
 
ok ich hab eine listview dort gebe ich arbeitsdaten an

Mitarbeiter x start 8 uhr ende 17 uhr gearbeitet 9Std
Mitarbeiter y start 8 uhr ende 17 uhr gearbeitet 9Std

Die Aktualisierung die gearbeiteten Stunden Rechnet und Aktualisiert er mir super schön in der Listview.

Nun hab ich unten Drunter ein EditFeld und jedesmal wenn ich auf die Listview clicke rechnet er mir zusammen wieviel alle Mitarbeiter zusammen an dem Tag gearbeitet haben

Sprich im Editfeld sollte nun 18 stehen
leider steht nur 9 std drin erst wenn ich manuel per maus nochmal auf die Listview clicke aktualisiert er das Edit Feld.

Daher der Gedanke wie ich das per Befehl realisieren könnte sprich am Ende des scripts click nochmal auf die Listview ... so wie er es zb auch mit button.Click macht

mhh hoffe es ist zu verstehen was ich meine


EDIT: Hab ne Idee vielleicht finde ich ja nen Befehl um die Letzte ID einfach nochmal zu selecten alla listview1.select.line where id=Editfeld1.text (Sinngemäss) mhh

DieDolly 16. Nov 2018 20:22

AW: Button.Click für Listview mal anders
 
Vergiss deine ganzen Befehle und Click-Zeugs. Das ist nix Halbes und nix Ganzes.
In der Programmierung ist es nun mal so, dass man nicht immer alles mit einer Zeile Code erledigt hat. Daran wird sich hoffentlich auch nie was ändern.

Du musst deine ListView Zeile für Zeile durchgehen und alles manuell ausrechnen. Wenn deine Daten von der GUI getrennt sind, wie man es normalerweise macht, ist es noch leichter.

Zu deinem EDIT.
In ganz frühen Kriegen wurden Krieger mit Stichen direkt in die Brust getötet.
Dein EDIT ist in etwa so, als ob man einem Krieger das Schwert in den Rücken sticht, es sich dann auf wundersame Art und Weise verbiegt und dann nochmal von vorne in die Brust sticht.
Kurz gesagt: lass es sein und mach es lieber richtig.

Amenovis 16. Nov 2018 20:36

AW: Button.Click für Listview mal anders
 
Lach och ich hab doch erst 1960 Zeilen ggggg und ich zeig euch das nicht ... Richtige Programmierer (was ich nun mal nicht bin) würden die Hände übern Kopf zusammen werfen hehehehehe. Und hätten meinen Kram wohl in 300 bis 500 Zeilen abgearbeitet aber hey eigentlich läufts...

Das eine Problem bekomme ich auch noch hin.. werde die Spalte wohl in die DB einfügen in der Listview nicht anzeigen und einfach via
Delphi-Quellcode:
RQuery1.SQL.Text:='Select SUM(WorkH) as blabla FROM Shift1';
RQuery1.Open;
Edit17.Text:=RQuery1.FieldByName('blabla').asString;
RQuery1.Close;
Einbetten... Dachte nur bei dem einen gibts das vielleicht bei dem anderen auch

Trotzdem vielen Dank für deine Zeit :)

Edit: Um etwas richtig zu tun muss man wissen wir es Richtig geht... ich Bin Froh wenn etwas Funktioniert :)

DieDolly 16. Nov 2018 20:43

AW: Button.Click für Listview mal anders
 
Dann nimm dir die paar Minuten oder Stunden und lerne immer mal wieder die Sachen richtig, die du gerade brauchst. Aber einfach wild irgendwelche .Click() auszuführen ist ganz schlecht.

- GUI von Daten trennen (lagere deine Daten in Klasseninstanzen aus und die dann alle in eine [generische] ObjectListe)
- iteriere durch die Klasseninstanzen statt durch die GUI
- Problem gelöst und sauberer Code ist es am Ende auch

KodeZwerg 16. Nov 2018 21:54

AW: Button.Click für Listview mal anders
 
Zitat:

Zitat von DieDolly (Beitrag 1418274)
Dann nimm dir die paar Minuten oder Stunden und lerne immer mal wieder die Sachen richtig, die du gerade brauchst. Aber einfach wild irgendwelche .Click() auszuführen ist ganz schlecht.

- GUI von Daten trennen (lagere deine Daten in Klasseninstanzen aus und die dann alle in eine [generische] ObjectListe)
- iteriere durch die Klasseninstanzen statt durch die GUI
- Problem gelöst und sauberer Code ist es am Ende auch

Das sollte man echt beherzen. Gut gesprochen DieDolly, ich ertappe mich auch immer wieder dabei :/

DieDolly 16. Nov 2018 22:14

AW: Button.Click für Listview mal anders
 
Ich muss gestehen, dass ich das früher auch nie gemacht habe. Aber als irgendwann Threading dazukam und ich immer Synchronize() brauchte, war der Vorteil Threads auch dahin.

Daten in Klassen und die Klassen in eine ObjectList auslagern hat enorme Vorteile beim Laden, Zugriff, Bearbeiten und Speichern. Ich möchte es nicht mehr missen. Lass es je nach Projekt 1 bis 10 Stunden Aufwand sein alles umzubauen. Aber es lohnt sich.

EWeiss 16. Nov 2018 22:49

AW: Button.Click für Listview mal anders
 
Zitat:

war der Vorteil Threads auch dahin.
Nun ja mitunter kommt man aber nicht dran vorbei.
Vor allem dann wenn du eine fremde Datei DLL oder was auch immer verwendest wo ein Thread Voraussetzung ist damit es überhaupt funktioniert.
Solange du nur innerhalb der eigenen Anwendung bleibst ist es nicht zwingend vorgeschrieben.

gruss

Amenovis 16. Nov 2018 23:28

AW: Button.Click für Listview mal anders
 
Wie Geil

Von den letzten 4 Postings hab ich zu 99,9% nichts verstanden wie gut das mein klein kram einfach nur funktionieren soll und ich kein neues Windows oder Photoshop programmieren muss :)


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