AGB  ·  Datenschutz  ·  Impressum  







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

Probelme bei Tastensteuerung

Ein Thema von Koki · begonnen am 14. Feb 2006 · letzter Beitrag vom 20. Feb 2006
Antwort Antwort
Koki

Registriert seit: 11. Jan 2006
16 Beiträge
 
Delphi 2005 Personal
 
#1

Probelme bei Tastensteuerung

  Alt 14. Feb 2006, 22:39
ich hab probleme bei einem programm.
ich hab mich schon beschaäftig mit delphi und ich komme nicht weiter ich habe tastensteuerung eigebaut, die nicht funzt, er gibt keine fehlermeldung aus, sondern im programm bewegen sich meine raumschiffe nicht hilfe hier mein programmcode (benutzt delphi 7 oder delphi 2005 aber mit win32 oberfläche):

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Menus, Buttons;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Start1: TMenuItem;
    Beenden1: TMenuItem;
    Timer1: TTimer;
    Image4: TImage;
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Beenden1Click(Sender: TObject);
    procedure Start1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  a,b,i,x,y:integer;

implementation

{$R *.dfm}

procedure TForm1.Start1Click(Sender: TObject);
 begin
  x:=0; y:=0;
  image1.picture.loadfromfile('space2.bmp');
  image2.picture.loadfromfile('terran1-big1.bmp');
  image3.picture.loadfromfile('ufo2-big3.bmp');
  image1.Left:=x;
  image1.Top:=y;
  timer1.Enabled:=false;
 end;

procedure Tform1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
 var h: integer;
 begin
  form1.Caption:=inttostr(key);
  if key=37 then inc(x);
  if key=38 then dec(x);
  if key=39 then inc(y);
  if key=40 then dec(y);
  {if key=32 then
  begin
    i:=0;
    h:=0;
    image4.picture.loadfromfile('bullet1.bmp');
    image4.Left:=a;
    image4.Top:=b;
    repeat
    begin
      inc(a);
      h:=h+1;
      if h=50 then i:=1;
    end;
    until i=1;
   end; }

 end;

procedure Tform1.Timer1Timer(Sender: TObject);
 begin
      // inc(x);
      image2.Left:=x;
      image2.top:=y;
 end;

procedure TForm1.Beenden1Click(Sender: TObject);
 begin
  close;
 end;

end.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Probelme bei Tastensteuerung

  Alt 15. Feb 2006, 06:31
Morgen,

sollte es nicht
Zitat:
if key=37 then inc(x);
if key=38 then dec(x);
if key=39 then inc(y);
if key=40 then dec(y);
if key=#37 then inc(x); etc. heißen?

Eventuell keyPreview der Form auf true stellen.

Vielleicht mal mit step/trace durch den Code gehen und schauen ob
eine Deiner if anweisungen true wird.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Koki

Registriert seit: 11. Jan 2006
16 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Probelme bei Tastensteuerung

  Alt 15. Feb 2006, 15:33
also das war es nicht aber ich hab auch noch keine lösung gefunden

und mit dem step/trace weiss ich nicht wie es funktioniert

trotzdem danke erstmal und ich hoffe es kann mir ein anderer helfen
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Probelme bei Tastensteuerung

  Alt 17. Feb 2006, 13:17
Stell erstmal sicher das der Timer auch Enabled ist, sonst weiss ich es auch nich

Zitat:
procedure Tform1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var h: integer;
begin
form1.Caption:=inttostr(key);
if key=37 then inc(x);
Was kommt denn bei der Caption raus, wird da der Key denn richtig angezeigt?
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Koki

Registriert seit: 11. Jan 2006
16 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Probelme bei Tastensteuerung

  Alt 20. Feb 2006, 11:03
es hat funktioniert

der timer war schuld im quelltext stand bei enable=false in den ereignissen =true deswegen ist er durcheinander gekommen wahrscheinlich

danke
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:25 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