Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Prism Werte aus anderen Klassen abfragen (https://www.delphipraxis.net/71237-werte-aus-anderen-klassen-abfragen.html)

0zkillz 11. Jun 2006 18:50


Werte aus anderen Klassen abfragen
 
Hallo erstmal an alle hier
es hat ein weiter Delphi-Anfänger den Weg in euer Forum gefunden ;)

und natürlich hab ich gleich ne frage und hoffe das ihr mir helfen könnt^^

folgender Sachverhalt ich habe 3 Klassen (GUI, MOdell und Sicherheit)
das Modell soll nun ne funktion haben die sich den Cod aus Sicherheit holt und dann soll die GUI damit arbeiten

umgesetzt sieht dsa folgender maßen aus:

Delphi-Quellcode:

unit Unit3;  //Sicherheit

interface

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

  type
  TSicherheit = class(TForm)
  function getSchluessel():integer ;

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
 
var
  Form3: TSicherheit;

implementation

function TSicherheit.getSchluessel():integer;
begin
Result:=5; //Code soll jetzt einfach 5 sein

end;

end.




unit Unit2;   //modell

interface

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


  type
  TModell = class(TForm)
  function testeschluessel(Sender :TEdit):boolean;

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

function TModell.testeschluessel(Sender :TEdit):boolean;

begin
if Form3.getschluessel() = (Strtoint(TEdit.Text)) //soll sich den code holen und in mit einem Editfeld vergleichen
then Result:=true
Else Result:=false;


end;
end.




unit Unit1;  //GUI

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
TModell.testeschluessel(Edit1.Text); //soll die funktion ausführen
end;

end.



so folgendes Problem ^^

ihr krieg den Vergleich in der Modellklasse nicht hin...ich hoffe ihr könnt mir da helfen und für nen link zu ner seite wo ich noch bischen über Klassen lernen kann wär auch nicht schlecht ^^


ich hoffe das ich vom prinzip das restliche richtig habe ^^
bitte helft mir :cry:

mfg 0zkillz

Udontknow 12. Jun 2006 12:18

Re: Werte aus anderen Klassen abfragen
 
Hallo!

Ähem, was soll denn nun passieren? Bzw. was passiert denn stattdessen?

Das ganze ist ein bisschen "per Glaskugel", aber müsste es nicht "Self" anstelle von "Form3" heissen? Evtl. generierst du ja neue Instanzen von TSicherheit...

Zitat:

TModell.testeschluessel(Edit1.Text); //soll die funktion ausführen
Das passiert wahrscheinlich auch, du hast nur keine Ausgabe definiert.

Zitat:

if TModell.testeschluessel(Edit1.Text) then
ShowMessage('Richtig!')
else
ShowMessage('Falsch!') ; //soll die funktion ausführen
Du benutzt einfach nur die Klasse, eigentlich müsste TModell auch noch instantiiert werden, also

Delphi-Quellcode:
var Modell:TModell
begin
  Modell:=TModell.Create(NIL);
  try
    if TModell.testeschluessel(Edit1.Text) then
      ShowMessage('Richtig!')
    else
       ShowMessage('Falsch!')
  finally
    Modell.Free;
  end;

end;
Cu,
Udontknow


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