Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Checkbox - Problem mit der Reihenfolge (https://www.delphipraxis.net/107727-checkbox-problem-mit-der-reihenfolge.html)

Delphi Code Anfänger 1. Feb 2008 20:21

Re: Checkbox - Problem mit der Reihenfolge
 
Hey Cool Danke!

Eine Frage habe ich noch. Was ist IfThen? Das muss ich doch auseinander schreiben oder? Wenn ich das dann mache stimnmt es mit den klammern nicht mehr.

marabu 1. Feb 2008 20:28

Re: Checkbox - Problem mit der Reihenfolge
 
Was sagt deine Delphi-Hilfe, wenn du IfThen über deren Index suchst?

Delphi Code Anfänger 2. Feb 2008 09:58

Re: Checkbox - Problem mit der Reihenfolge
 
Also

erst kommt If
dann die Bedingung
then und ein Befehl.

Aber was ist denn dann die Bedingung?

DeddyH 2. Feb 2008 10:00

Re: Checkbox - Problem mit der Reihenfolge
 
Zitat:

Die Funktion gibt abhängig von einer Bedingung einen von zwei angegebenen Werten zurück.

Unit

Math oder StrUtils

Kategorie

Sonstige Routinen

Delphi-Syntax:

function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer = 0): Integer; overload;

function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64 = 0): Int64; overload;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double = 0.0): Double; overload;
function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string = ''): string; overload;

C++ Syntax:

extern PACKAGE int __fastcall IfThen(bool AValue, const int ATrue const int AFalse);
extern PACKAGE __int64 __fastcall IfThen(bool AValue, const __int64 ATrue const __int64 AFalse);
extern PACKAGE double __fastcall IfThen(bool AValue, const double ATrue const double AFalse);
extern PACKAGE AnsiString __fastcall IfThen(bool AValue, const AnsiString ATrue const AnsiString AFalse);

Beschreibung

IfThen überprüft den in AValue übergebenen Ausdruck und gibt AValue zurück, wenn die Auswertung true ergab. Ist die Auswertung false wird AFalse zurückgegeben. Wenn der Parameter AFalse weggelassen wird, gibt IfThen in Delphi 0 oder einen leeren String zurück, wenn die Auswertung von AValue False liefert.

Delphi Code Anfänger 2. Feb 2008 10:15

Re: Checkbox - Problem mit der Reihenfolge
 
Oh peinlicher Fehler meinerseits. Wird zusammen geschrieben. Gerade getestet. Da kommt diese Meldung:

E2003 Undefinierter Bezeichner: 'IfThen'

Was muss ich denn da noch Definieren?

DeddyH 2. Feb 2008 10:18

Re: Checkbox - Problem mit der Reihenfolge
 
Schau mal, was da im Zitat unter "unit" steht.

Delphi Code Anfänger 2. Feb 2008 11:48

Re: Checkbox - Problem mit der Reihenfolge
 
Oh ja habe ich nicht dran gedacht.

Bekomme jetzt aber diese Meldung:

E2250 Es gibt keine überladene Version von 'IfThen', die man mit diesen Argumenten aufrufen kann

marabu 2. Feb 2008 11:49

Re: Checkbox - Problem mit der Reihenfolge
 
Du musst StrUtils einbinden, nicht Math!

Delphi Code Anfänger 2. Feb 2008 13:07

Re: Checkbox - Problem mit der Reihenfolge
 
Oh ja daran lag es.

Jetzt kommt aber die Meldung:

fehlender Operator im Abfrageausdruck.

Habe die Stelle schon ausgemacht:

Delphi-Quellcode:
s.Add(Format('%s wert %s LIKE %s', [
      IfThen(s.Count = 1, 'AND'),
      IfThen(not Boxes[i].Checked, 'NOT'),
      QuotedStr('%' + Boxes[i].Name + '%')
    ]));
Aber für meine Augen fehlt da nichts. :shock:

DeddyH 2. Feb 2008 13:21

Re: Checkbox - Problem mit der Reihenfolge
 
Versuch es mal so:
Delphi-Quellcode:
s.Add(Format('%s wert %s LIKE %s', [
      IfThen(s.Count = 1, 'AND'),
      IfThen(not Boxes[i].Checked, 'NOT'),
      QuotedStr(Format('%%%s%%',[Boxes[i].Name]))
    ]));


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:10 Uhr.
Seite 2 von 3     12 3      

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