pokušavam izračunati visinu ladice pomoću pascala i ne uspijevam jer prilikom ubacivanja simbola djeljenja “/” ili množenja “*” kod ubacuje naziv ladice…
kako pravilno parsirati te simbole unutar formula da mogu izračunati npr parent.visina/3?
Umjesto apostrofa je korišten “pametni” navodnik.
Umjesto minusa je korištena crtica.
Evo primjera koda koji radi.
Program skripta_test;
const
globalDVRD=2.0;
globalDVRG=2.0;
globalBrojLadica=3;
globalDVRFIZM=2.0;
lokalniNazivGornjeDaske='strop';
lokalniNazivDonjeDaske='pod';
var
ss : string;
bb : single;
function FormatNumber(ff:single):string;
begin
result:=FloatToStr(ff);
end;
Begin
ss:='(' + lokalniNazivGornjeDaske + '.Y – ' + lokalniNazivDonjeDaske + '.Y – ' +
FormatNumber(globalDVRD) + ' – ' + FormatNumber(globalDVRG) + ' – ' +
FormatNumber((globalBrojLadica-1) * globalDVRFIZM) + ') / ' + IntToStr(globalBrojLadica);
writeln(ss);
End.
Rezultat:
Compiled succesfully
(strop.Y – pod.Y – 2.000000000000 – 2.000000000000 – 4.000000000000) / 3
Succesfully Execute
hvala na kodu… i sam sam uspio dobiti što i vi, međutim probajte dodati tu formulu u vrijednost visine ladice… znak “/” se krivo parsira i formula se ne računa dobro
// Linija 193-195 – NE RADI:
elm.HFormula := ‘(‘ + lokalniNazivGornjeDaske + ‘.Y – ‘ + lokalniNazivDonjeDaske + ‘.Y – ‘ +
FormatNumber(globalDVRD) + ‘ – ‘ + FormatNumber(globalDVRG) + ‘ – ‘ +
FormatNumber((globalBrojLadica – 1) * globalDVRFIZM) + ‘) / ‘ + IntToStr(globalBrojLadica)