Difference between revisions of "Source Examples"

From Freepascal Amiga wiki
Jump to navigation Jump to search
(Added hello world example program (as in wiki-editor trying to get the hang on things))
Line 6: Line 6:
 
* ...
 
* ...
 
----
 
----
 +
 
Basic hello world program:
 
Basic hello world program:
<code>
 
 
   Program HelloWorld;
 
   Program HelloWorld;
 
   Begin
 
   Begin
 
     Writeln('Hello World');
 
     Writeln('Hello World');
 
   End.
 
   End.
</code>
 
  
 +
How to check if the program started from Wanderer/Workbench
 +
  program WBStart;
 +
  begin
 +
    if assigned(AOS_WbMsg) then
 +
      writeln('Started from WB')
 +
    else
 +
      writeln('Started from CLI');
 +
  end.
  
 
One example, Put a message to a named port:
 
One example, Put a message to a named port:
<code>
 
 
  function SafePutToPort(Msg: PMessage; Portname: string): Integer;
 
  function SafePutToPort(Msg: PMessage; Portname: string): Integer;
 
  var
 
  var
Line 33: Line 39:
 
   Permit();
 
   Permit();
 
  end;
 
  end;
</code>
 

Revision as of 18:09, 25 August 2013

Source Examples

On this page Source example are going to collect (or links to it) which working on AROS freepascal



Basic hello world program:

 Program HelloWorld;
 Begin
   Writeln('Hello World');
 End.

How to check if the program started from Wanderer/Workbench

 program WBStart;
 begin
   if assigned(AOS_WbMsg) then
     writeln('Started from WB')
   else
     writeln('Started from CLI');
 end.

One example, Put a message to a named port:

function SafePutToPort(Msg: PMessage; Portname: string): Integer;
var
  Port: PMsgPort;
  PName: PChar;
begin
  Result := -1;
  PName := PChar(Portname + #0);
  Forbid();
  Port := FindPort(PName);
  if Assigned(Port) then
  begin
    PutMsg(Port, Msg);
    Result := 0;
  end;
  Permit();
end;