DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦9ea324e67⟧ TextFile

    Length: 5248 (0x1480)
    Types: TextFile
    Names: »TEXTTRIX.LST«

Derivation

└─⟦b07c548bc⟧ Bits:30004188 COMMENU vers. 4.0
    └─ ⟦this⟧ »TEXTTRIX.LST« 

TextFile

0010 // Demonstration af de enkelte procedurer i TEXTTRIX.
0020 //
0030 PAGE 
0040 skrivskub("T E K S T   T R I C K S",12,28)
0050 pause(1.5)
0060 sug("T E K S T   T R I C K S",12,28)
0070 pause(0.5)
0080 PRINT AT 4,10: "Du kan bruge følgende procedurer:"
0090 skrivskub("*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*",5,10)
0100 skrivskub("SKRIVSKUB  Skriver teksten mens den skubbes ind på skærmen",8,10)
0110 pause(1.5)
0120 PRINT AT 10,10: "SKUB  Skubber teksten ud til højre"
0130 pause(1)
0140 skub("SKUB  Skubber teksten ud til højre",11,10)
0150 pause(1.5)
0160 PRINT AT 12,10: "SUG  Suger teksten ud til venstre"
0170 pause(1)
0180 sug("SUG  Suger teksten ud til venstre",13,10)
0190 pause(1.5)
0200 tril("TRIL  Teksten triller ned på linien nedenunder. Starter bagfra.",13,10)
0210 pause(1.5)
0220 rul("RUL  Ruller teksten fra venstre mod højre. Dukker op i linien under",16,10)
0230 PRINT AT 20,28: "VÆRS'GO.... PRØV SELV"
0240 pause(1.5)
0250 rul("Nu kan du selv prøve.....",19,28)
0260 pause(2)
0270 tril("*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*",19,1)
0280 LOOP 
0290 skrivskub("* * *  * TEXTTRIX * * * * ",22,20)
0300 skub("* * * * TEXTTRIX * * * * ",22,15)
0310 ENDLOOP 
0320 //*************************************************************************
0330 //                        ** TEXTTRIX **
0340 // En samling procedurer, der får en tekst til at bevæge sig på skærmen.
0350 // Procedurerne kan bl. a. anvendes i datalæreundervisningen. Eleverne kan
0360 // få til opgave at sammensætte de forskellige procedurer, kombineret
0370 // med andre COMAL sætninger, til et mini "lys(tekst)show".
0380 // Procedurerne kan let omarbejdes og udbygges.
0390 // Procedurerne kan også bruges til at gøre elevernes egne programmer lidt
0400 // festligere, f. eks. i forbindelse med input og print sætninger.
0410 //
0420 // Procedurerne er skrevet i COMAL (80 - Z80) til COMET, men kan meget let
0430 // omarbejdes til andre maskintyper.
0440 // Procedurerne kan let ændres, så der opnås andre virkninger - og der
0450 // kan jo også laves helt nye procedurer, så samlingen udvides.
0460 // En meget simpel ændring er at rette i parameteren i procedurekaldene
0470 // til proceduren PAUSE.
0480 // Hvis du finder på flere procedurer, så vil jeg da gerne have en kopi
0490 // til min samling TEXTTRIX.
0500 //
0510 // Carsten Borre Larsen, Rugkobbelskolen, Aabenraa.
0520 // DATABOKS:   DKR019
0530 //*************************************************************************
0540 //
0550 PROC sug(tekst$,y,x) CLOSED 
0560 // Proceduren bruges til at slette en tekst.
0570 // Tekstens første karakter har koordinaterne x,y. Teksten suges væk mod               venstre.
0580 IMPORT pause
0590 REPEAT 
0600 læ:=LEN(tekst$)
0610 tekst$:=tekst$(2:LEN(tekst$))
0620 PRINT AT y,x: tekst$+SPC$(læ-LEN(tekst$))
0630 pause(0.05)
0640 UNTIL LEN(tekst$)=0
0650 ENDPROC sug
0660 //
0670 PROC pause(sek) CLOSED 
0680 FOR tid:=1 TO sek*700 DO 
0690 ENDFOR tid
0700 ENDPROC pause
0710 //
0720 PROC skrivskub(tekst$,y,x) CLOSED 
0730 // Bruges til at skrive en tekst med.
0740 // Teksten skubbes ind på skærmen (som en omvendt lysavis) fra venstre mod højre startende ved x,y)
0750 IMPORT pause
0760 t$:=""
0770 læ:=LEN(tekst$)-1
0780 REPEAT 
0790 t$:=tekst$(læ:LEN(tekst$))
0800 PRINT AT y,x: t$+SPC$(LEN(tekst$))
0810 pause(0.05)
0820 læ:-1
0830 UNTIL læ=0
0840 ENDPROC skrivskub
0850 //
0860 PROC tril(tekst$,y,x) CLOSED 
0870 // Proceduren får en tekst til at trille ned på næste linie.
0880 // Teskten begynder at trille bagfra.
0890 // x,y angiver placeringen af tekstens første tegn.
0900 IMPORT pause
0910 tal:=0
0920 yk:=y
0930 PRINT AT yk,x: tekst$
0940 xk:=x+(LEN(tekst$)-1)
0950 REPEAT 
0960 PRINT AT yk,xk: " "
0970 pause(0.02)
0980 PRINT AT yk+1,xk: tekst$(LEN(tekst$)-tal:LEN(tekst$)-tal)
0990 tal:+1
1000 xk:-1
1010 pause(0.05)
1020 UNTIL tal=LEN(tekst$)
1030 ENDPROC tril
1040 //
1050 PROC rulned(tekst$,y,x) CLOSED 
1060 PAGE 
1070 IMPORT pause,rul
1080 ned:=1
1090 REPEAT 
1100 rul(tekst$,ned,x)
1110 ned:+1
1120 UNTIL ned=y
1130 PRINT AT y,x: tekst$
1140 ENDPROC rulned
1150 //
1160 PROC rul(tekst$,y,x)
1170 // Teksten ruller fra venstre mod højre over skærmen.
1180 // Den forsvinder, men dukker op igen i linien nedenunder.
1190 // x,y angiver den første teksts første tegn.
1200 læ:=LEN(tekst$)
1210 gltekst$:=tekst$
1220 REPEAT 
1230 tekst$:=tekst$(1:(LEN(tekst$)-1))
1240 tekst2$:=gltekst$(læ-(læ-LEN(tekst$)):læ)
1250 CURSOR y,x
1260 PRINT SPC$(læ-LEN(tekst$))+tekst$
1270 PRINT AT y+1,x: tekst2$
1280 pause(0.02)
1290 UNTIL LEN(tekst$)=1
1300 PRINT AT y,x: SPC$(læ+1)
1310 ENDPROC rul
1320 //
1330 PROC skub(tekst$,y,x) CLOSED 
1340 // Teksten skubbes væk fra venstre mod højre. X,Y angiver tekstens
1350 // første tegn.
1360 IMPORT pause
1370 læ:=LEN(tekst$)
1380 REPEAT 
1390 tekst$:=tekst$(1:(LEN(tekst$)-1))
1400 PRINT AT y,x: SPC$(læ-LEN(tekst$))+tekst$
1410 pause(0.02)
1420 UNTIL LEN(tekst$)=1
1430 PRINT AT y,x: SPC$(læ+1)
1440 ENDPROC skub
«eof»