AGB  ·  Datenschutz  ·  Impressum  







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

Fenster bewegen

Ein Thema von flomei · begonnen am 17. Mär 2003 · letzter Beitrag vom 21. Mär 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#11
  Alt 18. Mär 2003, 16:12
Ich hab den Code von Daniel genommen, aber das einzige was passiert ist, dass meine Form oben links in die Ecke spring. Das ist nicht schön!
Sie kommt da nämlich nicht mehr weg.

Weitere Hilfe erbeten!

Thx!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#12

Hallo Jungs (und evtl. Mädels)

  Alt 18. Mär 2003, 16:24
Habt Ihr mal versucht, vor dem Aufruf der random Funktion die Initialisierung mit Randomize; aufzurufen.

Gruß, Tom
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat
Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#13
  Alt 18. Mär 2003, 16:30
Also bei mir funktioniert es anstandlos

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Achtung: Timer1.Enabled=False;
  Timer1.Enabled:=True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Left := Random(Screen.Width-Width);
  Top := Random(Screen.Height-Height);
end;

end.
Gruß, Tom
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#14
  Alt 18. Mär 2003, 16:38
Ich hab da mal ein Randomize; vorgesetzt aber das zeigt keinen Effekt.

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Randomize;
Form1.Top:= random(Form1.ClientHeight - Form1.Height);
Form1.Left:= random(Form1.ClientWidth - Form1.Width);
end;
Das ist der Code der OnMouseMove Prozedur meiner Form. Sie springt immer nach links oben in die Ecke.

Vielleicht könnte man auch etwas anderes machen:

Form bewegt sich von links unten nach rechts oben, von da nach rechts unten und dann nach links oben, bewegt sich nach links unten und fängt von vorne an. Mit Schleifen und Bedingungen, oder so???

Thx!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#15
  Alt 18. Mär 2003, 16:56
Zitat:
Das ist der Code der OnMouseMove Prozedur meiner Form. Sie springt immer nach links oben in die Ecke.
dann schau dir nochmal die werte deiner klammern ...random(...);
an, und vergleiche die mal mit den ganzen hier geposteten codes!!

gruss haegar
  Mit Zitat antworten Zitat
Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#16
  Alt 18. Mär 2003, 17:17
Hallo Flomei,

Deine Funktion z.B.Random(Form1.ClientHeight - Form1.Height); liefert immer den gleichen Wert (+-1) bis auf das Vorzeichen.

Ich hab mir mal die Werte ausgeben lassen:

Delphi-Quellcode:
LEFT: -32768TOP : 32767
LEFT: 32767TOP : -32768
LEFT: -32768TOP : 32767
LEFT: -32768TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : 32767
LEFT: 32767TOP : -32768
LEFT: 32767TOP : -32768
LEFT: 32767TOP : 32767
Diese Werte erhalte ich nur, wenn Form1.Borderstyle:=bsSingle; ist. Wenn Du aber Form1.Borderstyle:=bsNone; eingestellt hast, bekomme ich nur Null. Das erklärt a) bsSingle: warum Deine Form zur Laufzeit verschwindet; und b) bsNone: warum Deine Form oben links in der Ecke plaziert ist.

Gruß, Tom
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#17
  Alt 18. Mär 2003, 17:24
Ist doch ganmz simple: ClientHeight ist die Höhe des Client-Bereiches des Fensters und Height die gesamt Höhe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#18
  Alt 20. Mär 2003, 16:53
Zitat von Specialwork:
Form1.Borderstyle:=bsSingle; ist. Wenn Du aber Form1.Borderstyle:=bsNone; eingestellt hast, bekomme ich nur Null. Das erklärt a) bsSingle: warum Deine Form zur Laufzeit verschwindet; und b) bsNone: warum Deine Form oben links in der Ecke plaziert ist.
Das sollte eigentlich nichts damit zu tun haben, oder?

Wo liegt denn jetzt der Fehler?

Thx!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Benutzerbild von flomei
flomei

Registriert seit: 17. Jan 2003
Ort: Schieder-Schwalenberg
2.094 Beiträge
 
Delphi 2005 Personal
 
#19
  Alt 21. Mär 2003, 16:44
Prima! Es geht jetzt! Manchmal ist geposteter Code doch am besten.

Thx!

MfG Florian
Florian Meier
... ist raus.
Vielen Dank für die Zeit mit euch!
http://www.flomei.de -- http://www.md5hash.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 12:32 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