AGB  ·  Datenschutz  ·  Impressum  







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

boolesche Formel ausrechnen

Ein Thema von Dezipaitor · begonnen am 12. Sep 2004 · letzter Beitrag vom 23. Sep 2004
Antwort Antwort
Seite 1 von 3  1 23      
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#1

boolesche Formel ausrechnen

  Alt 12. Sep 2004, 18:47
hi

gibt es irgendeine Freeware komponente oder Dokumente über Algorithmen, mit denen man Formeln in der Form

F = (A = B) and ((C <> 3) or (D = 'tee'))

bestimmen kann,
ob
F wahr
oder
F falsch
ist?

Man beachte die die Klammerprioritäten und unterschiedliche Datentypen der Variablen.
Wobei der Inhalt der Variablen einfach in einer Liste steht.

thx
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 18:52
Ich denke mal:

Delphi-Quellcode:
F := (A = B) and ((C <> 3) or (D = 'tee'));

if F then
  ShowMessage('F ist wahr')
else
  ShowMessage)'F ist nicht wahr');
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#3

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 19:00


es war eigentlich so gedacht, dass die formel in einem string steckt,
und dann ausgewertet werden muss.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 19:14
Kann man einen String in einen Boolschen Ausdruck casten ???
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#5

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 19:22
wenn es so einfach wäre, hätte ich nicht gefragt
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#6

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 20:06
moin,

Bastel dir doch einen Parser. (was fertiges kenn ich nicht)


EDIT: Wobei das mit den unterschiedlichen Datentypen ein Problem darstellen könnte
Peter Enenkel
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 20:13
naja wieso eigentlich, wenn man die formeln (bzgl. klammersetzung) so auffriemelt das man jeden test auf gleichheit (oder ungleichheit) einzeln hat, müsste man doch im prinzip nur noch linke seite gegen reichte seite machen, das geht auch (oder erstrecht) in strings... stichwort dazu reguläre ausdrücke, damit bringt die formel dann sogar noch richtig was...

aber ma eben in 5 minuten würd ich sowas auch nich proggen
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#8

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 20:48
Hi,

ist vielleicht mit Kanonen auf Spatzen schiessen, aber vielleicht hilft ja:

Free Pascal Script
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 21:31
ich weiß das sieht bescheuert aus aber folgendes konstrukt funktioniert:
Delphi-Quellcode:
function CheckTrue(const A,B,C,D): Boolean;
const C2: Integer = 3;
      D2: string = 'tee';
begin
  Result := (Pointer(A) = Pointer(B)) and // (A = B) and ((C <> 3) or (D = 'tee'))
            ((Pointer(C) <> Pointer(C2)) or (Pointer(D) = Pointer(D2)));
end;

procedure TForm1.Button1Click(Sender: TObject);
var A,B,D: string; // man kommt leider nich drumrum es vorher
    C: Integer; // in eine variable zu schreiben
const F: array[Boolean] of string[5] = ('False','True'); //nur zur anzeige
begin
  A := 'a'; B := 'a'; C := 5; D := 'tee'; //initialisieren
  Edit1.Text := F[CheckTrue(A,B,C,D)]; //das verblüffende ergebnis sehen :-D
end;
vielleicht hilft dir das ja weiter, wenn du es noch allgemeiner umschreiben willst
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
xineohp

Registriert seit: 29. Jan 2004
Ort: Heusenstamm
420 Beiträge
 
Delphi 2005 Professional
 
#10

Re: boolesche Formel ausrechnen

  Alt 12. Sep 2004, 22:29
@Dezipaitor: Um was für Datentypen soll es sich hier eigentlich handeln? Nur string, double, integer, etc. oder auch Klassen und records?

@Nothine: funzt das auch mit records?
Peter Enenkel
  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 11:50 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