🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.pascal
4 messages
4 total messages Started by webmajsterek Sat, 23 Feb 2008 18:09
co daje out ??
#92471
Author: webmajsterek
Date: Sat, 23 Feb 2008 18:09
19 lines
1279 bytes
co w FPC daje out w definicji nap procedury 

np 

procedure co ( out t:text);


kiedys myslalem ze to po prostu nowe nazwanie var  we FPC ale znalalzem cosik
takiego 

Procedure Assign({$ifdef PARAOUTFILE}out{$else}var{$endif} t:Text;const s:String);


a wiec to porpostu nowe nazwanie definicji zmiennej  czy jednak var i out sie
czym roznia ??


-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: co daje out ??
#92472
Author: Wiktor S.
Date: Sun, 24 Feb 2008 12:04
29 lines
1407 bytes
> co w FPC daje out w definicji nap procedury

> procedure co ( out t:text);

> a wiec to porpostu nowe nazwanie definicji zmiennej  czy jednak var i
> out sie czym roznia ??

różnią się tym, że vara w procedurze możesz zapisywać i odczytywać, a outa 
tylko zapisywać:


procedure ala(var x:byte);
var y:byte;
begin
  y:=x;  // odczyt
  x:=10; // zapis
end;

procedure kota(out x:byte);
var y:byte;
begin
  x:=10; // zapis
  y:=x;  // błąd
end;



-- 
Azarien
Re: co daje out ??
#92473
Author: Łukasz 'Maly' Ostrowski
Date: Sun, 24 Feb 2008 14:14
67 lines
2293 bytes
Wiktor S. wrote:
>> co w FPC daje out w definicji nap procedury
>
>> procedure co ( out t:text);
>
>> a wiec to porpostu nowe nazwanie definicji zmiennej  czy jednak var i
>> out sie czym roznia ??
>
> różnią się tym, że vara w procedurze możesz zapisywać i odczytywać, a
> outa tylko zapisywać:
>
>
> procedure ala(var x:byte);
> var y:byte;
> begin
>  y:=x;  // odczyt
>  x:=10; // zapis
> end;
>
> procedure kota(out x:byte);
> var y:byte;
> begin
>  x:=10; // zapis
>  y:=x;  // błąd
> end;


I do tego, w ramach hintu, proponuje zanalizować poniższy fragment,
i zwrócić uwagę na warningi:

procedure foo(i:integer);
begin
end;

procedure bar(out i:integer);
begin
end;

procedure fooBarator();
var
 i, j : integer;
begin
  foo(i); // linia 13
  bar(j);
end;

begin
  fooBarator();
end.

---------- Compile (FPC-WIN32) ----------
Free Pascal Compiler version 2.2.0 [2007/09/09] for i386
Copyright (c) 1993-2007 by Florian Klaempfl
Target OS: Win32 for i386
Compiling outblah.pas
outblah.pas(13,3) Warning: Local variable "i" does not seem to be 
initialized
Linking outblah.exe
18 lines compiled, 0.2 sec, 23104 bytes code, 1208 bytes data
1 warning(s) issued

Output completed (0 sec consumed) - Normal Termination

-- 
Pozdrawiam,
Łukasz 'Maly' Ostrowski.
http://maly.nemo.pl/ 
Re: co daje out ??
#92474
Author: Magda S
Date: Tue, 26 Feb 2008 23:02
21 lines
1462 bytes
webmajsterek@poczta.onet.pl pisze:
> co w FPC daje out w definicji nap procedury 
> 
> np 
> 
> procedure co ( out t:text);
> 
> 
> kiedys myslalem ze to po prostu nowe nazwanie var  we FPC ale znalalzem cosik
> takiego 
> 
> Procedure Assign({$ifdef PARAOUTFILE}out{$else}var{$endif} t:Text;const s:String);
> 
> 
> a wiec to porpostu nowe nazwanie definicji zmiennej  czy jednak var i out sie
> czym roznia ??
> 
> 
Dla parametrów będących długimi stringami, interfejsami i tablicami 
dynamicznymi przed wywołaniem procedury (nie w procedurze) robiona jest 
finalizacja i nilowanie. Parametry Variant są ustawiane na undefined.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads