Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bild in einem Fenster von links nach rechts bewegen (https://www.delphipraxis.net/33906-bild-einem-fenster-von-links-nach-rechts-bewegen.html)

morphi 14. Nov 2004 15:45


Bild in einem Fenster von links nach rechts bewegen
 
Hi ich wollt mmich mal vorstellen hab vor einigen tagen mit delphi angefangen hab schon ein paar kleine sachen hinbekommen...
Jetzt wollt ich mir nen fenster machen wo ein bild von links nach rechts leuft...
hab das schon mit ner while schleife und scroll bar versucht aber das ging irgenwie net.
Ich hoffe das ihr mir weiter helfen könnt...
MFG morph

[edit=MrSpock]Titel geändert. Mfg, MrSpock[/edit]

Nikolas 14. Nov 2004 15:47

Re: ANFÄNGER
 
:dp: Willkommen in der DP

- Der Titel soll etwas über dein Problem aussagen, bitte änder den doch und schreib dann nicht nur in Großbuchstaben.

- Wie hast du es denn versucht? Ein bischen Code würde da helfen.

Nicodius 14. Nov 2004 15:47

Re: ANFÄNGER
 
:dp: WILLKOMMEN IN DER DP :dp:
falscher titel falsche kategorie ;)


aber wurscht ...

nimm nen timer aus dr system leiste und dann

Delphi-Quellcode:
Bild.Left := Bild.Left + 1; // oder eben den wert dens zurücklegen soll
such hier mal im forum unter timer ;)

fkerber 14. Nov 2004 15:47

Re: ANFÄNGER
 
Hi!

Herzlich Willkommen in der DP.

Erste Bitte:
Ändere deine Überschrift. Dann wird dir schneller geholfen werden können.


Zu deinem Problem:
Schau dir mal die Komponente TImage an und dort die Eigentschaft left.
Das ganze dann z.B. in Verbindung mit einem Timer.



Ciao Frederic

Karlson 14. Nov 2004 15:48

Re: ANFÄNGER
 
Servus und Willkommen hier,

Zunächst solltest du dir folgendes merken:

1.) Poste deine Frage in das entsprechende Forum, im Klatsch und Tratsch hat die Frage nichts zu suchen.
2.) Verwende einen Titel der etwas aussagt, z.B. Bild über's Fenster bewegen. Mit ANFÄNGER kann hier niemand was anfangen.

zur Frage: Schau dir mal die Komponente TTimer an, im Register System.

Nicodius 14. Nov 2004 15:50

Re: ANFÄNGER
 
[OT]4 auf einmal :mrgreen: [/OT]

--> geh mal wortwörtlich auf die suche

DP-Maintenance 14. Nov 2004 15:57

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Klatsch und Tratsch" nach "Sonstige Fragen zu Delphi" verschoben.

malo 14. Nov 2004 16:29

Re: ANFÄNGER
 
Mit ScrollBar ein Beispiel:

Delphi-Quellcode:
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
  Image1.Left := ScrollBar1.Position;
end;
Wenn du dann den ScrollBar bewegst, bewegt sich das Bild mit. Wenn das Bild weiter nach rechts kommen soll, als es bisher geht, musst du beim ScrollBar die Eigenschaft "Max" höher setzen ;)

arbu man 15. Nov 2004 18:10

Re: ANFÄNGER
 
tach erstmal :lol:
Delphi-Quellcode:
var i:integer;
begin
i:=image1.left;
repeat begin
i:=i+1;
image1.left:=i
end; until i=300;
end;
Ich hoffe das hilft dir :warn:

Ultimator 15. Nov 2004 18:17

Re: ANFÄNGER
 
Hi arbu man! :hi:
Erstmal geb ich dir nen gut gemeinten Rat: Gewöhn dir ne saubere Formatierung deiner Sourcen an. Das hilft, später die Übersicht zu bewahren ;-)
Und dann könnte man das viel eleganter lösen ;-)
Delphi-Quellcode:
var i:integer;
begin
  for i:=0 to 300 do
    Image1.Left:=i;
end;

glkgereon 15. Nov 2004 18:21

Re: ANFÄNGER
 
und das begin und end zwischen repeat und until is unnötig :wink:

Delphi-Quellcode:
var i:integer;
begin
  i:=image1.left;
  repeat
    i:=i+1;
    image1.left:=i
  until i=300;
end;
so wäre es schon besser

himitsu 15. Nov 2004 18:22

Re: ANFÄNGER
 
Na dann werf ich auch mal was rein ... das könnte große Vorteile haben, vorallem wenn man sehen will, wie das Bild wandert :zwinker:

Delphi-Quellcode:
Application.ProcessMessages;

Stanlay Hanks 15. Nov 2004 18:36

Re: ANFÄNGER
 
Oder einfach ein simples "Sleep(100);" reinpacken :)

himitsu 15. Nov 2004 19:02

Re: ANFÄNGER
 
Liste der Anhänge anzeigen (Anzahl: 1)
Stan,
du proggst doch schon lang genug, oder?

Delphi-Quellcode:
  // nur Sleep
  For i := 0 to Form1.ClientWidth - Shape1.Width do Begin
    Shape1.Left := i;
    Sleep(20);
  End;

  // Sleep + ProcessMessages
  For i := 0 to Form1.ClientWidth - Shape1.Width do Begin
    Shape1.Left := i;
    Sleep(20);
    Application.ProcessMessages;
  End;
@nailor:
ich hatte einfach nur 'ne Zahl dort eingegeben ... bei mir ist sleep(10) das Kleinste, egal was ich eingeb, außerdem ging es mir auch um was anderes. :zwinker:

nailor 15. Nov 2004 22:51

Re: ANFÄNGER
 
wobei sleep(2) auch nicht das sinvollste ist...

fkerber 16. Nov 2004 05:20

Re: ANFÄNGER
 
Hi!

Statt Sleep + Application.Processmessages wäre das hier wohl ressourcenschonender:
http://www.delphipraxis.net/internal...ect.php?t=7355


Ciao Frederic

morphi 16. Nov 2004 13:31

Re: Bild in einem Fenster von links nach rechts bewegen
 
Danke erstmal für die vielen antworten!
Leider kann ich mein beitrag jetzt nich mehr bearbeiten weil die zeit dazu abgelaufen ist...
ich programiere noch net lang und nehm wohl dann die Lösung mit dem Teimer...

Ps:nächstes mal werd ich mich geschickter beim forum schreiben anstellen
MFG
morph


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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