Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Undefinierter Bezeichener, aber warum ? (https://www.delphipraxis.net/28599-undefinierter-bezeichener-aber-warum.html)

Äfan 26. Aug 2004 19:20


Undefinierter Bezeichener, aber warum ?
 
Ich habe ein Problem. Ich will eine Namensabfrage, wenn ich dies aber so mache, kommt eine Fehler:

procedure TfrmLogin.LoginOKClick(Sender: TObject);
begin
If LoginName.Text = '' then
MessageDlg('Bitte geben Sie einen Namen ein', mtInformation, [mbOK], 0)
end;
begin
If not LoginName.Text = '' then
NameVar := LoginName.Text;
frmLogin.Close;
end;
----------------------------------------------------------------------------------------------
[Fehler] Unit2.pas(46): Undefinierter Bezeichner: 'LoginName'
----------------------------------------------------------------------------------------------

Aber warum kommt der Fehler und wie gehört es richtig ?

alcaeus 26. Aug 2004 19:23

Re: Undefinierter Bezeichener, aber warum ?
 
Hi Äfan!

Erstens mal den Code mit delphi formatiert und mit einrückungen:
Delphi-Quellcode:
procedure TfrmLogin.LoginOKClick(Sender: TObject);
begin
  If LoginName.Text = '' then
    MessageDlg('Bitte geben Sie einen Namen ein', mtInformation, [mbOK], 0)
end;
begin
If not LoginName.Text = '' then
  NameVar := LoginName.Text;
  frmLogin.Close;
end;
Eigentlich müsste er so aussehn:
Delphi-Quellcode:
procedure TfrmLogin.LoginOKClick(Sender: TObject);
begin
  If LoginName.Text = '' then
    MessageDlg('Bitte geben Sie einen Namen ein', mtInformation, [mbOK], 0)
  else
  begin
    NameVar := LoginName.Text;
    frmLogin.Close;
  end;
end;
Ich bin mir bei deinem else-Zweig aber nicht sicher, evtl. musst du das frmLogin.Close aus dem begin-end-Block rausnehmen.

Greetz
alcaeus

Äfan 26. Aug 2004 19:27

Re: Undefinierter Bezeichener, aber warum ?
 
So gings. Wie kann man mehrere IF Abfragen in einem Block ausführen ?

PS: Das mit dem Delphi-Code habe ich nicht gemacht, da man den Text dann nicht mehr rot machen kann :wink:

alcaeus 26. Aug 2004 19:30

Re: Undefinierter Bezeichener, aber warum ?
 
Hi Äfan!

Zitat:

Zitat von Äfan
Wie kann man mehrere IF Abfragen in einem Block ausführen ?

Ich versteh deine frage nicht ganz... Meinst du wie z.B. if-then-else oder so etwas wie die Hier im Forum suchencase of-Abfrage?

Greetz
alcaeus

Äfan 26. Aug 2004 19:38

Re: Undefinierter Bezeichener, aber warum ?
 
Ich meine z.B. so:

Wenn Var. Name = '' dann zeige Meldung 'Hallo'
Wenn Var. Alter = '16' dann zeige Meldung 'OK'
usw.

und das alles in einem Block.

nailor 26. Aug 2004 19:40

Re: Undefinierter Bezeichener, aber warum ?
 
hi!

erstmal willkommen!

dann hinweis auf die [*delphi] tags (ohne stern)

dann so machen wie es alcaeus gemacht hat

dann nach "not" immer eine klammer öffnen, weil es da ganz gemeine fehler geben kann (binäre operation statt logischer...)

mehrere if-abfragen: mit else (wie alcaeus es gemacht hat) oder "case .. of"

flomei 26. Aug 2004 19:40

Re: Undefinierter Bezeichener, aber warum ?
 
Mit AND vielleicht... :roll:

MfG Florian :hi:

alcaeus 26. Aug 2004 19:41

Re: Undefinierter Bezeichener, aber warum ?
 
Hi Äfan!

Die einzige Lösung die ich zur Zeit parat habe ist der with-do-Block:

Delphi-Quellcode:
with Variable do
begin
  if Name = '' then
    ShowMessage('Hallo!');
  if Alter = 16 then
    ShowMessage('Ok!');
end;
Das with-do erspart dir, immer wieder Variable.Name bzw. Variable.Alter schreiben zu müssen. Ich hoffe das war das was du gemeint hast, andernfalls weiß ich wirklich nicht von was du sprichst.. :stupid:

Greetz
alcaeus

nailor 26. Aug 2004 19:42

Re: Undefinierter Bezeichener, aber warum ?
 
Zitat:

Zitat von Äfan
Ich meine z.B. so:

Wenn Var. Name = '' dann zeige Meldung 'Hallo'
Wenn Var. Alter = '16' dann zeige Meldung 'OK'
usw.

und das alles in einem Block.

hä? da musst du schon für jedes eine eigene abfrage machen. und das zeige meldung einfach ins englische übersetzten, und du hast den passenden befehl Delphi-Referenz durchsuchenShowMessage

Äfan 26. Aug 2004 19:48

Re: Undefinierter Bezeichener, aber warum ?
 
OK jetzt ceck ichs :thumb:

Man Delphi is schon so ne Sache für sich :stupid:


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

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