Avatar billede dronten Nybegynder
22. september 2002 - 22:01 Der er 8 kommentarer og
1 løsning

frem og tilbage

hvordan får man et billed til at gå frem og tilbage på formen?
Avatar billede esoulman Nybegynder
22. september 2002 - 22:08 #1
Du kan vel bruge en timer og under dens procedure skrive
Image1.Left := Image1.Left + 10;

Dog bliver det ikke særligt dynamisk.
Avatar billede dronten Nybegynder
22. september 2002 - 22:46 #2
den skal jo også den anden vej igen... det er det jeg ikke kan få til at virke. det er lige meget om det bliver dynamisk, den skal bare frem og tilbage...
Avatar billede esoulman Nybegynder
22. september 2002 - 23:12 #3
Så indsætter du to timere.

Proceduren under timer1:
if Image1.Left < Form1.ClientWidth then
Image1.Left := Image1.Left + 10
else
begin
Timer2.Enabled := True;
Timer1.Enabled := False;
end;

Timer2:
if Image1.Left > 1 then
Image1.Left := Image1.Left - 10
else
begin
Timer1.Enabled := True;
Timer2.Enabled := False;
end;

Forstår du idéen i det?
Avatar billede dronten Nybegynder
22. september 2002 - 23:38 #4
jeg kan godt forstå det men.... når jeg laver det kommer den med denne fejl

[Error] Unit1.pas(39): Statement expected but 'PROCEDURE' found

koden er:

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Timer2: TTimer;
    Image1: TImage;
    procedure Timer2Timer(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  if Image1.Left > 1 then
Image1.Left := Image1.Left - 10
else
begin
Timer1.Enabled := True;
Timer2.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Image1.Left < Form1.ClientWidth then
Image1.Left := Image1.Left + 10
else
begin
Timer2.Enabled := True;
Timer1.Enabled := False;
end;

end.

hvad er der galt med den?
Avatar billede esoulman Nybegynder
22. september 2002 - 23:42 #5
.....

implementation

{$R *.dfm}

procedure TForm1.Timer2Timer(Sender: TObject);
begin
  if Image1.Left > 1 then
Image1.Left := Image1.Left - 10
else
begin
Timer1.Enabled := True;
Timer2.Enabled := False;
end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Image1.Left < Form1.ClientWidth then
Image1.Left := Image1.Left + 10
else
begin
Timer2.Enabled := True;
Timer1.Enabled := False;
end;
end;

end.

du manglede lige et par end;
Avatar billede dronten Nybegynder
23. september 2002 - 00:15 #6
den skifter stadig ikke retning...
Avatar billede dronten Nybegynder
23. september 2002 - 00:36 #7
nu har jeg fået det til at virke..
hvordan flytter man så flere billeder på een gang uden at skulle skrive hele koden hver gang?
Avatar billede dronten Nybegynder
25. september 2002 - 20:23 #8
ligemeget.... men du skal lige svare for at få point..
Avatar billede esoulman Nybegynder
26. september 2002 - 00:05 #9
okay, håber du kunne bruge det til bare lidt. tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester