» »

zacetniska vprasanja pri Visual Basicu 6

zacetniska vprasanja pri Visual Basicu 6

deejay2 ::

Na faksu se ucimno na starem Visual Basicu 6 osnov programiranja. Mene pa predvsem begajo if/case stavki in zanke. Zanima me, v cem je sploh razlika med na eni strani IF in CASE stavki in na drugi med Do-Loop in For-Next zankami? Vem da sta zadni dve opciji zanki, samo kolikor se meni zdi, lahko tudi z IF stavki naredis zanko. Ce zelis narediti taksno, da se recimo po 10 "obratih" prekine (tako kot to storis pri For-Next), potem samo dodas se stevec v njo. In stvar se po 10 krogih ustavi, tako kot bi se pri For-Next.

Zdi se mi, da lahko z IF stavki naredis enako kot z Do-Loop in For-Next. Torej ne vem, zakaj bi uporabljal slednja.

Prosil bi, da mi nekdo pove ce imam prav in mi razlozi malce bolj nazorno (in razumljivo) omenjene 4 elemente Visual Basica.

AndrejS ::

te pa napiši primer zanke z IF stavki

deejay2 ::

trenutno jo ne vem :D . Torej se z If ne da zanko narest, pa ceprav das zraven stevec?

darkolord ::

ne, razen če daš na koncu en GOTO, kar pa bi bila zelo slaba odločitev

OwcA ::

Kaj pa rekurzija. ;)
Otroška radovednost - gonilo napredka.

deejay2 ::

Kaj je to rekurzija in kaj naredi GoTo?

darkolord ::

Rekurzija iz metode še enkrat pokliče isto metodo... Na primer:

Sub Test()
   Static stevec as long
   MessageBox stevec
   stevec = stevec + 1
   Test
End Sub


Pri temu primeru sicer pride do napake Stack Overflow, ker metoda kliče samo sebe toliko časa, dokler ne zapolni celega stacka (= gre pregloboko :))

Goto pa izvajanje premakne na določeno vrstico kode... Na primer ena neskončna "zanka":

Sub Test()
  krneki:
    MessageBox "test"
    Goto krneki:
End Sub


Goto se je sicer (razen pri lovljenju napak) zelo priporočljivo izogibati, ker vodi do neberljive in komplicirane kode ( Spaghetti code).

Zgodovina sprememb…

  • spremenilo: darkolord ()

deejay2 ::

sepravi ce hocem imet pregledno se moram za ponovitve rajsi odlocit za for-netx ali pa do-loop, ce prav razumem. Tiste garekurzivnega primera pa niti ne zastopim najbols.
Verjamem da tistim, ki se ukvarjajo s programiranjem izbor dolocenega ukaza sploh ne dela vec problemov in je ze vse rutinsko..eni smo pac zacetniki in imamo ze s tem malo probleme 0:) .

darkolord ::

"For" zanka se navadno uporablja pri določenem številu iteracij - na primer če hočeš seštet prvih tisoč števil, boš uporabil

Dim i As Long, rezultat As Long
For i = 1 to 1000
  rezultat = rezultat + i
Next i


"For each" se navadno uporabi ko želiš naredit loop čez vse elemente neke zbirke, na primer

Dim p As Printer
For Each p In Printers
    Debug.Print p.DeviceName
Next


Do While/Do Until pa se navadno uporablja, ko loopanje odvisno od nekega pogoja... na primer

Do While Pogoj
    Debug.Print "bla"
Loop

MihaFirst ::

www.gamma.si

deejay2 ::

fajn...sam skoda k je cist vse v anglescini. Sicer pa hvala.

mte ::

fajn...sam skoda k je cist vse v anglescini.

Hja, pri programiranju se boš vedno moral zanašati na angleško literaturo. Kar je napisanega v slovenščini so večinoma zgolj neke začetniške stvari, potem se pa to nekje konča.
lp


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

vba array

Oddelek: Programiranje
12849 (542) Vazelin
»

Excell klicanje makrota z različnimi gumbi

Oddelek: Pomoč in nasveti
11741 (557) JankoK
»

COM in Visual Basic

Oddelek: Programiranje
222080 (1541) pexo
»

[Excel] problem z makrojem, visual basic (strani: 1 2 )

Oddelek: Programiranje
585393 (4856) steev
»

Brute forcing :) in VB problemi

Oddelek: Programiranje
101263 (1061) StratOS

Več podobnih tem