app/eudas/5.3/src/eudas.alt

Raw file
Back to index

PACKET eudas alt nach neu 
 
  DEFINES 
 
  eudas alt nach neu : 
 
 
DATASPACE VAR scratch; 
 
PROC eudas alt nach neu (TEXT CONST datei alt, datei neu) :

  IF exists (datei neu) THEN
    errorstop ("Zieldatei existiert bereits")
  ELSE
    FILE VAR f := sequential file (input, datei alt);
    forget (scratch); scratch := nilspace;
    BOUND TEXT VAR zeile := scratch;
    BOUND SATZ VAR neu := scratch;
    zieldatei einrichten;
    kopieren;
    forget (scratch)
  END IF .

zieldatei einrichten :
  getline (f, zeile);
  IF (zeile ISUB 1) < 3 OR (zeile ISUB 1) > 256 THEN
    errorstop ("Ausgangsdatei ist keine EUDAS-Datei")
  END IF;
  EUDAT VAR e;
  oeffne (e, datei neu);
  feldnamen aendern (e, neu) .

kopieren :
  WHILE NOT eof (f) REP
    getline (f, zeile);
    satz einfuegen (e, neu);
    cout (satznr (e));
    weiter (e)
  END REP .

END PROC eudas alt nach neu;

END PACKET eudas alt nach neu;