home *** CD-ROM | disk | FTP | other *** search
- Unit Tools;
-
- Interface
-
- procedure sin_gen(var table:Array of word;periode,amplitude,offset:word);
- Procedure Draw_Ansi(Nom:String);
-
-
- Implementation
-
- procedure sin_gen(var table:Array of word;periode,amplitude,offset:word);
- {calcule une table des sinus de longueur periode ,
- et la mémorise dans le tableau table.
- "hauteur" est stockée dans la variable Amplitude et
- la situation du point 0 en offset }
- Var i:Word;
- Begin
- for i:=0 to periode-1 do
- table[i]:=round(sin(i*2*pi/periode)*amplitude)+offset;
- End;
-
- Procedure Draw_Ansi(Nom:String);
- {Renvoi un fichier ANSI à l'écran (ANSI.SYS nécessaire !)}
- Var Ansi:File; {Fichier Ansi}
- StdOut:File; {Fichier de sortie standard (Int 21h)}
- Tampon:Pointer; {Tampon pour l'écran}
- Taille:Word; {Taille du fichier}
- Begin
- Assign(Ansi,Nom); {Ouverture du fichier Ansi}
- Assign(StdOut,'CON'); {Ouverture du fichier de sortie}
-
- Reset(Ansi,1); {Init. du Fichier Ansi avec une taille de 1 octet}
- Taille:=FileSize(Ansi);
- Reset(Ansi,Taille); {Init.du fichier avec pour taille Taille}
- Reset(StdOut,Taille); {Init. du fichier de sortie}
-
- GetMem(Tampon,Taille); {Allocation mémoire}
- BlockRead(Ansi,Tampon^,1); {Lecture de fichier ...}
- BlockWrite(StdOut,Tampon^,1); {... et écriture}
- FreeMem(Tampon,Taille); {Libération de la mémoire}
- Close(Ansi); {Fermeture du fichier}
- Close(StdOut);
- End;
-
- Begin
- End.
-