Konstigt problem

Programmering

2 svar · 244 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Trådstart#1

Förstår inte varför men om jag tar bort raden med showmessage() så funkar inte denna funktionen, svaret blir då helt fel. Hur kan det komma sig när den raden inte gör någonting?

function OctStrToInt(const s : string) : integer;
var
  n, i, k : integer;
begin

  for i := 1 to Length(s) do
  begin
    showmessage(Copy(S,i,1) + ' ' + IntToStr(StrToInt(Copy(S,i,1))));  // <------- DENNA

    n := StrToInt(Copy(S,i,1));

    if((Ord(s[i])>=Ord('0')) and (Ord(s[i])<=Ord('7'))) then
    begin
      k := k + n * round( Power(8,Length(s)-i) );
    end
    else begin
      Result := 0;
      exit;
    end;

  end;

  Result := k;

end;
Medlem sedan maj 20002 993 inlägg
#2

Jag löste det på ett lite annorlunda sätt men förklara gärna hur det kunde spela någon roll beroende på om jag hade showmessage koden där. :OO

Medlem sedan sep. 20027 inlägg
#3

förklara gärna hur du löste det också!!

249 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)