Wywołanie funkcji

0

Witam
Przepraszam za lamerskie może pytanie ,ale dopiero zaczynam swoją zabawe z programowaniem w ogólności a Delphi w szczególności i pewne skądinnąd oczywiste rzeczy bywają dla mnie niejasne.
Mianowicie analizując kod modułu FileIO (zamieszczonego zresztą na stronie www.programowanie.of.pl) doszedłem do następującego fragmentu:

{ GetByte -- return next byte in file. Read buffer if necessary }
function TFilterFile.GetByte : byte;
begin
if (FBuffIndx &gt= FBytesInBuff) then begin
if (not ReadBuffer) then begin
Result := 0;
Exit;
end
else
FBuffIndx := 0;
end;

Result := FBuffer^[FBuffIndx];
Inc (FBuffIndx);
end;

Pytanie:
Czy linijkę " if (not ReadBuffer) then begin " należy traktować jednoczesnie jako wywołanie funkcji lokalnej ReadBuffer w celu sprawdzenia zwracanej wartości , czy też jest to sprawdzenie wartości zwróconej kiedyś tam przy poprzednim jawnym wywołaniu tej funkcji ?
Uogólniając - czy można założyć ,że każde sprawdzenie wartości zwracanej przez jakąś funkcję czy wyrażenie jest równoznaczne z jego wywołaniem ,czy jest to założenie z gruntu fałszywe?
Przepraszam za podstawowe może pytanie lecz dla poczatkujacego nie zawsze są to rzeczy jasne.
--Pzdr.
W.

0

Jeżeli sprawdzasz wartość funkcji to znaczy, że ją wywołujesz. Jeżeli potrzebujesz wielokrotnie użyć wartości funkcji, to podstaw ją raz pod zmienną, a potem wykorzystuj zmienną. To znacznie przyspieszy działanie programu.

P.S. Tu nie ma lamerskich pytań. Chyba, że się wielokrotnie pyta o to co jest już w FAQu :-) --Pomoc i analiza źródeł wszystko czego potrzebujesz ( no i może odrobinę logicznego myślenia)

0

Dzięki.Sporo mi się w tym programie wyjaśniło ... {glowa} --Pzdr.
W.

1 użytkowników online, w tym zalogowanych: 0, gości: 1