home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Interdit
/
pc-interdit.iso
/
graph
/
tools.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-10-04
|
2KB
|
47 lines
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.