astuces

Some tips

Assign an action to a key
automapping
Debug
Quickly write a simple program
enter texts from several windows
Files
History
How to generate music from motion pictures
Sockets

Assign an action to a keyt

1) Write a function ACTION() performing this action.
2) In the function F0 of first call-back interaction func(0,F0), write:
       interaction ascii("t")func("ACTION");
Example:
To inhibit the text displays as if the mouse button : (colon):is pressed:
Write the function:
COLON()
{
       inv status scale menu message mouse;
}

2) Write in the function F0:
       interaction ascii(":")func("COLON");

Debug

Find a compile error

The name of the function and the offending line is usually edited. We can always edit func, only the names of the functions are compiled correctly edited (the error has occurred in the following function).

Find an execution error

Use the bug1.func which offers a general frame for writing an interactive program. Simply place the code between the tags:

    /***************/
    /* AJOUTER ... */
    /***************/

and
    /*******************/
    /* FIN AJOUTER ... */
    /*******************/


We can declare as many variables and functions as necessary..

We can also change a function (with the internal editor) when the program is runing.

Use anyflo_video.js

If the function is started to debug a .js file, it was revived indefinitely in case of error. It is better to start this function from anyflo_video.js, for this:
1) Click on anyflo_video.js
2) read the function f.func.
3) launch it: f()
4) We then hand to see the variables.

Code debugger

Use command debug.

Debug variables

Use commande interaction debug who can edit and / or view variables on scales.

Debug anyflo code

When you have sources anyflo and Visual C + + environment.

Quickly write a simple program

Build a source file xxx.func

1) Copy file modele_menu_simple.func in xxx.func
2) Edit file xxx.func and change modele_menu_simple() in xxx()
3) Write code dans functions AAA() BBB() and CCC()
4) Add directives, des variables, des functions, etc...
5) execute xxx(): interaction mod ist automatically invoked and a menu containing functions names appears.
6) To automatically launch this function:
       7-1)Copy file modele_menu_simple.js in xxx.js.
       7-2) Edit file xxx.js and replace modele_menu_simple() by xxx().
       7-3) Click on xxx.js: function xxx() is automatically executed.

Some recommendations

1) To facilitate debugging it is useful to give the same name to a check XXX menu and function XXX () associated with it, and give names like xxx_yyy () functions depending on XXX
2) To avoid confusion between a variable name and a commande name (there are hundreds ...)
status(xxx); prints: dim (size xxx), type (CHAR or FLOAT), np (number of vectors), dimp (vector size) and the value of xxx.
status(com); prints nothing if com is a command, but returns the status of the command.
Example:
1)x=[1,12];status(x); prints:
dim = 6 type = FLOAT np = 12 dimp = 3
1 2 3 4 5 6 7 8 9 10 11 12
2) status screen; print nothing.
but $status screen; print 1 if yes screen is active, and 0 otherwise.

Files

Raen an ascii file

To determine the contents of an ascii file name nn, do:
$read("nn");
To retrieve the contents of an ascii file name in a variable nn v do:
v=read("nn");

History

Examples.

Socket

Socket UDP

To avoid expectations (which can be very long ...) is send by the client, that the relevant information. Practically just do not send two consecutive times the same information.