AGB  ·  Datenschutz  ·  Impressum  







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

String mit Bedingung auswerten

Offene Frage von "ioster"
Ein Thema von ioster · begonnen am 16. Jan 2017 · letzter Beitrag vom 16. Jan 2017
Antwort Antwort
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#1

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 11:08
Ich habe momentan keine Zeit und kann Dir jetzt auch nicht sagen, ob der Parser von damals mit solchen Bedingungen klar kam, allerdings ließe sich das recht leicht implementieren. Eine Demo ist dabei. Schau einfach mal rein.

......
Angehängte Dateien
Dateityp: zip Live Coding, Math Parser, Full mit Graph.zip (386,2 KB, 4x aufgerufen)
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 12:07
Hallo,

ich würde die Eingabeparameter erst auf numerisch / nicht numerisch (Dezimalsystem!) prüfen, um dann anschließend auf 2 Arten weiter zu arbeiten.

Fall 1: numerisch; hier ist es doch relativ einfach, da die Zeichen (+ - * / < < <>) direkt ausgewertet werden können.

Fall 2: nicht numerisch; Rechenoperationen funktionieren nicht und die Vergleichsoperatoren kannst Du wie gewohnt verwenden ->

Delphi-Quellcode:
   if 'Perter' > 'Zachariasthen
      ShowMessage('Peter ist größer Zacharias')
   else
      ShowMessage('Peter ist nicht größer Zacharias');

   if 'Perter' <= 'Zachariasthen
      ShowMessage('Peter ist kleiner gleich Zacharias')
   else
      ShowMessage('Peter ist nicht kleiner Zacharias');
Vielleicht hilft`s ja schon!

Gruß
Rolf
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#3

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 12:34
Zum prüfen ob ein String eine Nummer ist benutze ich immer gerne das hier

Delphi-Quellcode:
function IsNumeric(const aString: string; const bAcceptNegativeNumbers: Boolean = True): Boolean;
var
 bRes: Boolean;
begin
 bRes := StrToInt64Def(aString, 0) = StrToInt64Def(aString, 1);

 if bRes and (not bAcceptNegativeNumbers) and (StrToInt64(aString) < 0) then
  bRes := False;

 Result := bRes;
end;


IsNumeric('123'); // True
IsNumeric('-123'); // True
IsNumeric('-123', False); // False
IsNumeric('ABC'); // False
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.413 Beiträge
 
Delphi 12 Athens
 
#4

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 12:52
Ich habe es geschafft, das Projekt mal fix anzupassen. Unterstützung für >, >=, <, und <= sind jetzt enthalten, siehe Math.Parser.Operators. Weitere kannst Du einfach hinzufügen.

Achtung, da das als Mathe-Berechnung gedacht ist, geben die Vergleiche 1 zurück, wenn diese passen, und 0 zurück, wenn nicht.

......
Angehängte Grafiken
Dateityp: png AddedCompareSupport.png (38,6 KB, 18x aufgerufen)
Angehängte Dateien
Dateityp: 7z Live Coding, Math Parser, Full mit Graph.7z (44,9 KB, 6x aufgerufen)
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 15:55
Ich habe es geschafft, das Projekt mal fix anzupassen. Unterstützung für >, >=, <, und <= sind jetzt enthalten, siehe Math.Parser.Operators. Weitere kannst Du einfach hinzufügen.

Achtung, da das als Mathe-Berechnung gedacht ist, geben die Vergleiche 1 zurück, wenn diese passen, und 0 zurück, wenn nicht.

......
0 und 1 als Rückgabewert ist nicht weiter schlimm, weil in der Regel eine Formel oder eine Bedingung übergeben würde. Ich muss mir das Projekt nachher oder morgen anschauen, ob es in meine Umgebung passt.

Vorab Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.673 Beiträge
 
Delphi 12 Athens
 
#6

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 12:53
Soll das mit Delphi 2007 laufen oder darf es auch etwas neuer sein?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
84 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: String mit Bedingung auswerten

  Alt 16. Jan 2017, 15:51
Soll das mit Delphi 2007 laufen oder darf es auch etwas neuer sein?
Ich bin leider bei dem Projekt an Delphi 2007 gebunden.
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:33 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