Strona 1 z 1
PRINT "ABC"D, czyli po co ta spacja?
: 15 wrz 2020, 22:50
autor: r-tea
Witajcie.
Nieoczekiwanie odnalazłem moją grę, którą jakieś 20 lat temu zrobiłem w Basic v2, i postanowiłem ją dokończyć, bo ciut jej brakuje do całości.
Napotkałem taki oto problemik.
Kiedy po komendzie PRINT zapodam ciąg znaków w cudzysłowiu, i zaraz po nim zmienną liczbową, to Basic wstawia między te dwa argumenty spację, a ja potrzebuję, by liczba wyświetlała się zaraz po ciągu znaków.
Np.
20 L=3
30 PRINT"LICZBA:"L
Dostaję:
Liczba: 3
A chcę:
Liczba:3
Jest coś w PRINT czego nie znam, czy trzeba tu będzie wymyśleć jakieś obejście?
Re: PRINT "ABC"D, czyli po co ta spacja?
: 16 wrz 2020, 09:17
autor: Steffan
Witaj!
Wiec od początku.
Bejzik komody do liczb rzutowanych do stringa doda spacje na początku.
Będę stosował dolną kreskę "_" zamiast spacji aby było widać o co chodzi.
Np:
da nam wynik
_10
(przypominam kreska to spacja)
idąc dalej:
da nam wynik
_3 (a nie 2 jakby się mogło wydawać)
wiec wszystko co musisz zrobić to pozbyć się tej spacji z przodu!
w Twoim przykładzie:
Kod: Zaznacz cały
20 L=3
30 PRINT"LICZBA:"+RIGHT$(STR$(L),LEN(STR$(L))-1)
Masz tam 2x wywołanie STR$() wiec lepiej rozbić to do dodatkowej linii, aby działało szybciej
Kod: Zaznacz cały
20 L=3
25 L$=STR$(L)
30 PRINT"LICZBA:"+RIGHT$(L$,LEN(L$)-1)
Mam nadzieję, że nie zamotałem.
Pozdro
Steffan
Re: PRINT "ABC"D, czyli po co ta spacja?
: 16 wrz 2020, 12:12
autor: r-tea
Dziękuję. Czyli jednak nie zapomniałem wiele z naszego Basic v2.
i trzeba zrobić obejście.
Jeszcze raz dzięki.
Re: PRINT "ABC"D, czyli po co ta spacja?
: 16 wrz 2020, 23:55
autor: r-tea
Działa
Re: PRINT "ABC"D, czyli po co ta spacja?
: 17 wrz 2020, 08:15
autor: Steffan
r-tea pisze: ↑16 wrz 2020, 23:55
Działa
Brawo! Kiedy gramy?
Pozdro
Steffan
Re: PRINT "ABC"D, czyli po co ta spacja?
: 17 wrz 2020, 10:39
autor: r-tea
Jest szansa, że w tym roku. Patrząc optymistycznie.
Re: PRINT "ABC"D, czyli po co ta spacja?
: 17 wrz 2020, 18:18
autor: carrion
fajne.
Już wiem o czym będzie jeden z kolejnych artykułów...
odezwę się do Ciebie r-tea na PM za chwilę.
Re: PRINT "ABC"D, czyli po co ta spacja?
: 18 wrz 2020, 14:49
autor: r-tea
Spoko.
Mam jeszcze pytanie o kody specjalne typu {rvs on}, które produkuje petcat. W manualu do petcat znalazłem tylko te podstawowe, np. do zmiany kolou, poruszania kursora, włączania rewersu, a mi chodzi o semigrafikę. Zaczynają się one od "CBM-", i kilka z nich mam już w kodzie.
Czy jest gdzieś jakaś gotowa tabelka?
Re: PRINT "ABC"D, czyli po co ta spacja?
: 20 wrz 2020, 01:38
autor: Beda
Hejka.
Dawno już się nie bawiłem Basicem, ale czy nie prościej było by zastosować średnik ;.
Tak mi się wydaje, że do 30 PRINT"LICZBA:"L wystarczy dodać średnik, czyli 30 PRINT"LICZBA:";L
To tak z pamięci po 20 latach, więc może coś pomyliłem
Re: PRINT "ABC"D, czyli po co ta spacja?
: 20 wrz 2020, 08:52
autor: Steffan
Beda pisze: ↑20 wrz 2020, 01:38
Hejka.
Dawno już się nie bawiłem Basicem, ale czy nie prościej było by zastosować średnik ;.
Tak mi się wydaje, że do 30 PRINT"LICZBA:"L wystarczy dodać średnik, czyli 30 PRINT"LICZBA:";L
To tak z pamięci po 20 latach, więc może coś pomyliłem
Pierwsza moja myśl była taka sama, ale nie, nie wystarczy. Oczywiście nie zarzekam się, że kodu który dałem wyżej nie da się zrobić inaczej (prościej).
Pozdro
Steffan
Re: PRINT "ABC"D, czyli po co ta spacja?
: 20 wrz 2020, 13:06
autor: r-tea
Beda pisze: ↑20 wrz 2020, 01:38
Hejka.
Dawno już się nie bawiłem Basicem, ale czy nie prościej było by zastosować średnik ;.
Tak mi się wydaje, że do 30 PRINT"LICZBA:"L wystarczy dodać średnik, czyli 30 PRINT"LICZBA:";L
To tak z pamięci po 20 latach, więc może coś pomyliłem
Średnik przyłączy argument do tej samej linii, ale spacji nie usunie.
Re: PRINT "ABC"D, czyli po co ta spacja?
: 30 lip 2022, 20:19
autor: przemo.bundy
można użyć komendy chr$()
spis kodów jest dostępny w internecie. chr$() manipuluje znakami na ekranie, pomimo że nie widać kursora. gdy działa program.
ponadto to jest jakiś bug basica. na youtube: jest kanał: 8 bit show and tell.
był filmik o tym. pozdrawiam...