AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastendruck abfrage

Ein Thema von Fabbe · begonnen am 26. Mai 2008 · letzter Beitrag vom 27. Mai 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#21

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:24
Kann das sein, dass da diverse begins und ends fehlen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#22

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:27
Warum nutzt Du eig. keine bool'schen Variablen bzw. eine Enumration für die Richtung?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#23

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:28
Das sollte ja eigentlich der Sinn des Typs sein
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Fabbe

Registriert seit: 26. Mai 2008
11 Beiträge
 
#24

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:29
Nein, dass würde mir Delphi sagen.
Man braucht bei einer If-Bedinung kein begin und end zu benutzen; wenn man nur einen Befehl dahinter schreibt falls du dass meinst.
Es fehlt höchstens ein End; durchs kürzen


EDIT:Wenn ich etwas nicht benutze, dann bin ich mir damit unsicher oder kann es nicht =)

Könnts mir ja gerne Versuchen zu erklären
  Mit Zitat antworten Zitat
bluesbear

Registriert seit: 14. Dez 2005
Ort: Hahnstätten
355 Beiträge
 
Delphi 2007 Enterprise
 
#25

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:38
Zitat von DeddyH:
Kann das sein, dass da diverse begins und ends fehlen?
Ich hatte gehofft, er würde mit dem Debugger selber drauf kommen
Klaus M. Hoffmann
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#26

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:41
HI,

Zitat von Fabbe:
Und wo wir schon dabei sind: Wie kann ich mit Canvas abfragen was für eine Farbe an einer bestimmten Stelle ist?
Das gebt mit Canvas.Pixels[X, Y] mit dem Rückgabewert TColor.

Zitat von Fabbe:
Delphi-Quellcode:
if runter=1 then {nichts, da es in dem ersten durchlauf nichts zu löschen gibt} else rectangle(x,y,x1,y2); {löschen des voherigen Blockes, also der vorherigen Position}
              Brush.color:=clmaroon; {ändern der Farbe}
              rectangle(x,y1,x1,y3);{neue Position}
Ich werd bald wahnsinnig...
wenn diese doofe Tastenerkennung gehen würde wäre der rest schon viel einfacher
Hier feht bei code glaub ich ein begin und end, da der neue Stein ja nur dann gezeichnet werden soll, wenn runter <> 1.
Ich glaub, du weist nicht wirklich viel mit type TTaste = (ttNone,ttLeft,ttRight,ttDown,ttTurn); anzufangen, oder?

Ftaste kannst du im Timer-Event wie eine normale Variable auswerten. Die einzige Einschränkungbesteht lediglich darin, dass du die definierten Werte (ttNone, ttLeft, ...) verwenden musst. Das ganze geht auch mit Case.

Beispiel:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: Tobject);
begin
case FTaste of
  ttNone: ; // nix (lass dir was einfallen oder lass es weg)
  ttLeft: Stein_nach_links;
  ttRight: Stein_nach_rechts;
  ttDown: Stein_nach_unten;
  ttUp: Stein_drehen;
end;
fTaste := ttNone;
end;
Es wäre zu empfehlen, wenn du jede Steinbewegung in eine extra Prozedur auslagerst, um den Code übersichtlich zu halten. Dort kannst du dann auch die Gültigkeitsabfrage deines Zuges machen (und Zeichnen)

rollstuhlfahrer
Hoffe doch mal, dass es verständlich ist.


Nachtrag:
Zitat von Fabbe:
Könnts mir ja gerne Versuchen zu erklären
Hab ich versucht
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:43
Da ich merke, dass du gerne dazu lernst, lege ich dir den Ungleich-Operator ans Herz ( ), denn dadurch wird der Code ein klein wenig übersichtlicher.

Zitat von Fabbe:
if runter=1 then {nichts...} else rectangle(x,y,x1,y2);
wird zu
Delphi-Quellcode:
if runter <> 1 then
  rectangle(x,y,x1,y2);
Zitat von Fabbe:
Nein, dass würde mir Delphi sagen.
Delphi gibt dir bei Syntaxfehlern bescheid, aber nicht, wenn die Logik falsch ist. Deddy meint wohl, ob du evtl. hier mehrere Zeilen beim "else" ausführen möchtest:

Delphi-Quellcode:
if runter <> 1 then
begin
  Rectangle(x, y, x1, y2);
  Brush.Color := clMaroon;
  Rectangle(x, y1, x1, y3);
end;
Da ich den Code aber nicht ganz nachvollziehen kann, weiß ich nicht, ob du das so haben möchtest, denn du schreibst explizit, dass dann nur eine Zeile ausgeführt werden soll. Es wäre sinnvoll, wenn du den Code dann entsprechend einrücken würdest:

Delphi-Quellcode:
if runter <> 1 then
  Rectangle(x, y, x1, y2);
Brush.Color := clMaroon;
Rectangle(x, y1, x1, y3);
Übrigens schadet es nicht, ein paar "begin" und "end" mehr zu setzen. Je nach Komplexität kann dir das sogar anstrengende Fehlersuchen ersparen, denn du siehst sofort, was wann ausgeführt wird. bei deiner Formatierung siehst du das nicht.
Zitat von Fabbe:
Man braucht bei einer If-Bedinung kein begin und end zu benutzen; wenn man nur einen Befehl dahinter schreibt falls du dass meinst.
Ich denke, das weiß Deddy.

Grüße

Edit: Da tippe ich mich dämlich und nun kamen in der Zwischenzeit ähnliche Antworten und nicht mal ein roter Kasten.
  Mit Zitat antworten Zitat
Fabbe

Registriert seit: 26. Mai 2008
11 Beiträge
 
#28

Re: Tastendruck abfrage

  Alt 26. Mai 2008, 19:53
na dann mach ich mich mal ans Werk... (wobei ich schon fast glaube, dass ich die Nacht durchmache, weil morgen muss der Spaß fertig sein )
Nunja falls mir noch jemand nützliche Tips geben will dann immer her damit
ich meld mich, falls etwas nicht geht.

Achso und ein dickes Danke an die fleißigen da oben
Grüße ...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.549 Beiträge
 
Delphi 11 Alexandria
 
#29

Re: Tastendruck abfrage

  Alt 27. Mai 2008, 07:27
Der Rollstuhlfahrer hat genau das erklärt, was ich versucht habe, Dir klarzumachen . Besser hätte ich es auch nicht sagen können.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 21:27 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