diff options
Diffstat (limited to 'dialog/ls-DIALOG decompress')
-rw-r--r-- | dialog/ls-DIALOG decompress | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/dialog/ls-DIALOG decompress b/dialog/ls-DIALOG decompress deleted file mode 100644 index fdda0d6..0000000 --- a/dialog/ls-DIALOG decompress +++ /dev/null @@ -1,153 +0,0 @@ -(* - - ********************************************************* - ********************************************************* - ** ** - ** ls-DIALOG - DECOMPRESS ** - ** ** - ** Version 1.2 ** - ** ** - ** (Stand: 04.11.88) ** - ** ** - ** ** - ** Autor: Wolfgang Weber, Bielefeld ** - ** ** - ** ** - ** Copyright (C) 1987, 1988 Eva Latta-Weber, Bielefeld ** - ** ** - ** Copyright (C) 1988 ERGOS GmbH, Siegburg ** - ** ** - ********************************************************* - ********************************************************* - - *) -PACKET ls dialog decompress DEFINES - - komprimiere, - dekomprimiere: - -LET verweis = "Angegebene Datei existiert nicht!", - falscher typ = "Angegebenen Datei hat falschen Typ!", - filetype = 1003; - -PROC komprimiere (TEXT CONST dateiname): - INT VAR zeiger; - ueberpruefe existenz; - ueberpruefe dateityp; - initialisiere; - FOR zeiger FROM 1 UPTO 24 REP - getline (ein, eingabezeile); - putline (aus, eingabezeile); - PER; - WHILE NOT eof (ein) REP - getline (ein, eingabezeile); - zaehler INCR 1; cout (zaehler); - zwischenzeile := abgeschnitten (eingabezeile); - haenge zeilentrenner an; - haenge zwischenzeile an ausgabezeile; - schreibe ausgabezeile ggf weg - PER; - schreibe ausgabezeile weg; - mache ausgabedatei zur eingabedatei. - - ueberpruefe existenz: - IF NOT exists (dateiname) - THEN errorstop (verweis); - FI. - - ueberpruefe dateityp: - IF type (old (dateiname)) <> filetype - THEN errorstop (falscher typ) - FI. - - initialisiere: - FILE VAR ein := sequential file (input, dateiname); - FILE VAR aus := sequential file (output, "KOMPRIM"); - maxlinelength (aus, 600); - INT VAR zaehler :: 1; - TEXT VAR eingabezeile :: "", zwischenzeile :: "", ausgabezeile :: "". - - haenge zeilentrenner an: - IF zwischenzeile <> "" - THEN zwischenzeile CAT " -" - FI. - - haenge zwischenzeile an ausgabezeile: - ausgabezeile CAT zwischenzeile. - - schreibe ausgabezeile ggf weg: - IF length (ausgabezeile) > 500 - THEN schreibe ausgabezeile weg - FI. - - schreibe ausgabezeile weg: - IF ausgabezeile <> "" - THEN putline (aus, ausgabezeile); - ausgabezeile := "" - FI. - -mache ausgabedatei zur eingabedatei: - forget (dateiname, quiet); - rename ("KOMPRIM", dateiname). -END PROC komprimiere; - -TEXT PROC abgeschnitten (TEXT CONST zeile): - TEXT VAR t :: zeile; - WHILE (t SUB length (t)) = " " REP - t := subtext (t, 1, length (t) - 1) - PER; - t -END PROC abgeschnitten; - -PROC dekomprimiere (TEXT CONST dateiname): - INT VAR zeiger; - ueberpruefe existenz; - ueberpruefe dateityp; - initialisiere; - FOR zeiger FROM 1 UPTO 24 REP - getline (ein, eingabezeile); - putline (aus, eingabezeile); - PER; - WHILE NOT eof (ein) REP - getline (ein, eingabezeile); - zerlege zeile - PER; - forget (dateiname, quiet); - rename ("DEKOMPRIM", dateiname). - - ueberpruefe existenz: - IF NOT exists (dateiname) - THEN errorstop (verweis) - FI. - - ueberpruefe dateityp: - IF type (old (dateiname)) <> filetype - THEN errorstop (falscher typ) - FI. - - initialisiere: - FILE VAR ein := sequential file (input, dateiname); - FILE VAR aus := sequential file (output, "DEKOMPRIM"); - INT VAR zaehler :: 1; - TEXT VAR eingabezeile :: "", ausgabezeile :: "". - - zerlege zeile: - WHILE eingabezeile <> "" REP - nimm das erste stueck und schreibe es weg; - entferne den zeilentrenner - PER. - - nimm das erste stueck und schreibe es weg: - ausgabezeile := subtext (eingabezeile, 1, pos (eingabezeile, " -") - 1); - putline (aus, ausgabezeile); - zaehler INCR 1; - cout (zaehler). - - entferne den zeilentrenner: - eingabezeile := subtext (eingabezeile, pos (eingabezeile, " -") + 2). -END PROC dekomprimiere; -END PACKET ls dialog decompress; - |