zxz | 08.02.2012 14:00 |
---|---|
Predmet:Pitanja u vezi procedura i pisanja koda Ovdje mozete postavljati pitanja u vezi pisanja procedura kao i nejasnoce u nekoj proceduri koju ste negdje nasli ili neko drugi napisao pa nije pojasnio. |
White Man | 08.02.2012 14:24 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Jel mozete da nam nakacite objasnjenja za skracenice u procedurama i da ih ispisete sta sve znaci tipa: Dim, String, msgbox... i tako dalje i onda da nam objasnite kako se pisu procedure? Hvala puno unapred. Pozdrav |
pmiroslav | 08.02.2012 14:32 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda VB Å kola na ovom forumu. Čitaj je malo. VB Å¡kola |
zxz | 08.02.2012 14:43 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Sve naredbe je nemoguce ispisati jer ih ima puno. Cak to nema niti u jednoj knjizi. Mozda ima neka knjiga koja opisuje naredbe ali samo iz biblioteke brun i jos poneke standardne. Mozete pisati po neku naredbu koju nadjete a neznate sta znaci da bi dobili znacenje ili pak upute kako se i za sta koristi. Dim Dim sluzi za dimenzionisanje memorijskih variabli. U vebe nije obavezno dimenzionisanje variabli ukoliko na pocetku modula ne unesemo opciju Option explicit Ukoliko na vrhu modula postoji ovo onda je obavezno dimenzionisanje. Dimenzionisanje variabli znaci odvajanje memorijskog prostora za odredjeni podatak. Primjer Dim nekiProizvoljniNazi as Neki_tip iz primjera se vidi da pri dimenzionisanju neke varijable moramo joj dati naziv i odrediti tip variable. Tip variable nije obavezan u VB ali je pozeljan jer ako ne odredimo tip onda ce se variabla ponasati kao tipa variant a to znaci da moze biti bilo koji tip. Tipovi podataka imaju opisani u ovoj temi: http://www.icentar.ba/showtopic.php?id=1149 Doseg variabli moze biti razlicit. Ukliko variablu dimenzionisemo na vru modula i deklarisemo je sa global. Global nekiNaziv as NekiTip. Tada ce se podaci u ovoj variabli zadrzati na nivou citave aplikacije. Znaci podaci se nece gubiti dokle god smo u aplikaciji. Napomena: Ova globalna variabla se moze dimenzionisati samo u Single modulu a ne u modulu od neke forme. Ako pak dimenzionisemo neku var. na vrhu modula kao Dim NekiNaziv as NekiTip U ovako dimenzionisanoj variabli podaci ce biti zadrzani na nivou objekta. Ako je to modul od forme na nivou forme a ako je zaseban modul onda na nivou tog modula. Dimenzionisanje variable u samoj proceduri sacuvat ce podatke samo dok se odvija ta procedura. |
zxz | 28.02.2012 12:16 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Zar u ovoj temi nema niko vise nista pitati? Ja sam mislio da ce biti mnogo vise pitanja. |
pmiroslav | 28.02.2012 15:54 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Evo ja ću pitati. Meni ponekad nije najjasnije kako se procedura iz modula poziva iz druge procedure, sa forme ili iz querya. Evo npr. kako bi pozvao ovu tvoju funkciju iu primjera PreuzmiIzvorni kôd (vbnet):
|
zxz | 28.02.2012 17:05 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Ova procedura ima zaglavlje: Citat: Function NadjiVrijednost(ImeTabele As String, ImePolja As String, _ Sto znaci da pored naziva ima jos i 3 ulazna parametra i to dva tipa string i treci tipa variant. Kako se poziva: -Mozemo je pozvati it druge provcedure Primjer: Function Pozivna() Dim a as boolean a = NadjiVrijednost("kupci", "Kupac", "Kupac3") End Function A ima vrijednost true ili false zavisno dali postoji u tabeli kupci u polju kupac vrijednost kupac3. Znaci u ovom slucaju procedura vraca vrijednost true ili false. Uloliko procedura ne vraca nikakvu vrijednost mozemo je pozvati i ovako. NadjiVrijednost "kupci", "Kupac", "Kupac2" U ovom slucaju nemamo variable a koja ce prihvatiti vrijednost koju vraca procedura. Znaci ako procedura ne vraca vrijednost nego samo nesto odradjuje onda se moze i ovako pozvati. Procedura moze biti napisana i kao Contril source na formi neke kontrole na formi: Tada podatak na kontroli poprima vrijednost iz procedure a pise se u controlsource kontrole: =NadjiVrijednost("kupci";"Kupac";"Kupac2") Takodje se moze pozvati na neki event forme ili polja napr na on load. =NadjiVrijednost("kupci";"Kupac";"Kupac2") Kako ste primijetili delimiter izmedju variabli u ostalim slucajevime nije zarez ','nego tackazarez ';'. Procedura moze biti pozvana i sa Rekordsource ali tada mora biti i dimenzionisana kao rekord. Proceduru mozemo pozvati i iz Query-a. Jenostavno dopisemo jedno polje u Kuery-a i pozovemo proceduru. Ovo se koristi kada su podaci ulaznih parametara procedure citaju iz rekorda. Ukoliko su oni razliciti za svaki rekord procedura ce se izvrsiti onoliko puta koliko ima rekorda. |
Branestan | 27.05.2012 18:09 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Da ne bih otvarao novu temu, nastaviću ovdje. Funkcija: Public Function SaldoPozitivno(ByVal pArt As String) As Double On Error GoTo Err_SaldoPozitivno Dim rst As ADODB.Recordset Dim SumaKol As Double Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient MsgBox pArt rst.Open "SELECT Ulaz1.kol As Kol" & _ " FROM Ulaz1, Ulaz " & _ " WHERE Ulaz.UlazId = Ulaz1.UlazId And Ulaz1.art = '" & pArt & "' " & _ " UNION SELECT -Izlaz1.kol As Kol" & _ " FROM Izlaz, Izlaz1, Ulaz1 " & _ " WHERE Izlaz.IzlazId = Izlaz1.IzlazId and Izlaz1.UlazId = Ulaz1.UlazId And Izlaz1.art = '" & pArt & "'", _ CurrentProject.Connection, adOpenKeyset, adLockOptimistic SumaKol = 0 Do Until rst.EOF SumaKol = SumaKol + rst!Kol rst.MoveNext Loop SaldoPozitivno = SumaKol rst.Close Set rst = Nothing Exit_SaldoPozitivno: Exit Function Err_SaldoPozitivno: MsgBox Err.Description Resume Exit_SaldoPozitivno End Function Gdje grijeÅ¡im kad je pozivam na način kako je navedeno u nastavku? Private Sub Text0_LostFocus() Dim a As String Dim b As Double a = Me.Text0 b = SaldoPozitivno("a") Me.Text2 = b End Sub |
zxz | 27.05.2012 18:32 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda Kao prvo nemas ado konekcije: Imas ado konekciju u koristan kod u forumu arhiva set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("northwind.mdb")) set rs=Server.CreateObject("ADODB.recordset") sql="SELECT * FROM Customers" rs.Open sql,conn Ovo neznam dali ti treba rst.CursorLocation = adUseClient'-Označava mjesto kursora usluge. |
zxz | 27.05.2012 18:44 |
---|---|
Predmet:Re: Pitanja u vezi procedura i pisanja koda PreuzmiIzvorni kôd (Visual Basic):
Ne ulazim U tacnost SQL upita. |