![]() |
Tastensteuerung und Else
Hallo!
Ich habe eine Tastensteuerung gemacht, mit VK_SPACE. Wobei sich wenn man die Space Taste drückt, ein Bild nachoben bewegt. Wie kann ich das jetzt machen, das wenn man ein zweites mal die Space Taste drückt das Bild wieder nach unten bewegt? Ich hab es mit else versucht, aber das hat nicht geklappt. cYa Citybreaker :D |
Hallo Citybreaker,
erstelle dir einfach eine globale variable vom typ boolean, die du, wenn du zum ersten mal space drückst auf true setzt. Wenn du nun noch einmal draufklickst, dann prüfst du die Variable, welchen wert sie hat, bei true -> wieder runtersetzen, bei false -> nach oben schieben. Gruß Jan |
Das könnte ich machen!
Nur wie erstellt man eine solche Variable? :coder: cYa Citybreaker :D |
Code:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; bildposi: boolean; // dies ist die glob. variable über dem //implementation teil. implementation |
So global muss auch nicht gleich sein! :dancer2:
Private Deklaration sollte reichen für diesen Zweck. @ Citybreaker: Solch simple Sachen kann man auch der Hilfe entnehmen und falls du es nicht verstehst, macht nix, die wenigstens Menschen können coden :mrgreen: Warum 'Else' an der Stelle nicht ging kann ich auch nicht nachvollziehen :wink: |
hi, hat nicht mal einer den mut, und erklärt mir den unterschied (wenn vorhanden) zwischen variablen die ich in private, public, hinter dem "end;" von type, oder hinter implementation vereinbare!?
:roll: danke schonmal gruss haegar |
Hallo Haegar,
also, private Variablen sind nur in der jeweiligen Unit verfügbar. Public sind auch in allen anderen Units verfügbar, sofern diese eingebunden. Schreibst Du nun eine Variable vor implementation, so gilt diese für die ganze Unit. Aber nach Implementation, gilt die Variable nur noch für die Funktionen/Prozeduren die danach kommen. Daher ist auch sowas möglich:
Delphi-Quellcode:
Das heisst, alle Units die nach dem var MyVar: TMyVar; stehen, können damit arbeiten. Aber nicht die die davor stehen. Also in der Button1 oder Button2 Prozeudren könntest Du nciht auf MyVar zugreifen. Soweit Klar?
procedure Button1Click;
begin end; procedure Button2Click; begin end; var MyVar: TMyVar; procedure Button3Click; begin end; Grüsse, Daniel :hi: |
alles klar, danke schön :hello:
gruss haegar |
Zitat:
Ich habs jetzt weggelassen und es ganz anders gemacht. cYa Citybreaker :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 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