Für alle technisch interessierten:
Hier ist der Quelltext, wenn ihr das Programm erweitern oder ändern wollt.
[pre]
REM Funcard-Maschine
COLOR 7, 0
CLS : COLOR 10
PRINT "SLIDY'S FUNCARD-O-MAT"
PRINT "====================="
PRINT
COLOR 7
INPUT "datteinahme des ein gahbe tekstess: ", infile$
INPUT "datteinahme des aus gahbe tekstess: ", outfile$
ON ERROR GOTO existiert
OPEN outfile$ FOR INPUT AS 1
CLOSE 1
f$ = "x"
WHILE f$ <> "j" AND f$ <> "n"
INPUT "dattei exiestiehrt überschraibehn (J/N) "; f$: f$ = LCASE$(f$)
WEND
IF f$ = "n" THEN GOTO schluss
allesklar:
ON ERROR GOTO nichtda
OPEN infile$ FOR INPUT AS 1
CLOSE 1
immernochallesklar:
ON ERROR GOTO 0
PRINT
PRINT "dih beahrbeitunng leuft..."
PRINT
RANDOMIZE TIMER
OPEN infile$ FOR INPUT AS 1
OPEN outfile$ FOR OUTPUT AS 2
WHILE NOT EOF(1)
LINE INPUT #1, zeile$: zeile$ = LCASE$(zeile$)
ausgabe$ = ""
FOR i = 1 TO LEN(zeile$)
IF MID$(zeile$, i, 2) = "ck" THEN ausgabe$ = ausgabe$ + "k": i = i + 1: GOTO weiter
IF LEN(MID$(zeile$, i, 2)) = 2 THEN
IF MID$(zeile$, i, 1) = MID$(zeile$, i + 1, 1) THEN ausgabe$ = ausgabe$ + MID$(zeile$, i, 1): i = i + 1: GOTO weiter
END IF
IF MID$(zeile$, i, 5) = "fanat" THEN ausgabe$ = ausgabe$ + "vernat": i = i + 4: GOTO weiter
IF MID$(zeile$, i, 3) = "ieh" THEN ausgabe$ = ausgabe$ + "i": i = i + 2: GOTO weiter
IF MID$(zeile$, i, 2) = "ie" OR MID$(zeile$, i, 1) = "ih" THEN ausgabe$ = ausgabe$ + "i": i = i + 1: GOTO weiter
IF MID$(zeile$, i, 2) = "pf" THEN ausgabe$ = ausgabe$ + "f": i = i + 1: GOTO weiter
IF MID$(zeile$, i, 1) = "f" THEN
IF i = 1 THEN ausgabe$ = ausgabe$ + "v": GOTO weiter
IF MID$(zeile$, i - 1, 1) = " " THEN ausgabe$ = ausgabe$ + "v": GOTO weiter
IF INT(RND * 2) = 0 THEN ausgabe$ = ausgabe$ + "v": GOTO weiter
END IF
IF MID$(zeile$, i, 2) = "ph" THEN ausgabe$ = ausgabe$ + "ff": i = i + 1: GOTO weiter
IF MID$(zeile$, i, 2) = "tz" THEN ausgabe$ = ausgabe$ + "z": i = i + 1: GOTO weiter
IF MID$(zeile$, i, 3) = "tor" THEN ausgabe$ = ausgabe$ + "tohr": i = i + 2: GOTO weiter
IF MID$(zeile$, i, 1) = "." OR MID$(zeile$, i, 1) = "," OR MID$(zeile$, i, 1) = "!" OR MID$(zeile$, i, 1) = "?" THEN
IF INT(RND * 2) = 0 THEN GOTO weiter
END IF
IF MID$(zeile$, i, 1) = "-" AND INT(RND * 2) = 0 THEN ausgabe$ = ausgabe$ + " ": GOTO weiter
IF MID$(zeile$, i, 1) = "lay" THEN ausgabe$ = ausgabe$ + "loy": i = i + 2: GOTO weiter
IF MID$(zeile$, i, 2) = "er" AND INT(RND * 2) = 0 THEN ausgabe$ = ausgabe$ + "ehr": i = i + 1: GOTO weiter
IF MID$(zeile$, i, 2) = "nd" AND INT(RND * 2) = 0 THEN ausgabe$ = ausgabe$ + "n": i = i + 1: GOTO weiter
IF i > 1 AND MID$(zeile$, i + 1, 1) = "h" THEN
IF MID$(zeile$, i, 1) = "a" OR MID$(zeile$, i, 1) = "e" OR MID$(zeile$, i, 1) = "i" OR MID$(zeile$, i, 1) = "o" OR MID$(zeile$, i, 1) = "u" THEN
ausgabe$ = ausgabe$ + MID$(zeile$, i, 1)
i = i + 1
GOTO weiter
END IF
END IF
IF i > 1 AND MID$(zeile$, i + 1, 1) = "k" THEN
IF MID$(zeile$, i, 1) = "a" OR MID$(zeile$, i, 1) = "e" OR MID$(zeile$, i, 1) = "i" OR MID$(zeile$, i, 1) = "o" OR MID$(zeile$, i, 1) = "u" THEN
ausgabe$ = ausgabe$ + MID$(zeile$, i, 1) + "ck"
i = i + 1
GOTO weiter
END IF
END IF
IF MID$(zeile$, i, 1) = "y" THEN ausgabe$ = ausgabe$ + "üh": GOTO weiter
ausgabe$ = ausgabe$ + MID$(zeile$, i, 1)
weiter:
NEXT
PRINT #2, ausgabe$
WEND
CLOSE 2
CLOSE 1
PRINT
PRINT "du kanst nuhn mitt einehm tekst-betrachter wi dehm windows edittohr dehn tekst"
PRINT outfile$; " anchauehn."
GOTO schluss
existiert:
RESUME allesklar
nichtda:
PRINT "kan ein gabbe dattei nicht vinden": RESUME schluss
schluss:
COLOR 7, 0
END
[/pre]
Es funktioniert auch mit dem alten MS-DOS QBASIC, und es dürfte auch mit GW-BASIC funktionieren, wenn man Zeilennummern verwendet und statt zu den Labels zu diesen Nummern verzweigt.
Viel Spaß beim Experimentieren!
Keep on slidin'
http://slidespix.homestead.com/files/jens_in_coaster.jpghttp://www.spassbadfuehrer.de