Kącik porad komputerowych

Moderatorzy: Tyrystor, Szeregowy_Równoległy

JacekM
Śnieżynka
Posty: 10157
Rejestracja: 15 gru 2005, 14:23

Post autor: JacekM » 09 wrz 2013, 9:00

Flasha bym zaktualizował. Sam w Operze miewam problemy z YT, ale tu rozwiązanie jest prostsze, choć upierdliwe: wszystko elegancko śmiga w trybie prywatnym.
bury me in my favourite yellow patent leather shoes / and with a mummified cat / and a cone-like hat.

Awatar użytkownika
Maciek
Posty: 3674
Rejestracja: 15 gru 2005, 23:55
Lokalizacja: Warszawa

Post autor: Maciek » 09 wrz 2013, 22:21

Moje pytanie dotyczy Visual Basic. Jak przypisać wartość zmiennej poza procedurą/funkcją?
Po deklaracji zmiennych, a przed jakimikolwiek funkcjami, procedurami wpisałem przykładowo A=5, ale uruchamiając program, VBA wywala błąd "Invalid outside procedure". Głowię się już nad tym kilka godzin i nie mogę nic wymyślić. :-k
M1 6 33 112 171 181 184 523 E-2 701

Łukasz
Posty: 11296
Rejestracja: 15 gru 2005, 15:48
Lokalizacja: Warszawa
Kontakt:

Post autor: Łukasz » 09 wrz 2013, 23:13

Z tego, co widzę w sieci, tosienieda. A po co Ci tak akurat? Weź albo stałą, albo wrzuć do modułu... http://stackoverflow.com/questions/6714 ... -procedure
ŁK

Awatar użytkownika
Maciek
Posty: 3674
Rejestracja: 15 gru 2005, 23:55
Lokalizacja: Warszawa

Post autor: Maciek » 10 wrz 2013, 19:04

Łukasz pisze:Z tego, co widzę w sieci, tosienieda. A po co Ci tak akurat? Weź albo stałą, albo wrzuć do modułu... http://stackoverflow.com/questions/6714 ... -procedure
To niedobrze, że się nie da. Ogólnie potrzebuję mieć początkową wartość zmiennej n ustawioną jako 1 do poniższego programu:

Kod: Zaznacz cały

Private n As Integer
Private i As Integer
Private Tablica() As Integer
Private liczba As Integer

n = 1

Private Sub CommandButton1_Click()
liczba = 0
Tablica(n) = 1
For i = n To 1 Step -1
liczba = (10 ^ (i - 1)) * Tablica(i) + liczba
Next i
Label1.Caption = liczba
n = n + 1
End Sub
Niestety n=1 nie mogę wsadzić w procedurę kliknięcia guzika, ponieważ za każdym wywołaniem procedury na początku miałbym n=1, a ja chcę za każdym kliknięciem mieć n większe o 1 poczynając od 1 za pierwszym kliknięciem.
Ogólnie powyższy program ma za zadanie wyświetlać w okienku label: 1, 11, 111, 1111 itp. w zależności od ilości kliknięć w guzik. Potrzebuję mieć zmienną n na zewnątrz procedury, ponieważ zamierzam jeszcze zamieścić 9 pozostałych procedur kliknięcia w guzik żeby mieć coś w postaci kalkulatora czyli klikam w guzik 1 oraz guzik 9 i wyświetla mi 19. Klikam dwa razy w guzik 1 i raz w guzik 8 i mi wyświetla 118.
M1 6 33 112 171 181 184 523 E-2 701

Teokryt
Posty: 3846
Rejestracja: 05 paź 2007, 19:48

Post autor: Teokryt » 10 wrz 2013, 19:33

bepe,

wyczysc foldery Cache i Temp, mozliwe że ci sie przytakł bufor plików tymczasowych.
Obrazek

Awatar użytkownika
Maciek
Posty: 3674
Rejestracja: 15 gru 2005, 23:55
Lokalizacja: Warszawa

Post autor: Maciek » 10 wrz 2013, 19:38

Udało się!

