AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Procedure während gedrückthalten eines Buttons

Procedure während gedrückthalten eines Buttons

Ein Thema von F1nal · begonnen am 8. Mai 2020 · letzter Beitrag vom 11. Mai 2020
Antwort Antwort
Seite 1 von 3  1 23   
F1nal

Registriert seit: 8. Mai 2020
7 Beiträge
 
#1

Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:23
Delphi-Version: 10.3 Rio
unbenannt.jpg <- Bild der Aufgabe

Wir haben als Schulaufgabe, diese Aufgabe bekommen. Ich und meine Freunde verzweifeln nun aber schon seit heute morgen und wissen nicht wie wir dass mit dem gedrückthalten machen sollen. Ich hoffe uns kann hier wer helfen. Ein nachfragen beim Lehre ist aktuell leider nicht möglich weshalb ich hier nachfrage.

Vielen Dank!
Leon

Geändert von F1nal ( 8. Mai 2020 um 12:24 Uhr) Grund: Besseres verstehen
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.309 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:28
Hallo-

Die "Befehlsschaltfläche" ist wohl ein ganz normaler TButton , richtig?

Ihr habt gesehen dass es für den Button nicht nur OnClick gibt, oder? Protipp: Es hat was mit der Maus zu tun.
Miniaturansicht angehängter Grafiken
button.png  
  Mit Zitat antworten Zitat
F1nal

Registriert seit: 8. Mai 2020
7 Beiträge
 
#3

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:30
Ja es handelt sich um einen normalen Button, wir haben auch die anderen Ereignisse gesehen wissen jedoch nicht welche dass tut, was wir möchten.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.619 Beiträge
 
#4

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:35
Zitat:
Ja es handelt sich um einen normalen Button, wir haben auch die anderen Ereignisse gesehen wissen jedoch nicht welche dass tut, was wir möchten.
Probieren geht über studieren. Oder einfach in der Doku nachgucken.
  Mit Zitat antworten Zitat
F1nal

Registriert seit: 8. Mai 2020
7 Beiträge
 
#5

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:44
Delphi-Quellcode:
procedure TF_TagNacht.Bt_BlitzMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  B := true;
  if B = true then
    begin
     Im_Wolke1.Picture.LoadFromFile('Regen.ico');
    end;
end;

procedure TF_TagNacht.Bt_BlitzMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 B := false;
  if B = false then
    begin
     Im_Wolke1.Picture.LoadFromFile('Wolke.ico');
    end;
end;
Wir haben es jetzt nach ein bisschen rumprobieren so gelöst. Danke für den Tipp mit der Maus. Wir waren davon ausgegangen dass diese Ereignisse nur für bewegungen mit der Maus sind.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.619 Beiträge
 
#6

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:45
Nicht auf True und False vergleichen
Und wenn dann vereinfachen

Delphi-Quellcode:
procedure TF_TagNacht.Bt_BlitzMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Im_Wolke1.Picture.LoadFromFile('Regen.ico');
end;

procedure TF_TagNacht.Bt_BlitzMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Im_Wolke1.Picture.LoadFromFile('Wolke.ico');
end;
Zitat:
Wir waren davon ausgegangen dass diese Ereignisse nur für bewegungen mit der Maus sind.
Dafür gibt es MouseMove.
  Mit Zitat antworten Zitat
F1nal

Registriert seit: 8. Mai 2020
7 Beiträge
 
#7

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:46
Nicht auf True und False vergleichen
Und wenn dann vereinfachen

Delphi-Quellcode:
procedure TF_TagNacht.Bt_BlitzMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Im_Wolke1.Picture.LoadFromFile('Regen.ico');
end;

procedure TF_TagNacht.Bt_BlitzMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Im_Wolke1.Picture.LoadFromFile('Wolke.ico');
end;
Ok und warum nicht?
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
1.619 Beiträge
 
#8

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:46
Das können andere besser erklären als ich. Man macht es einfach nicht, da es nicht korrekt ist und zu Fehlern führen kann. Man vergleicht mit if B then und if not B then . Aber das ganze Boolean-Zeug brauchst du da nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.509 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:46
Klasse!

In der Tat ist es auf den ersten Blick verwirrend, MouseDown/MouseUp zu sagen, aber angesichts von MouseMove (das sich um alle Bewegungen der Mouse im Bereich des Buttons kümmert) und dem Drang von Entwicklern doch irgendwie kurze Namen haben zu wollen, hat man eben statt OnMouseButtonDown nur OnMouseDown.

Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
5.309 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Procedure während gedrückthalten eines Buttons

  Alt 8. Mai 2020, 12:47
Und wenn dann vereinfachen
Aber das ganze Boolean-Zeug brauchst du da nicht.
Wenn man das jemandem schon so hinknallt sollte man auch etwas genauer hinsehen.

Weißt du ob das B nicht irgendeinen Sinn hatte? Der Vergleich auf B war überflüssig, ja, aber ob es das Setzen von B auch war kann niemand außer ihm selbst beurteilen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf