fb:porticula NoPaste
option
Uploader: | JoPa |
Datum/Zeit: | 12.12.2013 22:09:04 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts Vokabel Trainer, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
DECLARE SUB Woerterbuch (Pfad$)
DECLARE SUB umwievielUhraufhoeren (Zeit$)
DECLARE SUB wievielBuchstabenHilfe ()
DECLARE SUB Bildschoner ()
DECLARE SUB wieAbfragen ()
DECLARE SUB wieOftAbfragen ()
DECLARE SUB Maske (H1!, H2!, A$)
DECLARE SUB MenueSchreiben (N$, Zeit$, Pfad$)
DECLARE SUB Aussuchen (N$, Zeit$, Pfad$)
DECLARE SUB amAnfangladen (N$)
DECLARE SUB Speichern (N$, Zeit$, Pfad$)
DECLARE SUB welcherTeil ()
DIM SHARED ZA, ZB, XX, O, nochmal, BSS, HProz, Z
CLS
ON ERROR GOTO vokini
OPEN "vok.ini" FOR INPUT AS #1
INPUT #1, N$ 'Am Anfang laden
INPUT #1, ZA 'ab wo gebt werden soll
INPUT #1, ZB 'bis wo gebt werden soll
INPUT #1, XX '1=Deutsch/FREM 2=Frem/Deutsch 3=durchein 4=Frem1/Frem2
INPUT #1, O 'Wie oft Abgefragt werden soll
INPUT #1, nochmal '2=nicht nochmal Abfragen andere nochmal Abfra.
INPUT #1, Zeit$ 'aufh”ren zu ben
INPUT #1, BSS 'Bildschirmschoner nach Sekunden anschalten
INPUT #1, Pfad$ 'W”rterbcher
INPUT #1, HProz 'wieviel Prozent bei der Hilfe des Wortes angez. werden soll
CLOSE #1
ON ERROR GOTO nichtda
OPEN "dat.dat" FOR INPUT AS #1
INPUT #1, Z
INPUT #1, N$
INPUT #1, Zeit$
INPUT #1, Pfad$
CLOSE #1
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
CALL Aussuchen(N$, Zeit$, Pfad$)
nichtda:
END
vokini:
CLS
PRINT "Datei vok.ini nicht gefunden!"
PRINT "Starten Sie das Vokabelprogramm neu(vok.exe)!!!"
END
SUB amAnfangladen (N$)
CLS
CALL Maske(1, 3, " Beim Programmstart Vokabeldatei Automatisch laden ")
LOCATE 7, 3
PRINT "Welche Vokabel-Datei soll Automatisch geladen werden wenn Sie den"
LOCATE 8, 3
PRINT "Vokabel-Trainer starten?"
LOCATE 11, 3
PRINT "geben Sie nichts ein wenn es die Datei <"; N$; "> ist!!!"
LOCATE 14, 1
PRINT "--------------------------------------------------------------------------------"
LOCATE 16, 3
LINE INPUT " Hier eingeben: "; A$
IF A$ <> "" THEN N$ = A$
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB Aussuchen (N$, Zeit$, Pfad$)
DO
K$ = INKEY$
IF K$ = "1" THEN CALL amAnfangladen(N$)
IF K$ = "2" THEN CALL welcherTeil
IF K$ = "3" THEN CALL wieAbfragen
IF K$ = "4" THEN CALL wieOftAbfragen
IF K$ = "5" THEN CALL umwievielUhraufhoeren(Zeit$)
IF K$ = "6" THEN CALL wievielBuchstabenHilfe
IF K$ = "7" THEN CALL Woerterbuch(Pfad$)
IF K$ = "8" THEN CALL Bildschoner
IF K$ = "9" THEN CALL Speichern(N$, Zeit$, Pfad$)
LOOP UNTIL K$ = CHR$(27)
CLS
END
END SUB
SUB Bildschoner
CLS
CALL Maske(1, 3, " Bildschirmschoner ")
LOCATE 6, 4
PRINT "Nach wieviel Sekunden, wenn man nichts mehr drckt, soll der Bildschirmschoner"
LOCATE 8, 1
PRINT "ausgefhrt werden?"
LOCATE 10, 1
INPUT "Bitte eingeben"; BSS
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB Maske (H1, H2, A$)
LOCATE H1 + 1, 40 - (LEN(A$) / 2)
PRINT A$
B1 = 40 - (LEN(A$) / 2) - 1
B2 = 40 - (LEN(A$) / 2) + (LEN(A$))
FOR I = H1 + 1 TO H2 - 1
LOCATE I, B1: PRINT "º"
LOCATE I, B2: PRINT "º"
NEXT I
FOR I = 1 TO B2 - B1 - 1
LOCATE H1, B1 + I: PRINT "Í"
LOCATE H2, B1 + I: PRINT "Í"
NEXT I
LOCATE H1, B1: PRINT "É"
LOCATE H1, B2: PRINT "»"
LOCATE H2, B1: PRINT "È"
LOCATE H2, B2: PRINT "Œ"
END SUB
SUB MenueSchreiben (N$, Zeit$, Pfad$)
LOCATE 8, 1
PRINT " 1. Welche Vokabel-Datei Automatisch am Anfang laden"
PRINT " 2. Welcher Teil der Vokabeldatei gebt werden soll"
PRINT " 3. Wie soll Abgefragt werden (D/E, E/D, E/E2)"
PRINT " 4. Wie oft Abfragen"
PRINT " 5. Um wieviel Uhr du aufh”ren m”chtest zu ben"
PRINT " 6. Wieviel Buchstaben der Computer zeigen soll beim šben (Hilfe:)"
PRINT
PRINT " 7. W”rterbuch nach doppelten durchsuchen und „ndern"
PRINT " 8. Bildschirm-Schoner"
PRINT " 9. Einstellung speichern"
END SUB
SUB Speichern (N$, Zeit$, Pfad$)
OPEN "vok.ini" FOR OUTPUT AS #1
PRINT #1, N$
PRINT #1, ZA
PRINT #1, ZB
PRINT #1, XX
PRINT #1, O
PRINT #1, nochmal
PRINT #1, Zeit$
PRINT #1, BSS
PRINT #1, Pfad$
PRINT #1, HProz
CLOSE #1
END SUB
SUB umwievielUhraufhoeren (Zeit$)
CLS
CALL Maske(1, 3, "Um wieviel Uhr aufh”ren zu ben ")
LOCATE 5, 3
PRINT "Um wieviel Uhr wollen Sie aufh”ren zu šben(z.B. 12:14:43)"
LOCATE 8, 3
INPUT "Bitte vollst„ndig wie im Beispiel eingeben"; Zeit$
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB welcherTeil
DO
CLS
CALL Maske(1, 3, "Welcher Teil der Datei abgefragt werden soll")
LOCATE 7, 3
PRINT "Es sind maximal "; Z; " Vokabeln"
LOCATE 11, 3
INPUT "Von wo soll Abgefragt werden"; ZA
LOCATE 14, 3
INPUT "Bis wo soll Abgefragt werden"; ZB
IF ZA > Z THEN ZA = 0: EXIT DO
IF ZB > Z THEN ZB = Z: EXIT DO
IF ZA < ZB THEN EXIT DO
LOOP
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB wieAbfragen
CLS
CALL Maske(1, 3, " Wie soll Abgefragt werden ")
LOCATE 6, 3
PRINT "1. Von Deutsch in Fremdsprache"
LOCATE 7, 3
PRINT "2. Von Fremdsprache in Deutsch"
LOCATE 8, 3
PRINT "3. 1 und 2 zuf„llig"
LOCATE 10, 3
PRINT "4. Von Fremdsprache1 in Fremdsprache2 und Deutsch1"
LOCATE 14, 3
INPUT "Bitte Ziffer eingeben"; XX
IF XX > 4 THEN XX = 4
IF XX < 1 THEN XX = 1
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB wieOftAbfragen
CLS
CALL Maske(1, 3, " Wie oft abgefragt werden soll ")
LOCATE 5, 3
PRINT "Soll, eine Vokabel die richtig beantwortet worden ist, nochmal abgefragt werden"
INPUT "(J/N)"; A$
A$ = LCASE$(A$)
IF A$ = "j" OR A$ = "ja" THEN nochmal = 0
IF A$ = "n" OR A$ = "nein" THEN nochmal = 2
IF nochmal = 0 THEN
LOCATE 12, 1
INPUT "Wie oft soll abgefragt werden"; O
END IF
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB wievielBuchstabenHilfe
CLS
CALL Maske(1, 3, "Buchstaben menge")
LOCATE 6, 3
PRINT "Wieviel Prozent der Buchstaben, des Wortes welches bersetzt werden"
LOCATE 7, 3
PRINT "soll, soll angezeigt werden wenn man es erst falsch bersetzt"
LOCATE 11, 3
INPUT "hier eingeben(0%-90%)"; HProz
IF HProz > 90 THEN HProz = 90
IF HProz < 0 THEN HProz = 0
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB
SUB Woerterbuch (Pfad$)
'----------------------------------------------------------------------------
CLS
PRINT "-----ACHTUNG----"
PRINT " dieser Vorgang kann mehrere Minuten dauern"
OPEN Pfad$ + "WORTBUCH.UCH" FOR INPUT AS #1
DO
LINE INPUT #1, A$
IF EOF(1) THEN EXIT DO
LINE INPUT #1, A$
LINE INPUT #1, A$
LINE INPUT #1, A$
LINE INPUT #1, A$
LINE INPUT #1, A$
LINE INPUT #1, A$
LINE INPUT #1, A$
I = I + 1
LOOP UNTIL EOF(1)
CLOSE #1
'----------------------------------------------------------------------------
OPEN Pfad$ + "WORTBUCH.111" FOR OUTPUT AS #1
CLOSE #1
OPEN Pfad$ + "WORTBUCH.UCH" FOR INPUT AS #1
DO
S = S + 1
LOCATE 12, 4
PRINT USING "###% erledigt"; S * 100 / I
LINE INPUT #1, A1$
LINE INPUT #1, A2$
LINE INPUT #1, A3$
LINE INPUT #1, A4$
LINE INPUT #1, A5$
LINE INPUT #1, A6$
LINE INPUT #1, A7$
LINE INPUT #1, A8$
OPEN Pfad$ + "WORTBUCH.111" FOR INPUT AS #2
IF EOF(2) THEN 30
DO
LINE INPUT #2, B1$ '
IF EOF(2) THEN EXIT DO
LINE INPUT #2, B2$
LINE INPUT #2, B3$ '
LINE INPUT #2, B4$
LINE INPUT #2, B5$ '
LINE INPUT #2, B6$
LINE INPUT #2, B7$ '
LINE INPUT #2, B8$
IF A1$ = B1$ AND A3$ = B3$ AND A5$ = B5$ AND A8$ = B8$ THEN
G = 1
END IF
LOOP UNTIL EOF(2)
30
CLOSE #2
IF G <> 1 THEN
OPEN Pfad$ + "WORTBUCH.111" FOR APPEND AS #2
PRINT #2, A1$
PRINT #2, A2$
PRINT #2, A3$
PRINT #2, A4$
PRINT #2, A5$
PRINT #2, A6$
PRINT #2, A7$
PRINT #2, A8$
CLOSE #2
END IF
G = 0
LOOP UNTIL EOF(1)
CLOSE #1
KILL Pfad$ + "wortbuch.uch"
NAME Pfad$ + "wortbuch.111" AS Pfad$ + "wortbuch.uch"
50
G = 0
'--------------------------------------------------------------------------
OPEN Pfad$ + "xxx.xxx" FOR OUTPUT AS #1
CLOSE #1
FOR Sprache = 0 TO 1
IF Sprache = 0 THEN
T$ = LEFT$(Wort$, 1)
Woert1$ = "deutbuch."
Woert3$ = "ch"
END IF
IF Sprache = 1 THEN
T$ = LEFT$(Wort$, 1)
Woert1$ = "frembuch."
Woert3$ = "ch"
END IF
FOR BuchZ = 65 TO 90
WO$ = CHR$(BuchZ)
Datei$ = Woert1$ + WO$ + Woert3$
LOCATE 18, 2
PRINT "Computer ist bei "; Datei$; " "
OPEN Pfad$ + "xxx.xxx" FOR OUTPUT AS #1
CLOSE #1
OPEN Pfad$ + Datei$ FOR INPUT AS #1
DO
LINE INPUT #1, A1$
OPEN Pfad$ + "xxx.xxx" FOR INPUT AS #2
IF EOF(2) THEN 70
DO
LINE INPUT #2, B1$ '
IF EOF(2) THEN EXIT DO
IF A1$ = B1$ THEN
G = 1
END IF
LOOP UNTIL EOF(2)
70
CLOSE #2
IF G <> 1 THEN
OPEN Pfad$ + "xxx.xxx" FOR APPEND AS #2
PRINT #2, A1$
CLOSE #2
END IF
G = 0
LOOP UNTIL EOF(1)
CLOSE #1
KILL Pfad$ + Datei$
NAME Pfad$ + "xxx.xxx" AS Pfad$ + Datei$
NEXT BuchZ
NEXT Sprache
CLS
CALL Maske(1, 3, " Optionen ")
CALL MenueSchreiben(N$, Zeit$, Pfad$)
END SUB