: : : :
This message was edited by porodoro at 2007-2-10 6:26:20
: : : : Hi again,
: : : : Im trying to make a program that will calculate the difference of 2 numbers in percentage.
: : : :
: : : : I've made this function:
: : : :
: : : : function MK_PERC(N1,N2):integer;
: : : : var S:string;
: : : : var S2:integer;
: : : : begin
: : : : s := Format('%d',[N1-N2]);
: : : : s2:=strtoINT(s);
: : : : result:=abs(s2);
: : : : END;
: : : :
: : : : But it doesnt work.
: : : :
: : : : Any ideas what im doing wrong?
: : : :
: : : :
: : : First the type of the parameters is missing. Secondly, why so difficult with the conversion from int to string and back again. Your code is the same as this:
: : :
: : : function MK_PERC(N1, N2: integer): integer;
: : : begin
: : : Result := Abs(N1-N2);
: : : end;
: : :
: : : which is a lot easier to understand and much faster.
: : :
: : Alright thats better.
: : I have one more question..
: :
: : "{$O+}" compiler directive will improve the performance?
: : And if yes , where should i put it? at the top of each unit?
: :
: :
: It won't improve performance as such, but it will help to make "too large" programs to fit in the memory. For example: TP programs can only use the first 640kB for code, but with overlays you can write programs with up to 2-3 MB of code. The help files clearly state where to place the directive.
:
Thanks for the information! .. i got it!