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?
Problem je bio u znaku minusa.
Postoji crtica i minus. I vi i ja smo koristili crticu umjesto minusa.
Evo ispravljenog i testiranog koda.
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
bb:=globalBrojLadica-1;
ss:='(' + lokalniNazivGornjeDaske + '.Y - ' + lokalniNazivDonjeDaske + '.Y - ' +
FormatNumber(globalDVRD) + ' - ' + FormatNumber(globalDVRG) + ' - ' +
FormatNumber((globalBrojLadica-1) * globalDVRFIZM) + ') / ' + IntToStr(globalBrojLadica);
writeln(ss);
e.childdaska.Daska[0].xFormula:=ss;
End.
Moguće je da neki programi dodatno formatiraju tekst i znak minusa pretvore u crticu.
Možda čak i ovaj “forum”. 😉
// Linija 193-195 – NE RADI:
elm.HFormula := ‘(‘ + lokalniNazivGornjeDaske + ‘.Y – ‘ + lokalniNazivDonjeDaske + ‘.Y – ‘ +
FormatNumber(globalDVRD) + ‘ – ‘ + FormatNumber(globalDVRG) + ‘ – ‘ +
FormatNumber((globalBrojLadica – 1) * globalDVRFIZM) + ‘) / ‘ + IntToStr(globalBrojLadica)