![]() |
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:
Bei Listview hab ich das "OnClick" Ereigniss....dort kann ich zb das selbe mit dem Button 2 tun
procedure TMainFRM.Button1Click(Sender: TObject);
Begin Button2.Click; End; End. Beispiel:
Delphi-Quellcode:
Meine Frage ist nun wie sage ich der Listview das er am Ende nochmal auf die Listview clicken soll um andere Werte zu aktualisieren?
procedure TMainFRM.ListView1Click(Sender: TObject);
Begin Button2.Click; End; End. Beispiel:
Delphi-Quellcode:
procedure TMainFRM.ListView1Click(Sender: TObject);
Begin Listview1.Click; //Den Befehl kennt er nicht :( End; End. |
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.
|
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 |
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. |
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:
Einbetten... Dachte nur bei dem einen gibts das vielleicht bei dem anderen auch
RQuery1.SQL.Text:='Select SUM(WorkH) as blabla FROM Shift1';
RQuery1.Open; Edit17.Text:=RQuery1.FieldByName('blabla').asString; RQuery1.Close; 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 :) |
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 |
AW: Button.Click für Listview mal anders
Zitat:
|
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. |
AW: Button.Click für Listview mal anders
Zitat:
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 |
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 :) |
AW: Button.Click für Listview mal anders
Das waren nur gut gemeinte Tipps. Das mit den Klassen und der Liste kann man in 1 bis 2 Stunden lernen. Der Nutzen davon für die Zukunft ist unbezahlbar und dein Kleinkram der jetzt schon Probleme macht und wo du dich rumtricksen musst wird dann sehr viel einfacher.
|
AW: Button.Click für Listview mal anders
Wenn Du Arbeitszeiten addieren willst, dann solltest Du das mit den entsprechenden Datensätzen tun.
Was Du vor hast, ist, aus Darstellung von Daten einen Teil zu extrahieren und zu addieren. Das ist ein wenig umständlich und fehleranfällig. Gruß K-H |
Dieses Thema wurde am "17. Nov 2018, 01:14 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "Algorithmen, Datenstrukturen und Klassendesign" verschoben.
|
AW: Button.Click für Listview mal anders
Zitat:
Der Vorteil, den der TE hoffentlich noch erkennt, ist am Ende: Wesentlich übersichtlicher und lesberer Code, wesentlich weniger logische Fehler, wesentlich einfacheres Debugging, wesentlich schnelleres Programmieren (die IDE nimmt einem ja hier viel ab), dank Shift-Strg-C ist auch so eine Klasse in Sekunden geschrieben, usw. Jeder, der zum ersten mal mit Klassen und Listen arbeitet, und vorher alles Spagettimäßig zusammengeklöppelt hat, erkennt sofort die Vorteile und fragt sich schnell, warum er/sie sich vorher immer so viel Arbeit gemacht hat. |
AW: Button.Click für Listview mal anders
Zitat:
Hier habe ich mal ein kleines Beispiel beschrieben, wie man Vokabeln verwalten kann. Nur setzen und auslesen. Vielleicht hilft das ja beim Verständnis. ![]() Im Prinzip ist es mit einer ListView am ende gleich. Man erstellt Klasseninstanzen von seiner Klassendeklaration, füllt sie mit Daten, fügt sie einer Liste hinzu. Am Ende ließt die ListView die Daten aus der Liste. |
AW: Button.Click für Listview mal anders
Zitat:
SCNR |
AW: Button.Click für Listview mal anders
Hallo,
als Anfänger würde ich das erst mal so machen.
Delphi-Quellcode:
Damit trennst Du erst mal die GUI (Button1.Click) vom Code (HandleButton1Click) beim Klicken.
type
TForm1 protected // hat Delphi bereits angelegt procedure Button1Click(Sender...); private procedure HandleButton1Click; // eigene Methode public published end; procedure TForm1.Button1Click(Sender...); begin HandleButton1Click; // eigene Methode end; procedure TForm1.Button2Click(Sender...); begin HandleButton2Click; // eigene Methode end; procedure TForm1.ListView1Click(Sender...); begin HandleListView1Click; end; procedure TFrm1.HandleButton1Click; begin // hier kommt Dein ganzer Code rein, der auf Button1-Click erfolgen soll end; Später kannst Du das HandleButton1Click so ändern, dass gar nicht mehr auf GUI-Elemente zugegriffen wird. |
AW: Button.Click für Listview mal anders
Zitat:
|
AW: Button.Click für Listview mal anders
Das ist halt Schulniveau. Da wird nichts erwartet außer, dass es funktioniert.
Leute wie Maverick oder Uwe sollten die als Lehrer haben. Dann gehts rund glaube ich. |
AW: Button.Click für Listview mal anders
Also langsam reicht es... Ich wende mich an euch weil ihr die Profis seit... Mein Leben besteht nicht nur aus Programmieren. Ich habe mich als kleiner Arbeiter hochgearbeitet das was ich hier gerade Versuche ist auch nicht für mich, es ist dafür es anderen Kollegen leichter zu machen.. Nebenbei hab ich eine Frau die Pflegegrad 2 ist und um die ich mich neben meiner Arbeit kümmer... Mein leben hat mit Sicherheit nichts mit Faulheit zu tun
Mir ist bewusst das es faule, vor allem aus dem Bereich der Schüler gibt die einfach ne Lösung wollen ohne zu Denken aber zu denen gehöre ich nicht und die Arroganz dieses einfach anzunehmen ohne mich auch nur einen Millimeter zu kennen ist armseelig ! Edit: Danke Hoika ich schau mir das am WE noch genau an und versuche es zu verstehen. |
AW: Button.Click für Listview mal anders
Zitat:
Ein Tipp von mir. Verbreite niemals dein Privatleben im Internet. |
AW: Button.Click für Listview mal anders
Mhh ist ok ich will nicht streiten.. Ich versuche halt mit meinen beschränkten Möglichkeiten etwas zu erreichen... meine wege etwas umzusetzen scheinen umständlich zu sein vielleicht 5 mal länger als eine kurze anweisung mit 2 oder 3 variablen aber sie gehen und meistens ist das auch vollkommen ausreichend :)
|
AW: Button.Click für Listview mal anders
Es tut mir leid falls das falsch verstanden worden ist. :oops:
Mit "Es gibt da welche die können oder wollen das nicht sehen." meinte ich nicht Dich Amenovis, sondern Kollegen die schon teilweise seit über 20 Jahren hauptberuflich Softwareentwicklung betreiben. |
AW: Button.Click für Listview mal anders
Hallöle...8-)
Zitat:
@Amenovis: Das fällt mal unter Mißverständnis. Sorry. :wink: Denn die DP ist ja bekannt dafür, das hier nicht üblich ist. :thumb: |
AW: Button.Click für Listview mal anders
Hallo,
Delphi-Quellcode:
Äh, nein, aus der Praxis.
erkennt sofort die Vorteile
"Kapselung" -> Dazu habe ich doch schon eine separate Unit. "Information Hiding" -> Wieso verstecken? "Vererbung" -> Dazu sage ich nichts. Was ich meine. Das sind alles Vorteile, die an einem prozedural Programmierenden aber erst mal möglichst an Beispielen erklären muss. |
AW: Button.Click für Listview mal anders
Zitat:
Natürlich sind nicht alle Prinzipien von Klassen/Objekte sofort verständlich. Was ich damit sagen wollte war, dass man durch die Code-Vervollständigung relativ schnell damit umgehen kann, bzw. die einfachen Grundlagen erkennen kann. Auch die Lesbarkeit des eigenen Codes wird plötzlich besser. Und diese Erkenntnis mach halt (manchmal) neugierig und eröffnet einem dann auch neue Möglichkeiten. Sicherlich muss man sich trotzdem noch weiteres Wissen anlesen und Begriffe verdeutlichen. Beispiele, die gut nachvollziehbar sind gibt es im Internet zu hauf -> ![]() Zitat:
Wenn du dein Auto wegen eines Lecks im Kühlerschlauch, welches du bereits mit Panzerband notdürftig geflickt hast, in die Fachwerkstatt bringst und den Meister fragst, was da besser tun kannst, weil es nicht ganz dicht ist, dann wird er dir wohl auch nur raten einen neuen Kühlerschlauch zu verbauten und nicht ein besseres Klebeband zu nehmen. Beim Einbau stellst du dann fest, dass dieser nicht so ganz trivial ist, denn du musst noch ein paar andere Dinge abhauen und den Schlauch richtig montieren. Also liest du noch etwas mehr um diesen Vorgang zu verstehen und es dann auch selbst halbwegs fachmännisch zu erledigen. Allerdings musst du für die Umsetzung nicht die exakte Zusammensetzung der Kühlflüssigkeit kennen. So ist es hier auch. Äquivalent zum obigen Beispiel wäre als die Antwort an den Meister: "Ich nehme erstmal besseres Klebeband, das wird schon gehen. Ist ja nur ein Kühlerschlauch". Die Quittung kommt später, wenn während der Fahrt die nächsten Probleme auftreten. Zitat:
|
AW: Button.Click für Listview mal anders
ja mit einem klebenband von mir haben andere 4 jahre gearbeitet und es geliebt...es könnte dort vielleicht heute noch in betrieb sein, das weis ich jedoch nicht
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz