MODULE testFileIO; IMPORT FileIO, InOut, FIO; VAR monInt32 : FileIO.INT32; monCardinal : CARDINAL; monLongCardinal : LONGCARD; maChaine1, maChaine2, maChaine3 : ARRAY[0..30] OF CHAR; leFichier : FIO.File; leFileIOFichier : FileIO.File; nomFichier : ARRAY[0..256] OF CHAR; BEGIN InOut.WriteString("Test des procedures de FileIO"); InOut.WriteLn; (* InOut.WriteString("Test : PROCEDURE WriteTime (f: File);"); InOut.WriteLn; FileIO.WriteTime(leFichier); *) (* ouverture du fichier en écriture *) InOut.WriteString("Test9 :PROCEDURE Open (VAR f: File; fileName: ARRAY OF CHAR; newFile: BOOLEAN); et PROCEDURE IsNoError (f: File) : BOOLEAN ;"); nomFichier := "toto.txt"; (* création avec FileIO *) FileIO.Open(leFileIOFichier, nomFichier,TRUE); IF FileIO.Okay THEN InOut.WriteString("Création OK") ELSE InOut.WriteString("la création a échoué") END; InOut.WriteLn; (* création avec FIO leFichier := FIO.OpenToWrite(nomFichier); IF FIO.IsNoError(leFichier) THEN InOut.WriteString("Création OK!") ELSE InOut.WriteString("la création du fichier a échoué"); END; InOut.WriteLn;*) InOut.WriteString("Test8 : PROCEDURE SLENGTH (stringVal: ARRAY OF CHAR): CARDINAL;"); InOut.WriteLn; maChaine1 := "Et bonjour"; InOut.WriteCard(FileIO.SLENGTH(maChaine1),8); InOut.WriteLn; InOut.WriteString("Test7 : PROCEDURE Assign (source: ARRAY OF CHAR; VAR destination: ARRAY OF CHAR);"); InOut.WriteLn; maChaine1 := "Et bonjour"; FileIO.Assign(maChaine1, maChaine3); InOut.WriteString(maChaine3); InOut.WriteLn; InOut.WriteString("Test6 : PROCEDURE Extract (source: ARRAY OF CHAR;startIndex, numberToExtract: CARDINAL;VAR destination: ARRAY OF CHAR);"); InOut.WriteLn; maChaine1 := "ma maison à Montélimar"; InOut.WriteString(maChaine1); InOut.WriteLn; FileIO.Extract (maChaine1,3,6,maChaine3); InOut.WriteString(maChaine3); InOut.WriteLn; InOut.WriteString("Test5 : PROCEDURE Concat (stringVal1, stringVal2: ARRAY OF CHAR;VAR destination: ARRAY OF CHAR);"); InOut.WriteLn; maChaine1 := "ma maison"; maChaine2 := " à Montélimar"; FileIO.Concat(maChaine1, maChaine2, maChaine3); InOut.WriteString(maChaine3); InOut.WriteLn; InOut.WriteString("Test4 : PROCEDURE Compare (stringVal1, stringVal2: ARRAY OF CHAR): INTEGER;"); maChaine1 := "ma maison"; maChaine2 := "ma maison"; InOut.WriteInt(FileIO.Compare(maChaine1,maChaine2),5); maChaine2 := "ma maison à Montélimar"; InOut.WriteInt(FileIO.Compare(maChaine1,maChaine2),5); maChaine2 := "Coiucou"; InOut.WriteInt(FileIO.Compare(maChaine1,maChaine2),5); InOut.WriteLn; InOut.WriteString("Test3 : PROCEDURE ORDL (n: INT32): CARDINAL;"); InOut.WriteLn; monInt32 := 66666; InOut.WriteInt(FileIO.ORDL(monInt32),8); InOut.WriteLn; InOut.WriteString("Test3 : PROCEDURE INTL (n: INT32): INTEGER;"); InOut.WriteLn; monInt32 := 55555; InOut.WriteInt(FileIO.INTL(monInt32),8); InOut.WriteLn; InOut.WriteString("Test2 : PROCEDURE INT (n: CARDINAL): INT32;"); InOut.WriteLn; monCardinal := 444444; InOut.WriteCard(monCardinal,8); InOut.WriteInt(FileIO.INT(monCardinal),8); InOut.WriteLn; InOut.WriteString("Test1 : QuitExecution"); InOut.WriteLn; FileIO.QuitExecution; InOut.WriteString("this will not be printed out"); InOut.WriteLn; END testFileIO.