Wystarczyło n wrzucić w procedurę UserForm_Initialize().

Program działa tak jak chciałem. Kod poniżej.

Kod: Zaznacz cały

Private n As Integer
Private i As Integer
Private Tablica() As Integer
Private liczba As Integer



Private Sub UserForm_Initialize()
n = 1
End Sub

Private Sub CommandButton1_Click()
liczba = 0
ReDim Preserve Tablica(n)
Tablica(n) = 1
For i = n To 1 Step -1
liczba = (10 ^ (i - 1)) * Tablica(n-i+1) + liczba
Next i
Label1.Caption = liczba
n = n + 1
End Sub
M1 6 33 112 171 181 184 523 E-2 701

Awatar użytkownika
hafilip84
Jego Gryząca Albumowość
Posty: 7641
Rejestracja: 14 gru 2005, 21:03
Lokalizacja: Legionowo

Post autor: hafilip84 » 11 wrz 2013, 2:53

Maciek pisze:Potrzebuję mieć zmienną n na zewnątrz procedury, ponieważ zamierzam jeszcze zamieścić 9 pozostałych procedur kliknięcia w guzik żeby mieć coś w postaci kalkulatora czyli klikam w guzik 1 oraz guzik 9 i wyświetla mi 19. Klikam dwa razy w guzik 1 i raz w guzik 8 i mi wyświetla 118.
Ło Panie, nie tędy droga... ZAWSZE powinna Ci się zapalić lampka awaryjna w momencie kiedy zaczynasz mówić, że potrzebujesz ileś procedur na zrobienie tego samego... Ja bym na Twoim miejscu postarał się zrobić tak (zaznaczam, że ostatnio siedzę raczej w C++, ale z VBA miałem trochę do czynienia... W Accessie zwłaszcza):

Kod: Zaznacz cały

sub DopiszCyfre (intCyfra As Integer)
    Dim intLiczba As Integer
    ''''''Tutaj trzeba wklepać pobranie już wpisanej liczby. Jeśli wciśnięto 1, 1, 8 to pobrane zostanie 118
    intLiczba = intLiczba * 10 + intCyfra
    '''''''Tutaj trzeba wklepać wysłanie nowej liczby do wyświetlenia
End Sub
Taką procedurę trzeba teraz podpiąć pod każdy przycisk z odpowiednim argumentem. Gdyby nie dało się pod przycisk podpiąć procedury z argumentem, to powyższa procedurę zapisujesz w module, a pod każdy przycisk podpinasz taka procedurę:

Kod: Zaznacz cały

sub Przycisk0 () 'Procedura dla przycisku 0
    DopiszCyfre(0)
End Sub
Złota zasada programowania: jeśli jakiś kod można powtórzyć, to należy tego nie robić ;)

Awatar użytkownika
kulikowski
Posty: 897
Rejestracja: 29 sie 2007, 9:39
Lokalizacja: Rakowiec

Post autor: kulikowski » 11 wrz 2013, 17:08

czy da się uruchomić internet w dwukartowym smartfonie z drugiej karty Aero2 :?: Za wszelkie informacje z góry dziękuję.
7 9 15 128 136 154 172 175 188 208 504 S-2 S-3 RL R8 N32 N38 N88

Awatar użytkownika
tomstak
Posty: 1289
Rejestracja: 31 sty 2012, 2:00

Post autor: tomstak » 12 wrz 2013, 12:13

Zależy od smartfona i jego wewnętrznych ograniczeń.

Awatar użytkownika
pawcio
Posty: 25965
Rejestracja: 16 gru 2005, 13:53
Lokalizacja: Os. Wilga

Post autor: pawcio » 12 wrz 2013, 22:37

Od jakiegoś czasu korystam z forum na Nokii 2710 przy użyciu Opery Mini. Problem mam taki, że jak kliknę w temat z nieprzeczytanymi postami, to otwiera mi się właściwa strona, ale nie zrzuca mi widoku do pierwszego nieprzeczytanego postu, tylko zostawia na górze. It's a bug or it's a feature? Na mariginesie dodam, że kliknięcie w tytuł tematu na stronie głównej bez problemów otwiera właściwą stronę z widokiem na właściwy post.
Niekoniecznie zgadzam się ze wszystkim, co napiszę. (C) Marshall McLuhan
"Na diamentach nic nie wyrośnie. Za to kwiaty świetnie rosną na gnoju." - Josefa Idem

