AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

If - Abfrage variabel gestalten ?

Ein Thema von HolgerCW · begonnen am 22. Jan 2010 · letzter Beitrag vom 22. Jan 2010
Antwort Antwort
Seite 1 von 3  1 23      
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#1

If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 12:36
Hallo zusammen,

Ich möchte das Gleichheitszeichen gegen eine Variabel austauschen. Nur wie mache ich das ?
Delphi-Quellcode:
If Test = 1 then
begin

 ...

end;
quasi irgendwie so:

Delphi-Quellcode:
Variabel := '=';

If Test Variabel 1 then
begin

 ...

end;
Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von guinnes
guinnes

Registriert seit: 28. Feb 2007
Ort: Bottrop
265 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 12:44
Was mir dazu einfällt : Prozeduraler Parameter :
Delphi-Quellcode:
TVergleich : Function(A,B : Integer) : Boolean;

Function Groesser(A,B : Integer) : Boolean;
begin
  Result := A > B;
end;

Function Kleiner(A,B : Integer) : Boolean;
begin
  Result := A < B;
end;


....

var
  VergleichFunc : TVergleich;
begin
  VergleichFunc := Groesser;
  if VergleichFunc(a,b) then
  begin
Glückauf
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#3

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 12:46
Keine Ahnung ob das funktioniert.

Alternativ wäre sowas möglich:

Delphi-Quellcode:
case AbfrageTyp of
  0: if Test = 1 then ...
  1: if Test <> 1 then ...
  2: if Test > 1 then ...
  3: if Test < 1 then ...
end;
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 12:50
Hallo Holger,

auf den ersten Blick ist Deine Anforderung nicht sehr intelligent, aber ich vermute Du hast Dir etwas dabei gedacht, darum kein Verweis auf case/</>......

Dunkel kann ich mich erinnern das zu TP-Zeiten schon einmal jemand dieses Ansinnen hatte und das wurde dann mit einer Vergleichsfunktion gelöst. etwa so:
Delphi-Quellcode:
 if VERGLEICHE(a,b).....

function VERGLEICHE (Wert1,Wert2);
begin
  if regewetter then
   if wert1=wert2 then result:=true;
  if Schnee then
   if wert1<>Wert2 then result:=true;
......
end;
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#5

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 12:56
Zitat von p80286:
Delphi-Quellcode:
 if VERGLEICHE(a,b).....

function VERGLEICHE (Wert1,Wert2);
begin
  if regewetter then
   if wert1=wert2 then result:=true;
  if Schnee then
   if wert1<>Wert2 then result:=true;
......
end;
Schöner ist dann aber:

Delphi-Quellcode:
 if VERGLEICHE(a,b).....

function VERGLEICHE (Wert1,Wert2);
begin
  if regewetter then
   result := wert1=wert2;
  if Schnee then
   result := wert1<>Wert2;
......
end;
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 13:01
@Divby0
geschenkt! Noch wissen wir ja nicht was er wirklich will.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#7

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 13:04
Jo stimmt.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
s-off

Registriert seit: 20. Jan 2010
89 Beiträge
 
Delphi 2010 Professional
 
#8

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 13:11
Zitat von p80286:
geschenkt! Noch wissen wir ja nicht was er wirklich will.
Guter Stil hat nichts mit einer inhaltlichen Anforderung zu tun. Und da muss ich divBy0 recht geben, dass
result := wert1=wert2; stilgerechter ist als
if wert1=wert2 then result:=true; Da das allgemeingültig ist, sehe ich das trotz des OT hier gut aufgehoben.

Im Endeffekt wird wohl alles auf so eine Vergleichsfunktion hinauslaufen.
Gruß
s-off
  Mit Zitat antworten Zitat
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#9

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 13:13
Zur Erklärung.

Ein und die selbe Procedure wird von zwei Buttons aus gestartet.

Wenn Sie von Button1 aus aktiviert wird, soll nach "=" abgefragt werden und wenn aus Button2 gestartet wird soll nach "<>" abgefragt werden. Es handelt sich um das zweite Abfragekennzeichen bei 'RW_VERSCHROTTUNG'.

Die Abfrage sieht so aus:

Delphi-Quellcode:
If (DM_Geraete.Query1['RW_NUMMER'] <> Null) AND (DM_Geraete.Query1['RW_VERSCHROTTUNG'] = Null) then
begin

end;
Ich dachte mir das ich vor der Abfrage einfach folgendes mache:

Delphi-Quellcode:
With Sender as TBitBtn do
begin

  If Name = 'BitBtn1then Kennzeichen := '=';
  
  If Name = 'BitBtn2then Kennzeichen := '<>';

end;

If (DM_Geraete.Query1['RW_NUMMER'] <> Null) AND (DM_Geraete.Query1['RW_VERSCHROTTUNG'] Kennzeichen Null) then
begin

end;
Nur geht das nicht.

Gruss

Holger
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#10

Re: If - Abfrage variabel gestalten ?

  Alt 22. Jan 2010, 13:39
Das ist aber kein Problem. Definiere ein lokale Variable und schreibe für den einen Button eine 1 und für den anderen eine 2 und übergibt dies deiner Prozedur oder du übergibts der Prozedur gleich den Sender und wertest intern aus.

Delphi-Quellcode:
If Sender = BitBtn1 then...

If Sender = BitBtn2 then...

Edit: Natürlich ohne ''.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:42 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