Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi random zahl genau 2 mal (https://www.delphipraxis.net/4415-random-zahl-genau-2-mal.html)

wo0zy 30. Apr 2003 10:54

Zitat:

Zitat von Jens Schumann
...
Wenn Du aus Sender1 ein Formularfeld machst sollte es klappen.

is das ein anderer begriff für globale variablen? damit hats nämlich geplappt

danke

Jens Schumann 30. Apr 2003 11:03

Hallo

Zitat:

Zitat von wo0zy
is das ein anderer begriff für globale variablen? damit hats nämlich geplappt

NEIN !!!

Bei einem Formularfeld handelt es sich um eine "Variable" innerhalb des Formularobjektes. Eine globale Variable wir innerhalb des Interface-Abschnittes einer Unit mit var deklariert.

Beispiel:
Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
    FVariable : TObject; // Dies ist ein Formularfeld
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Variable : TObject; // Dies ist eine globale Variable

implementation

{$R *.dfm}

end.
Jetzt stellt sich die Frage, welcher Denkschule man angehört. Ich vertrete die Denkschule, dass eine globale Variable eine Designschwäche anzeigt. D.h. verwende globale Variabeln nur, wenn Dir absolut nichts besseres einflällt und rede nicht darüber.

wo0zy 30. Apr 2003 12:29

ich hab da mal noch eine frage, wie bekomme ich raus ob auf btn32 oder btn2 geklickt wurde, also ich brauch die zahl hinter btn, kann ich tobject einfach in einen string umwandeln oder wie muss ich das machen??

Jens Schumann 30. Apr 2003 12:39

Hallo,
welcher Button angeklickt wurde verrät dir der Parameter Sender.

wo0zy 30. Apr 2003 12:40

is mir schon klar, aber ich muss wissen welche nummer der hat

Jens Schumann 30. Apr 2003 12:42

Hallo,
Du kannst in der SetSpeedButton Methode die Tag-Property der
SpeedButtons auf iCnt setzen. Im OnClick-Handler kannst Du dann
über TControl(Sender).Tag darauf zugreiffen.

Touchdown 30. Apr 2003 13:57

Willst du viele Buttons auf eine Methode laufen lassen willst, dann nimm besser Tags dafür, die natürlich von Hand vergeben werden müssen.

Delphi-Quellcode:
case TButton(Sender).Tag of
  0 : result := 'ein schöner Tag';
  1 : Result := 'ein wundervoller Tag';
end;
PS: Nicht Tag und Tag verwechseln :mrgreen:

Specialwork 30. Apr 2003 14:56

Hallo Woozy,

Schau Dir doch einfach mal mein Beispiel an, da ist das mit den Tags schon umgesetzt.

Gruß, Tom


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:59 Uhr.
Seite 2 von 2     12   

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