para3.mod 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. IMPLEMENTATION MODULE para3;
  2. IMPORT IO,Str,Lib,liste3,FIO,Window;
  3. FROM Storage IMPORT ALLOCATE,DEALLOCATE;
  4. TYPE
  5. t_paragraphe = CLASS (liste3.t_element)
  6. longueur : CARDINAL;
  7. ptr_chaine : ADDRESS;
  8. PROCEDURE initialise_element ( VAR x : ARRAY OF CHAR);VIRTUAL;
  9. BEGIN
  10. longueur := Str.Length(x);
  11. ALLOCATE(ptr_chaine,longueur);
  12. Lib.Move(ADR(x),ptr_chaine,longueur);
  13. END initialise_element;
  14. PROCEDURE affiche_element (); VIRTUAL;
  15. VAR l_tampon : ARRAY[0..1023] OF CHAR;
  16. BEGIN
  17. Lib.Move(ptr_chaine,ADR(l_tampon),longueur);
  18. l_tampon[longueur] := CHR(0);
  19. IO.WrStr(l_tampon);
  20. IO.WrLn;
  21. END affiche_element;
  22. PROCEDURE detruit_element () ; VIRTUAL;
  23. BEGIN
  24. DEALLOCATE(ptr_chaine,SIZE(ptr_chaine^));
  25. END detruit_element;
  26. END; (* CLASS t_paragraphe *)
  27. END para3.