Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Kleines Problem (Kompatibilität) (https://www.delphipraxis.net/91168-kleines-problem-kompatibilitaet.html)

Tommy1988 30. Apr 2007 16:20


Kleines Problem (Kompatibilität)
 
ich möchte gerne jenachdem welches caption ein label hat einen anweisungsblock ausführen:

mein versuch;

Delphi-Quellcode:
if
Label4.Caption := '1' or
Label4.Caption := '2' or
Label4.Caption := '3' then
 begin
   Zeit := 0;
// und noch mehr zeug hier
 end;
fehlermeldung:
[Fehler] Unit1.pas(1373): E2010 Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'

was mache ich falsch? anders wüsste ich nicht wie ich das machen kann.

SirThornberry 30. Apr 2007 16:22

Re: Kleines Problem (Kompatibilität)
 
die fehlermeldung sagt es eigentlich schon. Du verwendest anstelle eines erwarteten Strings eine procedure.
[Edit]
Ach, ist doch was anders. Erstens müsstest du klammern setzen bei deiner abfrage (damit das or nicht auf den String angewandet wird was eben nicht geht) und zweites machst du dort zuweisungen anstelle von vergleichen (= ist was anderes als :=)

Tommy1988 30. Apr 2007 16:23

Re: Kleines Problem (Kompatibilität)
 
ok, stimmt ja, aber wie sollte man es denn sonst machen? mir fällt grad nix ein.. außer then

Muetze1 30. Apr 2007 16:25

Re: Kleines Problem (Kompatibilität)
 
Wie wäre es denn, wenn du in der If Anweisung keine Zuweisung ( := ) machst sondern eher eine Abfrage auf Gleichheit ( = )?

Matze 30. Apr 2007 16:26

Re: Kleines Problem (Kompatibilität)
 
Da ist so einiges falsch. Da du auf Werte vergleichst, darfst du nicht den Zuweisungsoperator := nutzen und die Klammerung stimmt ebenfalls nicht:

Delphi-Quellcode:
if
(Label4.Caption = '1') or
(Label4.Caption = '2') or
(Label4.Caption = '3') then
Edit: Nur dürfte das keine solche Fehlermeldung verursachen. :gruebel:

inherited 30. Apr 2007 16:26

Re: Kleines Problem (Kompatibilität)
 
Delphi-Quellcode:
if
(Label4.Caption = '1') or
(Label4.Caption = '2') or
(Label4.Caption = '3') then
begin
   Zeit := 0;
// und noch mehr zeug hier
end;

DP-Maintenance 30. Apr 2007 16:29

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Object-Pascal / Delphi-Language" verschoben.

Tommy1988 30. Apr 2007 16:29

Re: Kleines Problem (Kompatibilität)
 
ne ich hab das jetzt anders gemacht, komisch dass mir das erst jetzt einfällt.

Delphi-Quellcode:
if
(Label4.Caption = '1') or
(Label4.Caption = '2') or
(Label4.Caption = '3') then
begin
   Zeit := 0;
// und noch mehr zeug hier
end;
nur das zeichen = anstatt von := reicht nicht, einklammerung lautete das stichtwort

Edit: Einfall kam mir wohl VOR dem post hiervor ;) habe nur zulange geschrieben. Trotzdem danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz