Autor Beitrag
forcedbydelphi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Fr 29.10.10 19:04 
Hi Leute,
bin ziemlich neu in der Delphi Welt, ich habe ein Programm geschrieben, wenn ich auf den Button klicke erscheint er irgentwo anders (Im Fenster)
So siehts aus:


ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    BtFangmich: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtFangmichClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  ibreite, ihoehe: integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
    randomize;  //Zufallsgenerator starten

end;

procedure TForm1.BtFangmichClick(Sender: TObject);
begin
      ibreite := Form1.Width; //entnimmt automatisch die breite vom Fenster
      ihoehe  := Form1.Height; // entnimmt automatisch die Hoehe vom Fenster
      BtFangmich.Left := random(ibreite); //Zufallsposition des Buttons in der Breite
      BtFangmich.Top  := random(ihoehe);  //Zufallsposition des Buttons in der Hoehe
end;

end.



MEINE FRAGE:
wie kriege ich es hin, dass der eine Button nicht über die Kanten geht??

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt
Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 29.10.2010 um 19:09
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 29.10.10 19:09 
Hallo und :welcome: in der Entwickler-Ecke,

Der Zufallsbereich muss passend kleiner sein, also Formbreite minus Buttonbreite
ausblenden Delphi-Quelltext
1:
BtFangmich.Left := random(ibreite - BtFangmich.Width); //Zufallsposition des Buttons in der Breite					


Bei der Höhe entsprechend auch. :)

_________________
We are, we were and will not be.

Für diesen Beitrag haben gedankt: forcedbydelphi
forcedbydelphi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 16



BeitragVerfasst: Fr 29.10.10 19:16 
funktioniert, danke

gefällt mir hier :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 29.10.10 19:21 
Nun ja, durch etwas Nachdenken, hätte man wohl auch selber drauf kommen können.

Für diesen Beitrag haben gedankt: forcedbydelphi