IMPLEMENTATION MODULE para3; IMPORT IO,Str,Lib,liste3,FIO,Window; FROM Storage IMPORT ALLOCATE,DEALLOCATE; TYPE t_paragraphe = CLASS (liste3.t_element) longueur : CARDINAL; ptr_chaine : ADDRESS; PROCEDURE initialise_element ( VAR x : ARRAY OF CHAR);VIRTUAL; BEGIN longueur := Str.Length(x); ALLOCATE(ptr_chaine,longueur); Lib.Move(ADR(x),ptr_chaine,longueur); END initialise_element; PROCEDURE affiche_element (); VIRTUAL; VAR l_tampon : ARRAY[0..1023] OF CHAR; BEGIN Lib.Move(ptr_chaine,ADR(l_tampon),longueur); l_tampon[longueur] := CHR(0); IO.WrStr(l_tampon); IO.WrLn; END affiche_element; PROCEDURE detruit_element () ; VIRTUAL; BEGIN DEALLOCATE(ptr_chaine,SIZE(ptr_chaine^)); END detruit_element; END; (* CLASS t_paragraphe *) END para3.