Strona 1 z 1

Zmienna dostepna w calym module

: pt sty 22, 2016 10:38 pm
autor: RoberttoDesperaddo
Jak ustawic zmienna w taki sposob zeby moze sie bylo do nie odwolywac w kazdym subie, bez koniecznosci jej kazdorazowego deklarowania?

Z roznych zrodel o tym czytalem i wszystkie sugeruja, zeby okreslac ja poza subami, czyli (jak ja to rozumiem, moze blednie) w ten sposob:

Kod: Zaznacz cały

dim var1 as string

sub test1
var1 = "test"
end sub

sub test2
print var1
end sub
Niestety nic to nie daje.


Robienie tego zas tak:

Kod: Zaznacz cały

dim var1 as string
var1 = "test"

sub test1
print var1
end sub
zwraca blad.

Jak to powinno poprawnie wygladac?

Re: Zmienna dostepna w calym module

: pt sty 22, 2016 10:43 pm
autor: Jan_J
Do deklarowania zmiennych globalnych użyj dyrektywy global. Patrz https://wiki.openoffice.org/wiki/Docume ... _Variables
Przypisanie wartości do zmiennej poza podprogramem jest nielegalne. Na poziomie modułu wolno umieszczać dyrektywy, deklaracje zmiennych, deklaracje funkcji oraz procedur.

Re: Zmienna dostepna w calym module

: pt sty 22, 2016 11:16 pm
autor: RoberttoDesperaddo
To co jest pod tym linkiem czytalem i po prostu w praktyce to nie dziala.

To:

Kod: Zaznacz cały

global var1 as string

sub test1
var1 = "test"
end sub

sub test2
print var1
end sub
Nie daje nic.

Dawanie "dim" lub "public" zamiast "global" jest rownie bezowocne.

Re: Zmienna dostepna w calym module

: pt sty 22, 2016 11:30 pm
autor: Jan_J
Twój moduł z var1 u mnie działa: najpierw test1 nadaje wartość var1, a potem test2 z niej korzysta.
Sprawdzałem na LO 5.0 Portable pod Windows 7 Pro, ale wersja ani system nie powinny mieć znaczenia.