AGB  ·  Datenschutz  ·  Impressum  







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

Bewegung

Ein Thema von Z32 · begonnen am 1. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#11

Re: Bewegung

  Alt 5. Apr 2006, 18:01
Hey.

Der Code hier geht nicht:
inc(Object.Left); Allgemein zu den Prozeduren (keine Funktionen!) inc und dec:
inc: steht für increment - zu deutsch: erhöhen

z.B.
Delphi-Quellcode:
var i: Integer;
i := 0;
inc(i); // hier wird i um 1 erhöht;
inc(i, 10) // hier wird i um 10 erhöht,
           // d.h. dass 10 ein optionaler
           // Paramter ist
dec: steht für decrement - zu detusch: erniedrigen oder auch verringern (nach ausdrücklichem Wunsch )

Hier gilt das selbe Beispiel wie oben genannt...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#12

Re: Bewegung

  Alt 5. Apr 2006, 18:03
Zitat von s.h.a.r.k:
Allgemein zu den Methoden (keine Funktionen!)
"Methode" ist ja noch falscher ( ) als "Funktion".
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#13

Re: Bewegung

  Alt 5. Apr 2006, 18:03
Zitat:
erniedrigen

ist wohl eine etwas ärgere auslegung - ich würd verringern sagen
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

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

Re: Bewegung

  Alt 5. Apr 2006, 18:40
ooouuups, jetzt wo dus sagst... stimmt
naja dann halt
Objekt.Left:=Objekt.Left+1;
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#15

Re: Bewegung

  Alt 5. Apr 2006, 20:00
Zitat von Z32:
Ist das so gemint ???

inc(Objekt.left) = heißt also ojekt 1 nach links
dec(objekt.left) = heißt also objekt 1 nach rechts
Nein.
Wird Objekt.Left erhöht, heißt das, dass es nach Rechts wandert.
"Left" gibt nämlich den Abstand zum linken Rand d. übergeordneten Controls (in diesem Fall wohl die Form) an
Wird dieser größer wandert es logischerweise nach rechts.

air
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#16

Re: Bewegung

  Alt 7. Apr 2006, 17:10
Also erst mal vielen Dank für die Antworten, habe mir jetzt nen kleines Programm geschrieben wo ein Bild immer nach rechts fährt. Dann habe ich mir gedacht, lass das Bild doch einfach nach links fahren, wenn es rechts an den Rand stößt. Da habe ich jetzt ein Problem, das Bild rollt nach rechts und bleibt dort am Rand hängen.

Ich habe denn folgenden Code in einem On-Timer Ereignis.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var f: integer;
begin
f:= 10 ;

if image1.left + f < form1.ClientWidth then
image1.left := image1.Left +f

else image1.Left := image1.Left -f;
end;
Weiß vielleicht einer was ich falsch gemacht habe ???
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#17

Re: Bewegung

  Alt 7. Apr 2006, 17:57
Ist doch klar: du prüfst ob das Bild am Fensterrand ist. wenn es dass ist lässt du es in die gegenrichtung laufen. Dann ist es aber nichtmehr am fensterrand-->es läuft wieder in richtung Fensterrand. Du müsstest f global deklarieren und wenn es am Fensterrand ist einfach f:=-f; sagen. Dann ändert es die Richtung dauerhaft.
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#18

Re: Bewegung

  Alt 7. Apr 2006, 18:06
Zitat von Ratte:
Ist doch klar: du prüfst ob das Bild am Fensterrand ist. wenn es dass ist lässt du es in die gegenrichtung laufen. Dann ist es aber nichtmehr am fensterrand-->es läuft wieder in richtung Fensterrand. Du müsstest f global deklarieren und wenn es am Fensterrand ist einfach f:=-f; sagen. Dann ändert es die Richtung dauerhaft.
Also das habe ich jetzt leider nicht verstanden, was ist falsch und muss geändert werden ???
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#19

Re: Bewegung

  Alt 7. Apr 2006, 19:17
Delphi-Quellcode:
private
  f : Integer;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  f := 10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Image1.left + f > Form1.ClientWidth - Image1.Width then
    f := -10;
  else if Image1.left - f < 0 then
    f := 10

  image1.Left := image1.Left + f;
end;
Erklärung: Das Bild wandert 1x nach links! Dann ist es wieder weg von Rand und d.h. das Bild kommt wieder nach rechts
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

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

Re: Bewegung

  Alt 9. Apr 2006, 09:56
Sorry bin im verbesserungswahn
So ist es flexibler

Delphi-Quellcode:
private
  f : Integer;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  f := 10;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if (Image1.left + f > ClientWidth - Image1.Width) or (Image1.left - f < 0) then f := -f;
  image1.Left := image1.Left + f;
end;
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:56 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