This wiki is out of date, use the continuation of this wiki instead

Type

From FenixWiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 12:51, 14 November 2007 (edit)
Sandman (Talk | contribs)
m
← Previous diff
Revision as of 09:27, 1 March 2008 (edit) (undo)
Sandman (Talk | contribs)
(Example)
Next diff →
Line 12: Line 12:
=== Example === === Example ===
 +
 +A file with name and path.
<pre> <pre>
-Program example;+Type _file
 + String path;
 + String name;
 +End
 +Process Main()
 +Private
 + _file myFile;
 +Begin
 +
 + myFile.path = "C:\";
 + myFile.name = "autoexec.bat";
 + say(myFile.path + myFile.name);
 +
 + Repeat
 + frame;
 + Until(key(_ESC))
 +
 +End
 +</pre>
 +
 +A point with x and y.
 +<pre>
// Declare the type _point // Declare the type _point
Type _point Type _point
Line 26: Line 49:
End End
 +Process Main()
Private Private
_point p1,p2; _point p1,p2;

Revision as of 09:27, 1 March 2008


Contents

Datatype declaration

Definition

Type <name>

<variables>

End

Creates a new datatype. It's handled as it it were a struct, so the declared variables are members of the struct.

Example

A file with name and path.

Type _file
    String path;
    String name;
End

Process Main()
Private
    _file myFile;
Begin

    myFile.path = "C:\";
    myFile.name = "autoexec.bat";
    say(myFile.path + myFile.name);

    Repeat
        frame;
    Until(key(_ESC))

End

A point with x and y.

// Declare the type _point
Type _point
    float x;
    float y;
End

// Declare the function distance(), because the function returns a datatype
// other than int, so it needs to be declared before usage.
Declare float distance(_point a,_point b)
End

Process Main()
Private
    _point p1,p2;
Begin

    p1.x = 15.3;
    p1.y = 34.9;
    p2.x = 165.4;
    p2.y = 137.2;

    write(0,0,0,0,"Distance: " + distance(p1,p2));
    drw_line(p1,p2);

    Repeat
        frame;
    Until(key(_ESC))

End

Function float distance(_point a, _point b)
Begin
    return sqrt( (a.x-b.x)*(a.x-b.x) + (a.y-b.y)*(a.y-b.y) );
End

Function int drw_line(_point a, _point b)
Begin
    return draw_line( a.x , a.y , b.x , b.y );
End

Used in example: write(), key(), draw_line()

This will result in something like:

Image:Type.PNG
A line and its distance

ProcessType

Definition

Type <processname>

Acquires the processTypeID of a processType or function. This can be useful for example with the functions get_id() and signal().

Example

Program example;
Private
    proc proc_id; //int could be used too
Begin

    // Start 2 proc's
    proc();
    proc();
    proc();

    // Display all alive proc's
    y = 0;
    while( (proc_id=get_id(type proc)) )
        write(0,0,(y++)*10,0,"proc: " + proc_id);
    end

    // Wait for key ESC
    Repeat
        frame;
    Until(key(_ESC))

End

Process proc()
Begin
    Loop
        frame;
    End
End

Used in example: write(), key()

This will result in something like:

Image:Type2.PNG
A list of active proc's
Personal tools