No dobra może ktoś skorzysta, może nie...

To niestety tylko Bascom i jedno z rozwiązań z wykorzystaniem jego naturalnych możliwości poprzez proste podstawowe polecenia jakie on udostępnia. Można by walczyć bezpośrednio na obszarach przy pomocy zmiennej w trybie OVERLAY i efekt byłby lepszy tylko same procedury bardziej rozbudowane. Niestety tu elastyczność na korzyść jeżyka C jest nieporównywalna.
Ok, czyli robimy proste działania na zmiennych tekstowych przy pomocy polecenia MID - wycinanie fragmentów tekstu) i LEN - określanie długości tekstu, STR - zamiana liczby na tekst.
Zalety rozwiązania:
- większa szybkość wyświetlania na LCD (mniej komend do wysłania = mniej czekania);
- pełna swoboda w pozycjonowaniu zmiennych (nie musi być już spacji na końcu do zamazywania zmniejszających się liczb;
- nie ma konieczności czyszczenia ekranu (po prostu nic nie drukujemy);
- aby coś pokazać na ekranie wystarczy wysyłać to odpowiednim poleceniem w pętli głównej, a w momencie zaprzestania wysyłania tekst sam zniknie (bardzo wygodne miganie);
- każdy nowy tekst napisany w miejscu już istniejącego ma priorytet i jest wyświetlany na wierzchu przez co można tworzyć ruchome warstwy lub wyświetlić chwilowy komunikat na istniejącym tle;
No i wada niestety też jest, żeby nie było za różowo

Jak wiadomo działamy na zmiennych tekstowych, a te w bascomie potrafią narobić zamieszania i zająć sporo miejsca z czym trzeba się liczyć. Zarówno sam program może nieco przybrać na wadze, jak i pojemność RAM może okazać się za mała w niektórych przypadkach. Niemniej warto chociaż przetestować możliwości.
Poniższy program demonstruje działanie dwóch poleceń:
LCB Y , X , "tekst" - drukowanie na wybranej pozycji
oraz
LCB_VIEW - odświeżenie ekranu i ukazanie wszystkiego co było wywołane poprzednią instrukcją. Dopiero takie odświeżanie spowoduje że coś się wyświetli i należy to robić przynajmniej co 50-100ms stąd dobrze, żeby program był nieblokujący (najlepiej bez wait i pętli, które czekają na nic...). Oczywiście jeśli na ekranie nie wiele się dzieje to można to zrobić na żądanie w dowolnym momencie.
Uwaga aby wyświetlić jakąś zmienną numeryczną (np. zmienna temp) z dodatkami (zdefiniowane znaki, itp) należy ją zamienić najpierw na tekst przy pomocy STR() i użyć dodatkowej zmiennej tekstowej (niestety bascom nie dopuszcza podstawiania instrukcji pod zmienną) ,np:
tekst=STR(temp)+CHR(223)+"C"i ten łańćuszek można już podstawić pod np
LCB 1 , 1 , tekstOk, programik wygląda tak:
język basic4gl
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Program jest dość dobrze skomentowany więc nie powinno być problemu mimo, że wygląda na nieco przydługi - to demonstracja działania zajmuje więcej

Po skompilowaniu go w takiej wersji można zobaczyć od razu efekt na symulatorze bascomowym.
Jak ktoś ma pomysły na poprawkę tego rozwiązania, (a na pewno coś by się nalazło) to oczywiście bardzo chętnie je poznam, bo to było robione tak na szybko.