- Turbo Basic XL - materiały podesłane/napisane przez:
- Paweł "Sikor" Sikorski
- Sławomir "Bluki" Woźniak
- Arkadiusz "Larek" Lubaszka
Biblioteka procedur TB XL
Wszystkie poniższe procedury można kopiować i używać w swoich programach bez ograniczeń. Służą one jakodarmowa baza, mająca za cel pomoc przy pisaniu nowych programów.
Każdy przykład znajdujący się tutaj będzie podany jako tekst. Zasadniczowystarczy go skopiować i używać. Wszystkie przykładowe procedury będą numerowane od 999 linii (właściwie od 1000), po przekonwertowaniu tekstu i wczytaniu do edytora należy przenumerować sobie linie na takie, jakie są nam potrzebne w programie (służy do tego instrukcja RENUM).
Przypominam, że procudury w TB XL wywołujemy przez EXEC nazwa_procedury
Zerowanie danych przez MOVE
999 ------------------------------ 1000 PROC ZEROWANIE_MOVE 1001 FOR I=%0 TO 39:POKE $6000+I,%0:NEXT I 1002 FOR I=%1 TO 24:MOVE $6000,$6000+I*40,40:NEXT I 1003 ENDPROC
Pisząc programy często stajemy przed koniecznością wyczyszczenia (wyzerowania) serii danych w pamięci (względnie wypełnienia jej powtarzającymi się seriami danych). Pomocna jest w tym przypadku instrukcja POKE, jednak gdy jest bardzo dużo danych - problematyczne staje się jej wykorzystanie wprost. Przy bardzo dużej ilości powtórzeń pomocna bywa instrukcja MOVE skąd,dokąd,ile.
Opis procedury:
- Linia 1001 - wypełnienie pamięci serią danych (tu - zerowanie, 40 bajtów, od adresu $6000)
- Linia 1002 - powielenie danych 24 razy

Zerowanie danych przez MOVE
999 ------------------------------ 1000 PROC ZEROWANIE_MOVE 1001 FOR I=$6000 TO $63C0 STEP 40 : MOVE ADR("++++++++++++++++++++++++++++++++++++++++"),I,40: NEXT I 1002 ENDPROC
Zamiast znaków "+" powinny być atarowskie serduszka o kodzie 0.
Jak pisze autor procedury: Nie twierdzę, że to najszybsza metoda wyzerowania obszaru pamięci, ale szybka to ona jest. Oczywiście, zamiast serduszek o kodzie 0 można wstawić inny znak (o innej wartości) i nim wypełnić dany obszar.
