webForumDet fria alternativet

Konstigt problem

Programmering

2 svar · 226 visningar · startad av Alpha II

Medlem sedan maj 20002 993 inlägg
Frågan#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å!!

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)