1

Witam!
W jaki sposób wyzerować wartość zmiennej tekstowej w basicu?

2

A$=""

3 Ostatnio edytowany przez Zenon/Dial (2006-03-14 22:42:33)

Albo tak (zależy co kto rozumie pod pojęciem zerowanie)
A$(1)="0": A$(A)="0"":A$(2)=A$
I w zmiennej A$ masz same zera
A jak za zero podstawisz inny znak to  cała A$ zawiera te znaki
A - to zmienna okreslająca wielkość (długość) ciągu A$

4

dzieki, wlawsnie tego szukalem:)

5

jeśli to ataribasic - to polecam z samego początku przesiadke na turbobasic XL.

Kontakt: pin@usdk.pl

6

konkretnie chodziło mi o wyzerowanie zmiennej wprowadzonej przez uzytkownika, aby mozna było na jej zmiennej podstawic inną.

tez slyszalem, ze TB jest lepszy od standardoego, alke - niestety nie posiadam zadnych publikaji na jego temat- wiec z koniecznosci ucze sie z tego, co mam :(

7

No to nie musisz zerowć.  Po INPUT A$, wprowadzać tekst, odczytujesz a po ponownym INPUT A$, poprzednie "dane" znikają z A$ a w ich miejsce wprowadzone zostaja nowe znaki

8

no to tutaj u mnie jes kiszka, i pojawia sie w takiej sytuacji blad nr 9. Co jest dosc dziwne, bo o ile wiem, mowi on o braku deklaracji.

9

Bo aby używać zmiennych tekstowych nalezy przed ich użyciem zadeklarować chęć ich uzywania np. tak:
DIM A$(100) i teraz INPUT A$. Zadeklarowana zmienna A$ pomieści 100 znaków

10

ok, to co tutaj jest źle:

0?CHR$(125)
5 DIM C$(1)
10 INPUT C
15 IF C$="X" THEN END:IF C$="Y" THEN GO TO 0

bo w przypadku X program konczy pracę, ale gdy wcisniemy Y, otrzymujemy blad 9 w linii 5

11

Tak to jest źle bo w linii 15 następuje skok do linii 5 i ponowne zadeklarowanie zmiennej C$ a ono jest juz zadeklarowana stąd błąd. Ale w linii 10 powinny być INPUT C$ a nie samo C, bo C to zmienna numeryczna a nie tekstowa. Zatem powinno być ...THEN GO TO 10. A poza tym masz źle połączone w jednej linii rozgałęzienie typu IF...

12

wlodo napisał/a:

ok, to co tutaj jest źle:
5 DIM C$(1)
15 IF C$="X" THEN END:IF C$="Y" THEN GO TO 0

5 CLR:DIM C$(1)

15 rozbij lepiej na 2 ify jak już ci to napisali, choc cos nasciemniales,
byc moze w innej wersji ci wychodzil blad 9 bo w tej nie ma szans.
Jak wpiszesz "y" to program pojdzie dalej  do linii 16+ goto 0 sie nie wykona, bo
jest po warunku ="x" i ="y", a nie po samym ="y".
To samo z INPUT C :P jakbys tam wpisal Y to bys dostal blad, ale
calkiem inny :) bo C to nie jest C$.  Zawsze lepiej jednak wklejac
kod a nie przepisywac i zmyłki robić :).

---==<<Sc0rpi0>>==---

13

a może zamiast GO TO 0 napisać po prostu RUN ?

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

14

Ja bym opuścił "GO TO" i zostawił sam nr linii. Jak wiadomo "goto" świadczy o złym stylu. ;)

https://www.youtube.com/watch?v=jofNR_WkoCE

15

Każda metoda jest dobra, niech jest podręcznikowe GO TO bo w maszynówce jest  niestylowe JMP :) a wlodo jest na etapie ... ja też chcę to umieć....