AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ifthen: Was ist da falsch?

Ein Thema von idefix2 · begonnen am 6. Jul 2015 · letzter Beitrag vom 6. Jul 2015
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:39
Delphi-Version: 2009
In der Zeile
result := ifthen(empty<>'',2,ord(warn<>'')) kommt die Fehlermeldung:
Zitat:
[DCC Fehler] StromMainForm.pas(1705): E2250 Es gibt keine überladene Version von 'IfThen', die man mit diesen Argumenten aufrufen kann
Empty und warn sind vom Typ String, result ist integer

Geändert von idefix2 ( 6. Jul 2015 um 08:01 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:51
Hilfe lesen:

function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string;
Dein zweiter Parameter ist z.B. eine 2, das ist ja dann wohl kein String.

EDIT: Die o.g. function ist aus StrUtils, du willst wahrscheinlich die aus der Unit MATH, ggf. musst die diese explizit angeben, wenn du beide Units in der Uses-Liste hast (math.ifthen(...)).
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)

Geändert von baumina ( 6. Jul 2015 um 07:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.474 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:51
Also bei mir geht es (DXE4). Wo ist denn die Funktion deklariert? Normal in Math
Sven
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.474 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:52
Hilfe lesen:

function IfThen(AValue: Boolean; const ATrue: string; AFalse: string = ''): string;
Dein zweiter Parameter ist z.B. eine 2, das ist ja dann wohl kein String.
die gibt es alle:

Delphi-Quellcode:
function IfThen(AValue: Boolean; const ATrue: Integer; const AFalse: Integer): Integer;
function IfThen(AValue: Boolean; const ATrue: Int64; const AFalse: Int64): Int64;
function IfThen(AValue: Boolean; const ATrue: UInt64; const AFalse: UInt64): UInt64;
function IfThen(AValue: Boolean; const ATrue: Single; const AFalse: Single): Single;
function IfThen(AValue: Boolean; const ATrue: Double; const AFalse: Double): Double;
function IfThen(AValue: Boolean; const ATrue: Extended; const AFalse: Extended): Extended;
Sven
--
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:56
Siehe Edit.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.535 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 07:57
Lass Dir mal das Ergebnis von ord( warn <> '') anzeigen.
Markus Kinzler
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#7

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 08:08
EDIT: Die o.g. function ist aus StrUtils, du willst wahrscheinlich die aus der Unit MATH, ggf. musst die diese explizit angeben, wenn du beide Units in der Uses-Liste hast (math.ifthen(...)).
Danke, an dem habe ich gestern abend eine Stunde herumgesucht (war aber auch schon spät ).
In dieser einen Unit hatte ich vergessen, Math in die uses Klausel aufzunehmen, deshalb kannte er nur die Prozedur aus den strUtils.

Ich wollte meinen Code etwas kompakter machen, überall sonst im Programm hat es funktioniert (in den anderen Units war Math schon eingebunden, und in dieser habe ich sonst nur das ifthen aus den StrUtils gebraucht)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: ifthen: Was ist da falsch?

  Alt 6. Jul 2015, 08:16
In dem Fall hilft immer folgender Trick: IfThen( {hier den Cursor hin und UMSCH-STRG-LEER drücken} True, 0, 42 ); und schon sieht man, welche Argumente und welche Varianten möglich sind.

Und wenn das was erwartet wird nicht gesehen wird, dann fehlt wolhl eine Unit ...

So ganz nebenbei sollte man UMSCH-STRG-LEER mal wesentlich häufiger und an allen möglichen Stellen im IDE-Editor benutzen und sich wundern, wo dieser Shortcut denn funktioniert und welche wundersamen Hilfen dieser bereitstellen kann.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 6. Jul 2015 um 08:19 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf