Toon posts:

Functie aanroepen vanuit een tabel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een onderhoudsprogramma in Delphi te maken en daarin moet ik gebruik maken van een database.

Ik wil in een tabel een functie kwijt waarin staat geschreven hoe een bepaalde prijs van een samengestelde product berekent kan worden. Deze functie wil ik dan aanroepen en dan de uitkomst in een editbox laten verschijnen.

Deze functie heb ik klaar en heb hem in een record van een tabel geplaats, echter als ik hem in de editbox wil plaatsen komt er mooi de code van de functie te staan :r

Is het mogelijk deze functie een berekening te laten
uitvoeren en het resultaat af te drukken in een editbox.

:?

Dus deze berekening vanuit deze tabel laten aanroepen en dan de uitkomst laten zien in een edit veld.

Is dit mogelijk? en zo ja hoe dan?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
In PHP is hiervoor de functie eval().
Misschien is er ook wel een equilevant daarvan voor Delphi.
Zoek eens op eval+delphi?

Verwijderd

Helaas, Delphi heeft geen Eval functie of iets wat daarop lijkt.
Dit is meestal voorbehouden aan geinterpreteerde talen, omdat je dan altijd de volledige runtime library bij de hand hebt. Er zijn wel compilers die 't ook bieden, maar die compileren de RTL altijd volledig mee (Clipper), of hebben die RTL toch al nodig (Java, .NET).

In Delphi kun je denk ik 't best een calculated field aan je Table of Query toevoegen, en dan in 't OnCalcFields event van de dataset of in de OnGetText van 't field zelf de functie parsen en het eindresultaat in 't calculated field zetten. Die kun je daarna weer prima gebruiken in een editbox oid.

Verwijderd

Topicstarter
Op dinsdag 18 december 2001 16:18 schreef Afterlife het volgende:

In Delphi kun je denk ik 't best een calculated field aan je Table of Query toevoegen, en dan in 't OnCalcFields event van de dataset of in de OnGetText van 't field zelf de functie parsen en het eindresultaat in 't calculated field zetten. Die kun je daarna weer prima gebruiken in een editbox oid.
Kun je je nader verklaren, ik volg dit niet zo :?