'TRIM.BAS
'Beseitigt Leerzeichen am Zeilenende
'
'Autor:     Roland Heer
'Sprache:   QuickBasic (QBasic)
'Stand:     12.12.96
'Aufruf:    TRIM[.EXE] [[pfad\]dateiname.erw]
'
'Freeware
'--------------------------------------------------------------
DEFINT A-Z
CLS
ON ERROR GOTO fehler
d1$ = COMMAND$                  'entf„llt bei QBasic

datei:
    IF d1$ = "" THEN INPUT " Dateiname mit Erweiterung: ", d1$
    IF d1$ = "" THEN SYSTEM
  
    p = INSTR(d1$, ".")
    IF p THEN
        d2$ = LEFT$(d1$, p - 1) + ".BAK"
    ELSE
        ERROR 99
    END IF
    OPEN d1$ FOR INPUT AS #1
    OPEN d2$ FOR OUTPUT AS #2
    altBytes = LOF(1)
    CLS
    PRINT " Leerzeichen am Zeilenende entfernen"
    PRINT " Eingabedatei: "; UCASE$(d1$)
    LOCATE 4, 1: PRINT " Zeilen"
    DO
        n = n + 1
        LINE INPUT #1, l$
        IF RIGHT$(l$, 1) = " " THEN m = m + 1
        PRINT #2, RTRIM$(l$)
        LOCATE 4, 8: PRINT n
    LOOP UNTIL EOF(1)
    neuBytes = LOF(2)
    CLOSE

    IF m THEN
        PRINT m; "Zeile(n) mit Leerzeichen am Zeilenende gekrzt"
        PRINT " Datei um"; altBytes - neuBytes; "Bytes gekrzt"
        SHELL "copy " + d2$ + " " + d1$
    ELSE
        PRINT " Keine Leerzeichen am Zeilenende gefunden"
    END IF
    KILL d2$
   
SYSTEM
     
fehler:
    BEEP: COLOR 0, 7
    SELECT CASE ERR
    CASE 52, 64
        PRINT " Dateiname oder Nummer unzul„ssig"
        COLOR 7, 0
        d1$ = ""
        RESUME datei
    CASE 53
        PRINT " Datei nicht gefunden"
        COLOR 7, 0
        d1$ = ""
        RESUME datei
    CASE 76
        PRINT " Pfad nicht gefunden"
        COLOR 7, 0
        d1$ = ""
        RESUME datei
    CASE 99
        PRINT " Erweiterung fehlt im Dateinamen"
        COLOR 7, 0
        d1$ = ""
        RESUME datei
    CASE ELSE
        COLOR 7, 0
        ON ERROR GOTO 0
    END SELECT

