Code : Tout sélectionner
'
'
' ***** **** ** **** ** ** **** ** ****
' ** ** ** ** ** ** ** ** ** ** ** ** **
' ** ** ** ** ** ** ** ****** ** ** ** **
' ***** ** ** ** ** ** ** *** ****** ** ***
' ** ** ** ** ** ** ** ** ** ** ** **
' ** ** ** ** ** ** ** ** ** ** ** **
' ** **** ***** **** ** ** ** ** ** ****
'
'
' POLONAIS : 26/06/1994
'
'
' Note sur TEXT : x,y,f,t$ oó f=0(normal), f<0 lim f avec spc mot, f>0 id spc le
'
'
RESERVE 225600
jt=10
jd=10
jc=10
jjeux=10
'
initialisation
menu
'
aurevoir
'
RESERVE
~INP(2)
CLS
SETCOLOR 0,1
' EDIT
SYSTEM
END
'
' D E C L I N A I S O N , C O M P L E M E N T , T R A D U C T I O N
'
> PROCEDURE jeu_decline(ncp)
LOCAL d,g,n
help|=5
DEFTEXT 1,16,0,22
p$="DECLINAISON"
~VQT_EXTENT(p$)
CLS
coups=0
x=PTSOUT(2)
y=PTSOUT(5)
TEXT (639-x)/2,y,"DECLINAISONS"
DEFTEXT 1,0,0,11
REPEAT
INC coups
' choix declinaison
d=INT(RND*6)+1 ! Nom,Gen,Dat,Acc,Ins,Loca
' choix genre
g=INT(RND*3)+1
' choix nombre
n=INT(RND*2)+1
'
DEFTEXT 1,0,0,13,3
choix$=genre$(g)+" "+nombre$(n)+" "+dec$(d)+" ("+sens$(d)+")"
~VQT_EXTENT(choix$)
x=PTSOUT(2)
y=PTSOUT(5)
BOUNDARY 1
BOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
BOUNDARY 0
DEFTEXT 1,0,0,13,3
TEXT (639-x)/2,100,choix$
px=100
py=200
lo=2
@saisie_reponse(px,py,lo,2,640-px,"")
IF @sansponct$(@upper_chaine$(rep$))<>@sansponct$(@upper_chaine$(table$(d,n,g)))
affiche(table$(d,n,g),200,350)
ELSE
INC bons
ENDIF
PBOX px,py-11*lo,xl+px+xp,py-11*lo+yl
PBOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
UNTIL coups=ncp
RETURN
> PROCEDURE jeu_traduct(ncp)
LOCAL d
help|=4
DEFTEXT 1,16,0,22
p$="TRADUCTION"
DIM choix_ph(ptot)
~VQT_EXTENT(p$)
CLS
coups=0
x=PTSOUT(2)
y=PTSOUT(5)
TEXT (639-x)/2,y,p$
DEFTEXT 1,0,0,11
REPEAT
INC coups
' choix PHRASE
REPEAT
d=INT(RND*ptot)+1
UNTIL choix_ph(d)=0
choix_ph(d)=1
l=INT(RND*2)
IF l=1
choix$=ph_pl$(d)
trad$=ph_fr$(d)
ELSE
choix$=ph_fr$(d)
trad$=ph_pl$(d)
ENDIF
DEFTEXT 1,0,0,13,3
~VQT_EXTENT(choix$)
x=PTSOUT(2)
y=PTSOUT(5)
BOUNDARY 1
BOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
BOUNDARY 0
TEXT (639-x)/2,100,choix$
px=1
py=200
lo=2
@saisie_reponse(px,py,lo,2,640-px,"")
IF @sansponct$(@upper_chaine$(rep$))<>@sansponct$(@upper_chaine$(trad$))
affiche(trad$,200,350)
ELSE
INC bons
ENDIF
PBOX px,py-11*lo,xl+px+xp,py-11*lo+yl
PBOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
UNTIL coups=ncp
ERASE choix_ph()
RETURN
> PROCEDURE jeu_complete(ncp)
LOCAL d,mot2$,mot3$
help|=3
DEFTEXT 1,16,0,22
p$="COMPLETEZ LA PHRASE"
DIM choix_ph(ptot)
~VQT_EXTENT(p$)
CLS
coups=0
x=PTSOUT(2)
y=PTSOUT(5)
TEXT (639-x)/2,y,p$
DEFTEXT 1,5,0,11,4
p$="WypeÉniÅ brakujÄce sÉowa"
~VQT_EXTENT(p$)
TEXT (639-PTSOUT(2))/2,50,p$
REPEAT
INC coups
' choix PHRASE
REPEAT
d=INT(RND*ptot)+1
UNTIL choix_ph(d)=0
'
' premier mot manquant
'
choix_ph(d)=1
choix$=ph_pl$(d)
trad$=ph_fr$(d)
DEFTEXT 1,0,0,13,3
choix$=@retmot$(choix$)
mot$=MID$(choix$,INSTR(choix$,"|")+1)
choix$=MID$(choix$,1,INSTR(choix$,"|")-1)
mot2$=""
mot3$=""
IF RND>0.8 AND INSTR(TRIM$(choix$)," ")>0
'
' Second mot
'
choix$=@retmot$(choix$)
mot2$=MID$(choix$,INSTR(choix$,"|")+1)
choix$=MID$(choix$,1,INSTR(choix$,"|")-1)
IF INSTR(MID$(ph_pl$(d),INSTR(choix$,"...")),mot$)>INSTR(MID$(ph_pl$(d),INSTR(choix$,"...")),mot2$)
mot3$=mot2$+","+mot$
mot$=mot2$+" "+mot$
ELSE
mot3$=mot$+","+mot2$
mot$=mot$+" "+mot2$
ENDIF
ENDIF
~VQT_EXTENT(choix$)
x=PTSOUT(2)
y=PTSOUT(5)
BOUNDARY 1
BOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
BOUNDARY 0
TEXT (639-x)/2,100,choix$
DEFTEXT 1,0,0,11,2
~VQT_EXTENT("("+trad$+")")
x2=PTSOUT(2)
y2=PTSOUT(5)
TEXT (639-x2)/2,125,"("+trad$+")"
DEFTEXT 1,0,0,13,3
px=1
py=200
lo=2
@saisie_reponse(px,py,lo,2,640-px,"")
rep$=@sansponct$(@upper_chaine$(rep$))
IF @sansponct$(@upper_chaine$(mot$))=rep$ OR (@sansponct$(@upper_chaine$(mot3$))=rep$ AND mot3$<>"")
INC bons
ELSE
IF mot2$>""
affiche(mot3$,200,350)
ELSE
affiche(mot$,200,350)
ENDIF
ENDIF
PBOX px,py-11*lo,xl+px+xp,py-11*lo+yl
PBOX (639-x)/2-4,100-14-4,(639-x)/2+x+2,100-14+y+2
PBOX (639-x2)/2-4,125-11,(639-x2)/2+x2+2,125-9+y2+2
UNTIL coups=ncp
ERASE choix_ph()
RETURN
'
' C L A V I E R E T C A R A C T E R E S
'
> PROCEDURE saisie_reponse(xr,yr,l,f,ml,r$)
LOCAL g
' ml=maxlong
SELECT f
CASE 1
g=16
CASE 2
g=11
CASE 3
g=13
CASE 4
g=11
CASE 5
g=7
ENDSELECT
DEFTEXT 1,0,0,g*l,f
rep$=r$
BOUNDARY 0
~VQT_EXTENT("_")
xl=0
yl=0
xp=PTSOUT(2)-1
yp=PTSOUT(5)
~VQT_EXTENT(rep$)
xl=PTSOUT(2)
yl=PTSOUT(5)
TEXT xr,yr,rep$
TEXT xr+xl,yr,"_"
REPEAT
REPEAT
k$=INKEY$
IF k$=CHR$(0)+CHR$(98)
help(help|)
k$=""
ENDIF
UNTIL k$<>""
IF k$="^" OR k$="π"
IF k$="^"
acc$="^"
ENDIF
IF k$="π"
acc$="π"
ENDIF
k$=""
ELSE
IF k$<>"^" AND k$<>"π" AND acc$<>""
IF k$="a" AND acc$="^"
k$="Ä"
ENDIF
IF k$="A" AND acc$="^"
k$="í"
ENDIF
IF k$="c" AND acc$="^"
k$="Å"
ENDIF
IF k$="C" AND acc$="^"
k$="â"
ENDIF
IF k$="e" AND acc$="^"
k$="à"
ENDIF
IF k$="e" AND acc$="π"
k$="ê"
ENDIF
IF k$="E" AND acc$="π"
k$="ù"
ENDIF
IF k$="l" AND acc$="^"
k$="É"
ENDIF
IF k$="L" AND acc$="^"
k$="è" !143
ENDIF
IF k$="n" AND acc$="^"
k$="Ñ"
ENDIF
IF k$="N" AND acc$="^"
k$="ë"
ENDIF
IF k$="o" AND acc$="π"
k$="¢"
ENDIF
IF k$="O" AND acc$="π"
k$="õ"
ENDIF
IF k$="o" AND acc$="^"
k$="ì"
ENDIF
IF k$="s" AND acc$="^"
k$="Ü"
ENDIF
IF k$="S" AND acc$="^"
k$="ã"
ENDIF
IF k$="z" AND acc$="π"
k$="î" !148
ENDIF
IF k$="Z" AND acc$="π"
k$="é"
ENDIF
IF k$="z" AND acc$="^"
k$="•"
ENDIF
IF k$="Z" AND acc$="^"
k$="†" !160 contre å 140
ENDIF
IF k$="i" AND acc$="^"
k$="å"
ENDIF
acc$=""
ENDIF
ENDIF
IF k$=CHR$(8) AND LEN(rep$)>0
~VQT_EXTENT(RIGHT$(rep$,1)+"_")
rep$=MID$(rep$,1,LEN(rep$)-1)
PBOX xr+xl-PTSOUT(2)+1+xp,yr-g*l,xr+xl+xp+1,yr-g*l+yl
~VQT_EXTENT(rep$)
xl=PTSOUT(2)
TEXT xr+xl+1,yr,"_"
' ~INP(2)
ELSE
IF k$>=" " AND k$<CHR$(183)
~VQT_EXTENT(k$)
IF xr+xl+PTSOUT(2)<ml-g*l
rep$=rep$+k$
ELSE
k$=""
ENDIF
ENDIF
ENDIF
IF k$<>"" AND k$<>CHR$(13) AND k$<>CHR$(8)
TEXT xr+xl,yr,RIGHT$(rep$,1)+"_"
ENDIF
~VQT_EXTENT(rep$)
xl=PTSOUT(2)
yl=PTSOUT(5)
UNTIL k$=CHR$(13)
DEFTEXT 1,0,0,11
PBOX xr+xl,yr,xr+xl+xp+1,yr+yl
RETURN
> PROCEDURE affiche(texte$,xa,ya)
DEFTEXT 1,,,22
~VQT_EXTENT(texte$)
TEXT (640-PTSOUT(2))/2,ya,texte$
BOUNDARY 1
BOX (640-PTSOUT(2))/2-4,ya-22-4,(640-PTSOUT(2))/2+PTSOUT(2)+4,ya-22+PTSOUT(5)+4
BOUNDARY 0
~INP(2)
PBOX (640-PTSOUT(2))/2-4,ya-22-4,(640-PTSOUT(2))/2+PTSOUT(2)+4,ya-22+PTSOUT(5)+4
DEFTEXT 1,,,11
RETURN
PROCEDURE initialisation
DIM dec$(6),sens$(6),genre$(3),nombre$(2),b|(256),index%(1000)
DIM ph_pl$(1000),ph_fr$(1000),ph$(1000)
'
' Tri|=1 aucun ou Pol ; 2 = Fr
'
alpha2$="å†ÄíêùÅâÉèÑë¢õÜãàé•îÇÖäáABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
tri|=1
RESTORE alpha
READ c$
FOR i=0 TO 255
b|(i)=i
NEXT i
WHILE c$<>"*"
c=VAL("&"+c$)
alpha$=alpha$+CHR$(c)
READ c$
b|(c)=LEN(alpha$)
WEND
ajout!=FALSE ! A-t-on ajouter des phrases dans la base ?
'
SETCOLOR 0,0,0,0
'
dec$(1)="Nominatif"
dec$(2)="Genitif"
dec$(3)="Datif"
dec$(4)="Accusatif"
dec$(5)="Instrumental"
dec$(6)="Locatif"
'
sens$(1)="Le sujet"
sens$(2)="de ..."
sens$(3)="Ö ..."
sens$(4)="C.o.d"
sens$(5)="Prof, avec ..."
sens$(6)="Au sujet de"
'
genre$(1)="ADAPTER : Masculin "
genre$(2)="BIURKO : Neutre"
genre$(3)="KSIAéKA : FÇminin"
'
nombre$(1)="Singulier"
nombre$(2)="Pluriel"
DEFFILL 1,0
BOUNDARY 0
' a=128 c=129 e=130 l=131 n=132 o=133 s=134 z=135 z=136
' C=137 O=138 S=139 Z=140 Z=142
declinaisons:
DATA adapter,adaptera,adapterowi,adapter,adapterem,adapterze
DATA adaptery,adapter¢w,adapterom,adaptery,adapterami,adapterach
DATA biurko,biurka,biurku,biurko,biurkiem,biurku
DATA biurka,biurek,biurkom,biurka,biurkami,biurkach
DATA ksiÄîka,ksiÄîki,ksiÄîce,ksiÄîkê,ksiÄîkÄ,ksiÄîce
DATA ksiÄîki,ksiÄîek,ksiÄîkom,ksiÄîki,ksiÄîkami,ksiÄîkach
RESTORE declinaisons
DIM table$(6,2,3)
FOR i=1 TO 3
FOR j=1 TO 2
FOR k=1 TO 6
READ table$(k,j,i)
' TEXT 213*(i-1),150+(k+(j-1)*6)*14+(j-1)*6,table$(k,j,i)
NEXT k
NEXT j
NEXT i
n%=VST_LOAD_FONTS(0)
DEFTEXT 1,0,0,11,2
DEFTEXT 1,16,0,44,2
~VQT_EXTENT("Francusko-polski")
BOX 0,0,639,399
DEFFILL 1,2,4
PBOX 50,50,590,350
GRAPHMODE 2
TEXT (640-PTSOUT(2))/2+2,152,"Francusko-polski"
DEFTEXT 0
TEXT (640-PTSOUT(2))/2,150,"Francusko-polski"
DEFTEXT 1,16,0,44,2
~VQT_EXTENT("Polsko-francuski")
TEXT (640-PTSOUT(2))/2+5,255,"Polsko-francuski"
DEFTEXT 0
TEXT (640-PTSOUT(2))/2+3,253,"Polsko-francuski"
GRAPHMODE 0
BOX 48,48,592,352
BOX 44,44,596,356
DEFTEXT 1,0,0,11,4
i=1
REPEAT
INC i
~VQT_NAME(i,f$)
UNTIL f$="6x6 system font"
p$="Fonts : "+STR$(i-2)
p$=p$+" Phrases : "
' p$=p$+" RAM : "+STR$(FRE(0)\1024)+" Ko"
' p$=p$+" Disk : "+STR$(DFREE(0)\1024)+" Ko"
p2$="Thierry LOISEAU Ω 1994"
~VQT_EXTENT(p2$) ! Ω=189
TEXT 632-PTSOUT(2),405-PTSOUT(5),p2$
~VQT_EXTENT(p$)
charge_phrases
DEFTEXT 1,0,0,7,5
~VQT_EXTENT("Gestion de la langue Polonaise")
TEXT (640-PTSOUT(2))/2,400-PTSOUT(5),"Gestion de la langue Polonaise"
DEFTEXT 1,0,0,11,2
~INP(2)
RETURN
> FUNCTION upper_chaine$(c$)
LOCAL e$,i|
FOR i|=1 TO LEN(c$)
e$=MID$(c$,i|,1)
IF e$>="a" AND e$<="z"
e$=UPPER$(e$)
ELSE
SELECT ASC(e$)
CASE 128
e$=CHR$(146)
CASE 144
e$=CHR$(157)
CASE 129
e$=CHR$(137)
CASE 131
e$=CHR$(143)
CASE 132
e$=CHR$(145)
CASE 133 ! Ö
e$="A"
CASE 138 ! ä
e$="E"
CASE 135 ! á
e$="C"
CASE 162
e$=CHR$(155)
CASE 134
e$=CHR$(139)
CASE 148
e$=CHR$(142)
CASE 165
e$=CHR$(140)
ENDSELECT
ENDIF
MID$(c$,i|,1)=e$
NEXT i|
RETURN c$
ENDFUNC
> FUNCTION lower_chaine$(c$)
LOCAL e$,i|
FOR i|=1 TO LEN(c$)
e$=MID$(c$,i|,1)
IF e$>="A" AND e$<="Z"
e$=CHR$(ASC(e$)+32)
ENDIF
SELECT ASC(e$)
CASE 146
e$=CHR$(128)
CASE 157
e$=CHR$(144)
CASE 137
e$=CHR$(129)
CASE 143
e$=CHR$(131)
CASE 145
e$=CHR$(132)
CASE 155
e$=CHR$(162)
CASE 139
e$=CHR$(134)
CASE 142
e$=CHR$(148)
CASE 140
e$=CHR$(165)
ENDSELECT
MID$(c$,i|,1)=e$
NEXT i|
RETURN c$
ENDFUNC
> FUNCTION sansponct$(c$)
LOCAL e$,i|
FOR i|=1 TO LEN(c$)
IF INSTR(alpha2$,MID$(c$,i|,1))>0
e$=e$+MID$(c$,i|,1)
ENDIF
NEXT i|
RETURN TRIM$(e$)
ENDFUNC
'
' M E N U , A U R E V O I R , . . .
'
> PROCEDURE menu
choix=1
REPEAT
DEFTEXT 1,16,0,22,2
help|=7
CLS
p$="Menu"
~VQT_EXTENT(p$)
x=PTSOUT(2)
y=PTSOUT(5)
TEXT (639-x)/2,y,p$
DEFTEXT 1,5,0,11,4
p$="Spis rzeczy"
~VQT_EXTENT(p$)
TEXT (639-PTSOUT(2))/2,50,p$
DEFTEXT 1,0,0,13,3
BOUNDARY 1
DEFFILL 1,2,3
PBOX 110,60,525,381
DEFFILL 1,0
PBOX 120,70,515,371
'
TEXT 130,100,"JEU"
TEXT 130,150,"ComplÇment"
TEXT 130,200,"Traduction"
TEXT 130,250,"DÇclinaison"
TEXT 130,300,"DICTIONNAIRE"
TEXT 130,350,"Fin"
DEFTEXT 1,2
TEXT 370,100,"GRA"
TEXT 370,150,"UzupeÉnienie"
TEXT 370,200,"PrzekÉadaÅ"
TEXT 370,250,"Deklinacja"
TEXT 370,300,"SèOWNIK"
TEXT 370,350,"Koniec"
DEFTEXT 1,0,0,11,2
'
SELECT choix
CASE 1
BOX 123,73,512,118
BOX 127,77,508,114
GET 129,79,506,112,curseur$
PUT 129,79,curseur$,8
CASE 2
BOX 123,123,512,168
BOX 127,127,508,164
GET 129,129,506,162,curseur$
PUT 129,129,curseur$,8
CASE 3
BOX 123,173,512,218
BOX 127,177,508,214
GET 129,179,506,212,curseur$
PUT 129,179,curseur$,8
CASE 4
BOX 123,223,512,268
BOX 127,227,508,264
GET 129,229,506,262,curseur$
PUT 129,229,curseur$,8
CASE 5
BOX 123,273,512,318
BOX 127,277,508,314
GET 129,279,506,312,curseur$
PUT 129,279,curseur$,8
CASE 6
BOX 123,323,512,368
BOX 127,327,508,364
GET 129,329,506,362,curseur$
PUT 129,329,curseur$,8
ENDSELECT
'
REPEAT
REPEAT
k$=INKEY$
IF k$=CHR$(0)+CHR$(98)
help(help|)
ENDIF
UNTIL k$=CHR$(0)+"H" OR k$=CHR$(0)+"P" OR k$=CHR$(13)
COLOR 0
SELECT choix
CASE 1
BOX 123,73,512,118
BOX 127,77,508,114
PUT 129,79,curseur$,3
CASE 2
BOX 123,123,512,168
BOX 127,127,508,164
PUT 129,129,curseur$,3
CASE 3
BOX 123,173,512,218
BOX 127,177,508,214
PUT 129,179,curseur$,3
CASE 4
BOX 123,223,512,268
BOX 127,227,508,264
PUT 129,229,curseur$,3
CASE 5
BOX 123,273,512,318
BOX 127,277,508,314
PUT 129,279,curseur$,3
CASE 6
BOX 123,323,512,368
BOX 127,327,508,364
PUT 129,329,curseur$,3
ENDSELECT
IF k$=CHR$(0)+"H"
DEC choix
IF choix=0
choix=6
ENDIF
ENDIF
IF k$=CHR$(0)+"P"
INC choix
IF choix=7
choix=1
ENDIF
ENDIF
IF k$<>CHR$(13)
COLOR 1
SELECT choix
CASE 1
BOX 123,73,512,118
BOX 127,77,508,114
GET 129,79,506,112,curseur$
PUT 129,79,curseur$,8
CASE 2
BOX 123,123,512,168
BOX 127,127,508,164
GET 129,129,506,162,curseur$
PUT 129,129,curseur$,8
CASE 3
BOX 123,173,512,218
BOX 127,177,508,214
GET 129,179,506,212,curseur$
PUT 129,179,curseur$,8
CASE 4
BOX 123,223,512,268
BOX 127,227,508,264
GET 129,229,506,262,curseur$
PUT 129,229,curseur$,8
CASE 5
BOX 123,273,512,318
BOX 127,277,508,314
GET 129,279,506,312,curseur$
PUT 129,279,curseur$,8
CASE 6
BOX 123,323,512,368
BOX 127,327,508,364
GET 129,329,506,362,curseur$
PUT 129,329,curseur$,8
ENDSELECT
ENDIF
UNTIL k$=CHR$(13)
IF k$=CHR$(13) AND choix<6
totncp=0
COLOR 1
bons=0
SELECT choix
CASE 1
totbons=0
lim_coups=jjeux
totncp=0
ncp=1
REPEAT
INC totncp
r=INT(RND*100)
IF r<23
jeu_traduct(1)
ELSE
IF r>86
jeu_decline(1)
ELSE
jeu_complete(1)
ENDIF
ENDIF
totbons=totbons+bons
UNTIL totncp=lim_coups
affiche_result(bons*20/lim_coups)
CASE 2 ! ComplÇment
lim_coups=jc
jeu_complete(lim_coups)
affiche_result(bons*20/lim_coups)
CASE 3 ! Traduction
lim_coups=jt
jeu_traduct(lim_coups)
affiche_result(bons*20/lim_coups)
CASE 4 ! Declinaison
lim_coups=jd
jeu_decline(lim_coups)
affiche_result(bons*20/lim_coups)
CASE 5 ! GESTION DICTIONNAIRE
dico
ENDSELECT
ENDIF
UNTIL choix=6
RETURN
> PROCEDURE aurevoir
CLS
COLOR 1
DEFTEXT 1,0,0,22,2
BOX 50,50,590,350
BOX 48,48,592,352
BOX 44,44,596,356
DEFFILL 1,1
BOX 88,148,542,202
PBOX 90,150,540,200
GRAPHMODE 3
TEXT 100,183,"Do widzenia paÑstwu, do usÉyszenia !"
GRAPHMODE 0
IF ajout!
phrases.lst
sauve_phrases
ENDIF
FOR i=2 TO 33
DEFTEXT 1,2,0,i,2
~VQT_EXTENT("KONIEC")
TEXT (640-PTSOUT(2))/2,300,"KONIEC"
NEXT i
~VST_UNLOAD_FONTS(0)
RETURN
> PROCEDURE affiche_result(n)
LOCAL r$,n$
CLS
GRAPHMODE 2
DEFTEXT 1,16,0,22,2
n$=STR$(INT(n))+"/20"
IF n=0
r$="RÇsultat NUL"
ENDIF
IF n>0 AND n<5
r$="Träs mauvais rÇsultat"
ENDIF
IF n>4 AND n<7
r$="MÇdiocre rÇsultat"
ENDIF
IF n>6 AND n<10
r$="RÇsultat moyen"
ENDIF
IF n>9 AND n<12
r$="Assez bien"
ENDIF
IF n>11 AND n<16
r$="Bon rÇsultat !"
ENDIF
IF n>15 AND n<20
r$="Excellent rÇsultat !"
ENDIF
IF n=20
r$="BRAVO ! Bardzo dobrze !"
ENDIF
DEFTEXT 0,1,0,22,2
DEFFILL 1,2,4
PRBOX 106,106,534,294
~VQT_EXTENT(r$)
TEXT (640-PTSOUT(2))/2,180,r$
DEFTEXT 1
TEXT (640-PTSOUT(2))/2+4,182,r$
RBOX 104,104,536,296
RBOX 100,100,540,300
DEFTEXT 0,0,0,22,2
DEFFILL 1,0
~VQT_EXTENT(n$)
TEXT (640-PTSOUT(2))/2-1,250,n$
TEXT (640-PTSOUT(2))/2+1,250,n$
TEXT (640-PTSOUT(2))/2,250-1,n$
TEXT (640-PTSOUT(2))/2,250+1,n$
DEFTEXT 1
TEXT (640-PTSOUT(2))/2,250,n$
GRAPHMODE 0
DEFTEXT 1,0,0,11,4
~INP(2)
RETURN
'
> FUNCTION nombre_mot(c$)
' DIM mot$(100),mot(100)
LOCAL debut,e$,fin,i
mot=0
FOR i=1 TO LEN(c$)
e$=MID$(c$,i,1)
IF debut=0 AND INSTR(alpha$+"-",e$)>0
debut=i
ENDIF
IF debut>0 AND fin=0 AND (INSTR(alpha$+"-",e$)=0 OR (INSTR(alpha$+"-",e$)>0 AND i=LEN(c$)))
fin=i
INC mot
' mot$(mot)=MID$(c$,debut,fin-debut-(i=LEN(c$)))
' mot(mot)=debut
debut=0
fin=0
ENDIF
NEXT i
RETURN mot
ENDFUNC
> FUNCTION retmot$(c$)
DIM mot$(100),mot(100)
LOCAL debut,e$,fin,i,mot
mot=0
FOR i=1 TO LEN(c$)
e$=MID$(c$,i,1)
IF debut=0 AND INSTR(alpha2$+"-",e$)>0
debut=i
ENDIF
IF debut>0 AND fin=0 AND (INSTR(alpha2$+"-",e$)=0 OR (INSTR(alpha2$+"-",e$)>0 AND i=LEN(c$)))
fin=i
INC mot
mot$(mot)=MID$(c$,debut,fin-debut-(i=LEN(c$)))
mot(mot)=debut
debut=0
fin=0
ENDIF
NEXT i
i=INT(RND*mot)+1
IF mot(i)>1
c$=LEFT$(c$,mot(i)-1)+"..."+MID$(c$,mot(i)+LEN(mot$(i)))
ELSE
c$="..."+MID$(c$,mot(i)+LEN(mot$(i)))
ENDIF
c$=c$+"|"+mot$(i)
ERASE mot$(),mot()
RETURN c$
ENDFUNC
'
' D I C T I O N N A I R E
'
> PROCEDURE dico
LOCAL k!,m!,rec$,rs$,it,tri,trouve!
rec$=SPACE$(1000)
help|=6
CLS
tri=0
DEFTEXT 1,0,0,11,4
BOX 0,345,639,399
BOX 2,347,637,397
LINE 105,347,105,397
LINE 205,347,205,397
LINE 305,347,305,397
LINE 405,347,405,397
LINE 505,347,505,397
TEXT 10,360,"F 1"
TEXT 10,375,"Corriger"
TEXT 10,390,"KorygowaÅ"
TEXT 110,360,"F 2"
TEXT 110,375,"Ajouter"
TEXT 110,390,"DodawaÅ"
TEXT 210,360,"F 3"
TEXT 210,375,"Supprimer"
TEXT 210,390,"UsuwaÅ"
TEXT 310,360,"F 4"
TEXT 310,375,"Rechercher"
TEXT 310,390,"PoszukiwaÅ"
TEXT 410,360,"F 5"
TEXT 410,375,"Trier"
TEXT 410,390,"PrzebieraÅ"
TEXT 550,375,"Return"
DEFTEXT 1,1,0,7,5
TEXT 90,330,"ORDRE DE TRI :"
TEXT 390,330,"RECHERCHE :"
DEFTEXT 1,0,0,22,2
DEFTEXT 1,16,0,22,2
p$="DICTIONNAIRE"
rep$=""
~VQT_EXTENT(p$)
x=PTSOUT(2)
y=PTSOUT(5)
TEXT (639-x)/2,y,p$
p$="Kieszonkowy sÉownik !"
DEFTEXT 1,5,0,11,4
~VQT_EXTENT(p$)
TEXT (639-PTSOUT(2))/2,50,p$
DEFFILL 1,0
BOUNDARY 0
'
l1=0
l2=1
l3=2
DEFTEXT 1,0,0,13,3
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
DEFTEXT 1,2
TEXT 50,250,ph_pl$(index%(l3))
TEXT 50,270,ph_fr$(index%(l3))
BOX 10,100,630,288
BOX 14,104,626,284
BOX 16,106,624,282
REPEAT
c!=FALSE
DEFTEXT 1,0,0,7,5
SELECT tri
CASE 0
TEXT 200,330,"SÇquentiel"
CASE 1
TEXT 200,330,"Polonais "
CASE 2
TEXT 200,330,"Franáais "
ENDSELECT
DEFTEXT 1,1,,11,4
TEXT 280,305,RIGHT$("000"+STR$(l2),4)+"/"+RIGHT$("000"+STR$(ptot),4)
DEFTEXT 1,2
REPEAT
k$=INKEY$
UNTIL INKEY$=""
REPEAT
k$=INKEY$
IF k$=CHR$(0)+"b"
help(help|)
DEFTEXT 1,2,,11,4
k$=""
ENDIF
xm=MOUSEX
ym=MOUSEY
k!=(k$=CHR$(0)+"H" AND l2>1) OR (k$=CHR$(0)+"P" AND l2<ptot) OR k$=CHR$(13)
k!=k! OR (k$>CHR$(0)+CHR$(58) AND k$<CHR$(0)+CHR$(64))
k!=k! OR k$="2" OR k$="8" OR k$="7" OR k$=CHR$(0)+"G"
k!=k! OR (k$=CHR$(3) AND rep$<>"")
m!=(MOUSEK=1 AND xm>16 AND xm<624 AND ym>347 AND ym<397)
UNTIL k! OR m!
IF k$=CHR$(0)+"H"
DEC l2
DEC l1
DEC l3
ENDIF
IF k$=CHR$(0)+"P"
INC l2
INC l1
INC l3
ENDIF
IF k$="8" ! shift Haut par trois
l2=MAX(1,l2-3)
l1=l2-1
l3=l2+1
k$=CHR$(0)+"H"
ENDIF
IF k$="2" ! shift Bas par trois
l2=MIN(ptot,l2+3)
l1=l2-1
l3=l2+1
k$=CHR$(0)+"H"
ENDIF
IF k$=CHR$(0)+"G" ! clr home
l2=1
l1=l2-1
l3=l2+1
k$=CHR$(0)+"H"
ENDIF
IF k$="7" ! shift clr home
l2=ptot
l1=l2-1
l3=l2+1
k$=CHR$(0)+"H"
ENDIF
IF k$=CHR$(3) OR k$=CHR$(0)+CHR$(62) OR (m! AND xm>305 AND xm<405) ! f4 : Rechercher
'
' Fenàtre de saisie RECHERCHE
'
GET 305,347,405,397,res$
PUT 305,347,res$,8
IF k$<>CHR$(3)
BOUNDARY 1
PBOX 38,168,602,220
'
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
TEXT 280,179,"Rechercher"
GRAPHMODE 0
'
saisie_reponse(50,200,1,3,595,rep$)
BOUNDARY 0
ENDIF
IF rep$<>""
r$=@upper_chaine$(TRIM$(rep$))
k$=CHR$(0)+"H"
ci=l2
DEFTEXT 1,0,0,7,5
REPEAT
INC ci
c!=INSTR(@upper_chaine$(ph_fr$(index%(ci))),r$)>0
c!=c! OR INSTR(@upper_chaine$(ph_pl$(index%(ci))),r$)>0
IF ci<=ptot
TEXT 490,330,RIGHT$("000"+STR$(ci),4)+"/"+RIGHT$("000"+STR$(ptot),4)
ENDIF
UNTIL ci>ptot OR c!
IF (NOT c!) AND l2-1<>0
ci=0
REPEAT
INC ci
c!=INSTR(@upper_chaine$(ph_fr$(index%(ci))),r$)>0
c!=c! OR INSTR(@upper_chaine$(ph_pl$(index%(ci))),r$)>0
TEXT 490,330,RIGHT$("000"+STR$(ci),4)+"/"+RIGHT$("000"+STR$(ptot),4)
UNTIL c! OR ci=l2-1
ENDIF
DEFTEXT 1,0,0,11,4
IF c!
l2=ci
l1=ci-1
l3=l2+1
ENDIF
ELSE
k$=""
ENDIF
PBOX 38,168,602,220
DEFTEXT 1,0,0,13,3
IF tri<2
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
DEFTEXT 1,2
PUT 305,347,res$,3
ENDIF
IF k$=CHR$(0)+CHR$(60) OR (m! AND xm>105 AND xm<205) ! f2 : Ajouter
'
' Fenàtre de saisie AJOUTER
'
GET 105,347,205,397,res$
PUT 105,347,res$,8
BOUNDARY 1
PBOX 38,168,602,220
'
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
IF tri<2
TEXT 265,179," Ajouter : Polonais "
ELSE
TEXT 265,179," Ajouter : Franáais "
ENDIF
GRAPHMODE 0
'
saisie_reponse(50,200,1,3,595,"")
k$=""
IF rep$<>""
rs$=rep$
BOUNDARY 1
PBOX 38,168,602,220
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
IF tri<2
TEXT 265,179," Ajouter : Franáais "
ELSE
TEXT 265,179," Ajouter : Polonais "
ENDIF
GRAPHMODE 0
saisie_reponse(50,200,1,3,595,"")
'
IF rep$<>""
INC ptot
IF tri<2
ph_fr$(ptot)=rep$
ph_pl$(ptot)=rs$
ELSE
ph_pl$(ptot)=rep$
ph_fr$(ptot)=rs$
ENDIF
index%(ptot)=ptot
l2=ptot
l1=l2-1
l3=l2+1
ajout!=TRUE
IF tri>0
DEC tri
k$=CHR$(0)+CHR$(63)
ELSE
k$=CHR$(0)+"H"
ENDIF
ELSE
k$=""
ENDIF
ENDIF
BOUNDARY 0
'
PBOX 38,168,602,220
IF k$<>CHR$(0)+CHR$(63)
DEFTEXT 1,0,0,13,3
IF tri<2
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
ENDIF
DEFTEXT 1,2
PUT 105,347,res$,3
ENDIF
'
IF k$=CHR$(0)+CHR$(59) OR (m! AND xm>10 AND xm<105) ! f1 : Corriger
'
' Fenàtre de saisie CORRIGER
'
GET 2,347,105,397,res$
PUT 2,347,res$,8
BOUNDARY 1
PBOX 38,168,602,220
'
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
IF tri<2
TEXT 260,179," Modifier : Polonais "
ELSE
TEXT 260,179," Modifier : Franáais "
ENDIF
GRAPHMODE 0
'
IF tri<2
saisie_reponse(50,200,1,3,595,ph_pl$(index%(l2)))
ELSE
saisie_reponse(50,200,1,3,595,ph_fr$(index%(l2)))
ENDIF
k$=""
IF rep$<>""
rs$=rep$
BOUNDARY 1
PBOX 38,168,602,220
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
IF tri<2
TEXT 260,179," Modifier : Franáais "
ELSE
TEXT 260,179," Modifier : Polonais "
ENDIF
GRAPHMODE 0
IF tri<2
saisie_reponse(50,200,1,3,595,ph_fr$(index%(l2)))
ELSE
saisie_reponse(50,200,1,3,595,ph_pl$(index%(l2)))
ENDIF
'
IF rep$<>""
IF tri<2
ph_fr$(index%(l2))=rep$
ph_pl$(index%(l2))=rs$
ELSE
ph_pl$(index%(l2))=rep$
ph_fr$(index%(l2))=rs$
ENDIF
k$=CHR$(0)+"H"
ajout!=TRUE
IF tri>0
DEC tri
k$=CHR$(0)+CHR$(63)
ENDIF
ELSE
k$=""
ENDIF
ENDIF
BOUNDARY 0
'
PBOX 38,168,602,220
DEFTEXT 1,0,0,13,3
IF tri<2
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
DEFTEXT 1,2
PUT 2,347,res$,3
ENDIF
'
IF k$=CHR$(0)+CHR$(61) OR (m! AND xm>205 AND xm<305) ! f3 : Supprimer
'
' Fenàtre de SUPPRESSION
'
GET 205,347,305,397,res$
PUT 205,347,res$,8
BOUNDARY 1
PBOX 38,168,602,220
'
DEFTEXT 1,0,0,11,4
GRAPHMODE 4
TEXT 260,179," Supprimer ? (o/n) "
GRAPHMODE 0
'
IF tri<2
TEXT 50,195,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,195,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
REPEAT
k$=UPPER$(INKEY$)
UNTIL k$<>""
IF k$="O"
DELETE ph_fr$(index%(l2))
DELETE ph_pl$(index%(l2))
IF index%(l3)>index%(l2)
index%(l2)=index%(l3)-1
ENDIF
DEC ptot
IF l2>ptot
l2=ptot
ENDIF
ajout!=TRUE
ENDIF
k$=CHR$(0)+"H"
IF k$="O" AND ajout!
k$=CHR$(0)+CHR$(63)
DEC tri
ENDIF
BOUNDARY 0
'
PBOX 38,168,602,220
DEFTEXT 1,0,0,13,3
IF (k$=CHR$(0)+CHR$(63) AND tri=1) OR (k$=CHR$(0)+"H" AND tri=2)
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ELSE
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ENDIF
DEFTEXT 1,2
PUT 205,347,res$,3
ENDIF
'
IF k$=CHR$(0)+CHR$(63) OR (m! AND xm>405 AND xm<505) ! Trier
'
' Trier
'
GET 405,347,505,397,res$
PUT 405,347,res$,8
' BOUNDARY 1
' PBOX 38,168,602,220
'
DEFTEXT 1,0,0,11,4
'
k$=CHR$(0)+"H"
INC tri
IF tri=3
tri=0
ENDIF
l2=index%(l2)
FOR it=1 TO ptot
SELECT tri
CASE 1
ph$(it)=ph_pl$(it) !@sansponct$(ph_pl$(it))
CASE 2
ph$(it)=ph_fr$(it) !@sansponct$(ph_fr$(it))
ENDSELECT
index%(it)=it
NEXT it
IF tri>0
QSORT ph$() WITH b|(),ptot+1,index%()
trouve!=FALSE
it=0
REPEAT
INC it
UNTIL index%(it)=l2
l2=it
ENDIF
l1=l2-1
l3=l2+1
'
' PBOX 38,168,602,220
DEFTEXT 1,0,0,13,3
IF tri<2
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
DEFTEXT 1,2
PUT 405,347,res$,3
'
ENDIF
IF k$=CHR$(0)+"H" OR k$=CHR$(0)+"P"
PBOX 48,108,592,160
PBOX 48,168,592,220
PBOX 48,228,592,280
DEFTEXT 1,0,0,13,3
IF tri<2
TEXT 50,190,ph_pl$(index%(l2))
TEXT 50,210,ph_fr$(index%(l2))
ELSE
TEXT 50,190,ph_fr$(index%(l2))
TEXT 50,210,ph_pl$(index%(l2))
ENDIF
IF c!
GRAPHMODE 3
' DEFTEXT 1,8
IF tri<2
p1=190
p2=210
ELSE
p1=210
p2=190
ENDIF
IF tri=2
IF INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$)>0
~VQT_EXTENT(LEFT$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$)-1))
TEXT 50+PTSOUT(2),p2,MID$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$),LEN(r$))
GRAPHMODE 4
TEXT 50+PTSOUT(2),p2,MID$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$),LEN(r$))
ELSE
~VQT_EXTENT(LEFT$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$)-1))
TEXT 50+PTSOUT(2),p1,MID$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$),LEN(r$))
GRAPHMODE 4
TEXT 50+PTSOUT(2),p1,MID$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$),LEN(r$))
ENDIF
ELSE
IF INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$)>0
~VQT_EXTENT(LEFT$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$)-1))
TEXT 50+PTSOUT(2),p1,MID$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$),LEN(r$))
GRAPHMODE 4
TEXT 50+PTSOUT(2),p1,MID$(ph_pl$(index%(l2)),INSTR(@upper_chaine$(ph_pl$(index%(l2))),r$),LEN(r$))
ELSE
~VQT_EXTENT(LEFT$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$)-1))
TEXT 50+PTSOUT(2),p2,MID$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$),LEN(r$))
GRAPHMODE 4
TEXT 50+PTSOUT(2),p2,MID$(ph_fr$(index%(l2)),INSTR(@upper_chaine$(ph_fr$(index%(l2))),r$),LEN(r$))
ENDIF
ENDIF
GRAPHMODE 0
ENDIF
DEFTEXT 1,2
l1=l2-1
l3=l2+1
IF l1>0
IF tri<2
TEXT 50,130,ph_pl$(index%(l1))
TEXT 50,150,ph_fr$(index%(l1))
ELSE
TEXT 50,130,ph_fr$(index%(l1))
TEXT 50,150,ph_pl$(index%(l1))
ENDIF
ENDIF
IF l3<=ptot
IF tri<2
TEXT 50,250,ph_pl$(index%(l3))
TEXT 50,270,ph_fr$(index%(l3))
ELSE
TEXT 50,250,ph_fr$(index%(l3))
TEXT 50,270,ph_pl$(index%(l3))
ENDIF
ENDIF
ENDIF
UNTIL k$=CHR$(13) OR (m! AND xm>505)
'
FOR it=1 TO ptot
index%(it)=it
NEXT it
DEFTEXT 1,0,0,11,2
RETURN
'
' G E S T I O N F I C H I E R
'
> PROCEDURE charge_phrases
OPEN "i",#1,"polski.dat"
WHILE NOT EOF(#1)
INC ptot
LINE INPUT #1,ph_fr$(ptot)
LINE INPUT #1,ph_pl$(ptot)
TEXT 8,405-PTSOUT(5),p$+STR$(ptot)
index%(ptot)=ptot
WEND
CLOSE
RETURN
> PROCEDURE sauve_phrases
OPEN "o",#1,"polski.dat"
FOR i=1 TO ptot
PRINT #1,ph_fr$(i)
PRINT #1,ph_pl$(i)
NEXT i
CLOSE
RETURN
'
> PROCEDURE clavier
REPEAT
k$=INKEY$
UNTIL k$<>""
PRINT ASC(RIGHT$(k$,1)),RIGHT$(k$,1),LEN(k$)
RETURN
> PROCEDURE help(p)
LOCAL sauve_ec$
GET 100,70,540,310,sauve_ec$
BOUNDARY 1
PBOX 100,70,540,310
BOUNDARY 0
DEFFILL 1,1
PBOX 102,72,538,308
DEFFILL 1,0
GRAPHMODE 3
DEFTEXT 1,16,0,13,3
TEXT 270,95,"H E L P"
DEFTEXT 1,0,0,11,4
IF p>2 AND p<6
TEXT 110,120,-420,"Pour obtenir les caractäres spÇciaux polonais Ö partir du clavier,"
TEXT 110,135,-420,"il suffit de frapper la touche "+CHR$(34)+"^"+CHR$(34)+" (accent circonflexe) ou bien le trÇma"
TEXT 110,150,"puis le caractäre voulu :"
DEFTEXT ,9
TEXT 110,180,"Exemple"
DEFTEXT ,0
TEXT 160,200,"PaÑstwo est frappÇ"
TEXT 330,200,"P a ^ n s t w o"
TEXT 160,215,"MaÉe"
TEXT 330,215,"M a ^ l e"
TEXT 160,230,"M¢wiÅ"
TEXT 330,230,"M (trÇma) o w i ^ c"
TEXT 160,245,"UczÄ siê"
TEXT 330,245,"U c z ^ a s i (trÇma) e"
TEXT 110,270,-420,"Les caractäres franáais à, å et ì s'obtiennent de la màme faáon, mais"
TEXT 110,285,"les caractäres polonais ê , ¢ et î s'obtiennent par le trÇma."
DEFTEXT 1,4
TEXT 500,300,"suite"
DEFTEXT 1,0
~INP(2)
GRAPHMODE 0
DEFFILL 1,1
PBOX 102,102,538,308
GRAPHMODE 3
DEFFILL 1,0
ENDIF
SELECT p
CASE 1 ! Menu
CASE 2 ! Jeu
CASE 3 ! ComplÇment
DEFTEXT 1,9
TEXT 110,120,"COMPLETEZ LA PHRASE"
DEFTEXT 1,4
TEXT 110,135,"WypeÉniÅ brakujÄce sÉowa"
DEFTEXT 1,0
TEXT 280,135,": mettez les mots qui manquent"
TEXT 110,155,-420,"Il vous faut retrouver le ou les mot(s) manquant(s) de la phrase"
TEXT 110,170,"symbolisÇ(s) par une suite de trois points."
TEXT 110,200,"Deux mots au maximum sont Ö rechercher."
TEXT 110,228,-420,"Dans ce cas, saisir le premier suivi d'un espace ou d'une virgule,"
TEXT 110,243,"puis le second."
TEXT 110,270,"Vous pouvez le(s) saisir au choix en majuscule ou en minuscule."
CASE 4 ! Traduction
DEFTEXT 1,9
TEXT 110,120,"TRADUCTION"
DEFTEXT 1,4
TEXT 110,135,"PrzekÉadaÅ"
DEFTEXT 1,0
TEXT 110,155,-420,"Il est bien Çvident qu'une traduction en vaut toujours une autre et"
TEXT 110,170,-420,"qu'il serait difficile pour l'ordinateur de juger la qualitÇ de"
TEXT 110,185,"celle-ci !"
TEXT 110,205,"Le but de la manoeuvre est donc de restituer la traduction apprise."
TEXT 110,225,-420,"Conseil : lors de la prÇsentation d'une personne, il est plus correcte"
TEXT 110,240,"d'Çcrire "+CHR$(34)+"Voici mon fils"+CHR$(34)+" plutìt que "+CHR$(34)+"C'est mon fils"+CHR$(34)+" !"
TEXT 110,260,"Vous pouvez saisir la phrase en majuscule ou en minuscule."
TEXT 110,275,"L'ordinateur ne tient pas compte de la ponctuation."
CASE 5 ! DÇclinaison
DEFTEXT 1,9
TEXT 110,120,"DECLINAISON"
DEFTEXT 1,4
TEXT 110,135,"Deklinacja"
TEXT 190,155,"= le sujet du verbe"
TEXT 190,170,"= de qui, de quoi ? APPARTENANCE, POSSESSION"
TEXT 190,185,"= Ö qui, Ö quoi ? ATTRIBUTION, DESTINATION"
TEXT 190,200,"= complÇment d'objet direct"
TEXT 190,215,"= avec ..., traduit aussi la profession, nationalitÇ, qualitÇ"
TEXT 190,230,"= au sujet de... LIEU OU SE PASSE L'ACTION"
DEFTEXT 1,0
TEXT 110,155,"Nominatif"
TEXT 110,170,"GÇnitif"
TEXT 110,185,"Datif"
TEXT 110,200,"Accusatif"
TEXT 110,215,"Instrumental"
TEXT 110,230,"Locatif"
TEXT 110,260,"... et je passe le vocatif !"
TEXT 110,285,"Bref, dÇclinez bien, et faites attention au genre et au nombre !"
CASE 6 ! Dictionnaire
DEFTEXT 1,9
TEXT 110,120,"DICTIONNAIRE"
DEFTEXT 1,4
TEXT 110,135,"SÉownik"
DEFTEXT 1,1
TEXT 110,155,"Correction/Suppression/Trie : Positionnez la phrase"
DEFTEXT 1,0
TEXT 110,175,"F 1 Corriger = modification du polonais et/ou franáais"
TEXT 110,190,"F 3 Supprimer = suppression de la phrase pointÇe"
TEXT 110,205,"F 5 Trier = trie Polonais/Franáais/Ordre du fichier"
TEXT 138,220,"Lors du trie franáais, la phrase en franáais est placÇe en tàte"
TEXT 138,235,"Par dÇfaut, c'est l'ordre sÇquentiel du fichier qui est adoptÇ"
TEXT 110,260,"F 2 Ajouter = ajout d'une phrase en fin de fichier"
TEXT 110,280,"F 4 Rechercher = permet de rechercher la phrase la plus proche"
TEXT 138,295,"d'apräs une chaåne de caractäres (mot, portion de phrase)"
DEFAULT
TEXT 250,200,"Pas d'aide Ö ce niveau"
TEXT 290,230,"DÇsolÇ !"
ENDSELECT
DEFTEXT 1,0,0,22,2
GRAPHMODE 0
~INP(2)
PUT 100,70,sauve_ec$
RETURN
> PROCEDURE phrases.lst
OPEN "o",#1,"phrases.lst"
FOR i=1 TO ptot
PRINT #1,"DATA "+CHR$(34)+ph_pl$(i)+CHR$(34)
PRINT #1,"DATA "+CHR$(34)+ph_fr$(i)+CHR$(34)
NEXT i
CLOSE
RETURN
alpha:
DATA 21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F
DATA 30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F
DATA 40,41,B6,92,42,43,89,44,45,9D,46,47,48,49,4A,4B
DATA 4C,8F,4D,4E,91,4F,9B,50,51,52,53,8B,54,55,56,57
DATA 58,59,5A,8E,A0,61,85,80,62,63,87,81,64,65,82,88
DATA 8A,90,66,67,68,69,6A,6B,6C,83,6D,6E,84,6F,A2,93
DATA 70,71,72,73,86,74,75,97,76,77,78,79,7A,94,A5,7B
DATA 7C,7D,*
Thierry