Awatar użytkownika
Daniel_FCB
(kaczofob)
Posty: 1603
Rejestracja: 23 lut 2008, 20:54
Lokalizacja: Natolin

Post autor: Daniel_FCB » 14 wrz 2013, 0:52

Mam sobie tabelę aka bazę danych. Mam na jej podstawie stworzyć tekst z informacjami z tej bazy. Dla każdego rekordu ma być ten sam tekst, to samo formatowanie, tylko liczby się zmieniają (lub ich wręcz nie ma). Jak się to robiło, bo coś mi się kołacze w głowie, że coś takiego robiłem w gimnazjum, dwa office'y temu?
Wciąż się zastanawiał, jak nielogiczne może się stać logiczne rozumowanie, jeśli zajmuje się nim dostatecznie duży komitet - Pratchett, Świat finansjery
A mówili nauczyciele "z gminem nie zadajemy się nie z powodu ich niskiego urodzenia, ale dlatego, że nie ma po co" - Ziemiański, Achaja
FCBARCA.COM

Awatar użytkownika
hafilip84
Jego Gryząca Albumowość
Posty: 7641
Rejestracja: 14 gru 2005, 21:03
Lokalizacja: Legionowo

Post autor: hafilip84 » 14 wrz 2013, 1:40

W czym jest ta tabela? Access? Excel? Generalnie zacząłbym pracę od Worda i polecenia korespondencji seryjnej w nim... Powinien Ci wypluć w jakim formacie ma być tabela z danymi.

Awatar użytkownika
Daniel_FCB
(kaczofob)
Posty: 1603
Rejestracja: 23 lut 2008, 20:54
Lokalizacja: Natolin

Post autor: Daniel_FCB » 14 wrz 2013, 1:52

hafilip84 pisze:W czym jest ta tabela? Access? Excel? Generalnie zacząłbym pracę od Worda i polecenia korespondencji seryjnej w nim... Powinien Ci wypluć w jakim formacie ma być tabela z danymi.
Dzięki. O to chodziło. Excela łyka, choć, nie powiem, obsługa wyboru zakresu danych jest tragiczna. Najprościej wydzielić taką tabelę do osobnego arkusza.
Wciąż się zastanawiał, jak nielogiczne może się stać logiczne rozumowanie, jeśli zajmuje się nim dostatecznie duży komitet - Pratchett, Świat finansjery
A mówili nauczyciele "z gminem nie zadajemy się nie z powodu ich niskiego urodzenia, ale dlatego, że nie ma po co" - Ziemiański, Achaja
FCBARCA.COM

Awatar użytkownika
Emyl
Podrzędne Chamidło
Posty: 7044
Rejestracja: 13 wrz 2009, 16:34
Lokalizacja: E91 ▸ Sbarascherstr.
Kontakt:

Post autor: Emyl » 14 wrz 2013, 9:51

kulikowski pisze:czy da się uruchomić internet w dwukartowym smartfonie z drugiej karty Aero2 :?: Za wszelkie informacje z góry dziękuję.
Powinno się udać, jeśli jest obsługa HSDPA.

JacekM
Śnieżynka
Posty: 10157
Rejestracja: 15 gru 2005, 14:23

Post autor: JacekM » 20 wrz 2013, 9:40

Zagadka matematyczno-komputerowa - komputerowa, bo z pewnością da się rozwiązać za pomocą komputera:

Mam zbiór kilkunastu liczb oraz dwie liczby (X i Y), które po dodaniu do siebie będą stanowić sumę tych kilkunastu. Chcę ustalić, które z tych kilkunastu składają się na X, a które na Y. Da się coś z tym zrobić?
bury me in my favourite yellow patent leather shoes / and with a mummified cat / and a cone-like hat.

ODPOWIEDZ