Page 1 of 2 12 LastLast
Results 1 to 25 of 46

Thread: Visual Basic 2008

  1. #1
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default Visual Basic 2008

    Interesuje me ima li forumasha koji se bave programiranjem u VB-u i voljni su da mi pomognu u vezi sa text parsiranjem. Znam da mogu sve ovo da nadjem na googlu, chak sam i nashao rjeshenje, ali sam zatvorio prozor i odluchio ovdje da pitam, da malo ozhivimo ovaj forum.

    Ako ima takvih, postavicu html kod koji treba parsirati.

    Hvala!
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  2. #2
    Join Date
    Jun 2004
    Location
    Zabjelo
    Posts
    180
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    user_name pominje se vb i parsiranje hatemela ti si ovo doktorirao xixixixixixi
    samo ako se smije oglasit

  3. #3
    Join Date
    Jan 2004
    Posts
    1,910
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    uf taj ružni jezik

    kakav tekst je u pitanju...mislim što konkretno treba-da se izvuče neki "čisti" tekst, ili da se na osnovu tog html-a kreiraju neke tabele i čuda?
    ....

  4. #4
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    Izvukao sam podatke sa jedne webstranice koji su formatirani:

    Code:
    <table border="0" width="665" Cellpadding="2">
    
    <tr  class="caltrow" >
    	<td	 align="left">podatak1</td>
    	<td  align="left">podatak2</td>
    	<td  align="right">podatak3</td>
    	<td  align="right">podatak4</td>
    	<td  align="right">podatak5</td>
    	<td  align="center">podatak6</td>
    	<td  align="center">podatak7</td>
    	<td  align="center">podatak8</td>
    </tr>
    
    
    <tr  class="caltrow" >
    	<td	 align="left">podatak1</td>
    	<td  align="left">podatak2</td>
    	<td  align="right">podatak3</td>
    	<td  align="right">podatak4</td>
    	<td  align="right">podatak5</td>
    	<td  align="center">podatak6</td>
    	<td  align="center">podatak7</td>
    	<td  align="center">podatak8</td>
    </tr>
    </table>
    Ovo su samo dva reda, ali u toku dana tabela "raste". Obiljezio sam pocetak svakog reda tako shto sam zamijenio <tr> tag nekim koji se ne pojavljuje u HTML-u:

    Replace("<tr class="caltrow" >", "pocetakParsinga")

    i dobija se sljedece:
    Code:
    <table border="0" width="665" Cellpadding="2">
    
    pocetakParsinga
    	<td	 align="left">podatak1</td>
    	<td  align="left">podatak2</td>
    	<td  align="right">podatak3</td>
    	<td  align="right">podatak4</td>
    	<td  align="right">podatak5</td>
    	<td  align="center">podatak6</td>
    	<td  align="center">podatak7</td>
    	<td  align="center">podatak8</td>
    </tr>
    
    
    pocetakParsinga
    	<td	 align="left">podatak1</td>
    	<td  align="left">podatak2</td>
    	<td  align="right">podatak3</td>
    	<td  align="right">podatak4</td>
    	<td  align="right">podatak5</td>
    	<td  align="center">podatak6</td>
    	<td  align="center">podatak7</td>
    	<td  align="center">podatak8</td>
    </tr>
    </table>
    Najprostijom funkcijom za parsiranje sam uspio da izvucem jedan red, posljednji u tabeli, ali meni treba kod kojim cu sve podatke iz reda ubaciti u array i upisivati u sql server. U ovom mom slucaju treba raditi dva parsinga, jedan da se odvoje redovi, a drugi, u okviru prvog, da se iz reda izvuku svi podaci i ubace u array.

    Toliko za sad
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  5. #5
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Eeee, konačno nešto interesantno na ovom podforumu

    ne treba ti tu nikakvo odvajanje i reimenovanje... Jedan Regular Expression izvlači sve... Samo da nešto obavim i napisaću ti kod...

  6. #6
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    sredio sam malo text i isparsirao ga.

    u tekstualnom polju sada imam:

    Code:
    pocetakParsinga
    pocetak podatak1 kraj
    pocetak podatak2 kraj
    pocetak podatak3 kraj
    pocetak podatak4 kraj
    pocetak podatak5 kraj
    pocetak podatak6 kraj
    pocetak podatak7 kraj
    pocetak podatak8 kraj
    
    
    pocetakParsinga
    pocetak podatak1 kraj
    pocetak podatak2 kraj
    pocetak podatak3 kraj
    pocetak podatak4 kraj
    pocetak podatak5 kraj
    pocetak podatak6 kraj
    pocetak podatak7 kraj
    pocetak podatak8 kraj
    i sve tako redom. Posto polja nece uvijek biti iste duzine, morao sam obiljeziti pocetak i kraj polja, a i neka polja ce biti prazna.

    sad treba parsirati tekst unutar ovog parsiranja. Ovo je moj primjer iz druge, staticne, stranice:

    Code:
                Dim lnStartPos As Integer
                Dim lnEndPos As Integer
                Dim START As String
                Dim pocetak As String
                Dim kraj As String
                Dim GetProxyListing As String
    
                START = "pocetakParsiranja"
                pocetak = "pocetak "
                kraj = " kraj"
    
    
    
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 0)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox6.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 50)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox7.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 100)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox8.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 150)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox9.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 200)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox10.Text = GetProxyListing
    
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 250)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox11.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 300)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox12.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 350)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox13.Text = GetProxyListing
    
    
                lnStartPos = InStr(InStr(1, TextBox2.Text, START), TextBox2.Text, PRICE1) + Len(pocetak)
                lnStartPos = (lnStartPos + 400)
                lnEndPos = InStr(lnStartPos, TextBox2.Text, kraj)
                GetProxyListing = Mid(TextBox2.Text, lnStartPos, lnEndPos - lnStartPos)
                TextBox14.Text = GetProxyListing
    ako ovaj kod iskoristim, dobicu samo vrijednost iz posljednjeg reda. Mene interesuje kako ovaj kod prilagoditi tako da kad nadje vrijednost, prebaci je u varijablu (object), i tako za svaki red pa nakon parsiranja da dobijem, npr:

    red1Vrijednost1 = 0
    red1Vrijednost2 = 0
    red1Vrijednost3 = 0
    red1Vrijednost4 = 0
    red1Vrijednost5 = 0
    red1Vrijednost6 = 0
    red1Vrijednost7 = 0
    red1Vrijednost8 = 0

    red2Vrijednost1 = 0
    red2Vrijednost2 = 0
    red2Vrijednost3 = 0
    red2Vrijednost4 = 0
    red2Vrijednost5 = 0
    red2Vrijednost6 = 0
    red2Vrijednost7 = 0
    red2Vrijednost8 = 0

    itd...
    Last edited by Balsa; 28-01-09 at 13:13.
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  7. #7
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    Da ne bih komplikovao, evo koda koji koristim za parsiranje (znam da je ispreturan i objecti nijesu bash kreativno nazvani ali kad proradi shto mi treba, kasnije ce biti implementiran kako dolikuje):

    Code:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim string1 As String
            Dim string2 As String
            Dim string3 As String
            Dim string4 As String
            Dim string5 As String
            Dim string6 As String
            Dim string7 As String
            Dim string8 As String
            Dim string9 As String
    
            string1 = Microsoft.VisualBasic.Right(TextBox2.Text, Len(TextBox2.Text) - 3116) 'uklanjanje nepotrebnog koda sa pocetka stranice
            string2 = Microsoft.VisualBasic.Left(string1, Len(string1) - 67) 'uklanjanje nepotrebnog koda sa kraja stranice
            string3 = Replace(string2, "<tr  class=""caltrow"" >", "pocetakParsinga")
            string4 = Replace(string3, "<tr >", "pocetakParsinga")
            string5 = Replace(string4, "<td  align=""center""></td>", "0")
            string6 = Regex.Replace(string5, "\<[^\>]+\>", "")
            string7 = Replace(string6, "	", "")
            string8 = Replace(string7, "  ", "")
    
    
            TextBox1.Text = string8
    
            Dim sBuffer As String
            Dim lEnd As Long
            Dim sData As String
    
            ' podaci u bufferu
            sBuffer = string8
            lEnd = InStr(sBuffer, "pocetakParsinga") 'trazi pocetak parsiranja
    
            Do  ' Pocetak Loop-a
                If lEnd > 0 Then    ' If > 0 onda imamo pocetak parsiranja u bufferu
                    sData = Microsoft.VisualBasic.Left(sBuffer, lEnd - 1)
                    ' sData su karakteri prije lEnd
                    sBuffer = Mid(sBuffer, lEnd + 18)
                    ' brisanje proslijedjenih podataka iz buffera
                    TextBox3.AppendText(sData & vbCrLf)
                    lEnd = InStr(sBuffer, "pocetakParsinga")
                    ' odredjuje startnu poziciju za sljedeci parsing
                End If
            Loop While lEnd > 0 ' Loop dok ima "pocetakParsinga" u bufferu
        End Sub
    Ovo parsiranje mi daje rezultat iz prethodnog posta.

    I imajte u vidu da sam prvi put instalirao VB prije nedjelju dana, pa i nijesam bash neki struchnjak
    Last edited by Balsa; 28-01-09 at 13:44.
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  8. #8
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Balša - pošalji ti nama primjer neparsirane stranice (čisti HTML) - onako kako dobiješ sa Web servera, a ja ću napisati mehanizam za parsiranje bez toga svega.

  9. #9
    Join Date
    Jan 2004
    Posts
    1,910
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    hm trenutno nemam previše vremena (a ni instaliran VS), tako da možda malo kasnije pomognem više...

    ali generalno mislim da ne možeš da kreiraš kod koji će da tekst pretvori u ime promjenljive...to teško da se može bez interpretera, a iako VS ima neke runtime stvari mislim da to nije dozvoljeno.


    ono što možeš jeste da napraviš (dvodimenzioni) niz koji će čuvati te vrijednosti. tada je otprilike umjesto red1Vrijednost1 = 0 potrebno napisati niz(1,1)=0

    recimo nešto ovako (trenutno nemam VB, pa možda ima poneka greška).

    Dim vrijednost(1 to 100,1 to 100) as integer 'ili umjesto integer stavi string ili što li već
    vrijednost(1,1)=0 'ovo je umjesto red1Vrijednost1 = 0
    vrijednost(1,2)=0 'ovo je umjesto red1Vrijednost2 = 0
    ...

    tako da otprilike bude ovako: pocetakParsinga, pocetak i kraj nemoj da ispisuješ!
    dakle umjesto
    Code:
    pocetakParsinga
    pocetak podatak1 kraj
    pocetak podatak2 kraj
    pocetak podatak3 kraj
    pocetak podatak4 kraj
    pocetak podatak5 kraj
    pocetak podatak6 kraj
    pocetak podatak7 kraj
    pocetak podatak8 kraj
    
    
    pocetakParsinga
    pocetak podatak1 kraj
    pocetak podatak2 kraj
    pocetak podatak3 kraj
    pocetak podatak4 kraj
    pocetak podatak5 kraj
    pocetak podatak6 kraj
    pocetak podatak7 kraj
    pocetak podatak8 kraj
    treba da bude
    Code:
    podatak1
    podatak2
    podatak3
    podatak4
    podatak5
    podatak6
    podatak7
    podatak8
    
    
    podatak1
    podatak2
    podatak3
    podatak4
    podatak5
    podatak6
    podatak7
    podatak8
    e sad ovaj fajl možeš lako da parsiraš. (otprilike ovako)
    Code:
    promjenljivu za red staviš na 1, a vr isto na 1.
    while nije kraj fajla
        v=čitaj novi red
        while v je prazan red (samo novi red bez podataka) i nije kraj fajla
           v=čitaj novi red
        end while
        'sada je v vrijednost koja treba da se čuva
        vrijednost(red,vr)=v
        vr=vr+1
        v=čitaj novi red
    
        while v nije prazno i nije kraj fajla
           vrijednost(red,vr)=v 
           vr=vr+1 
           v=citaj novi red
        end while
        red=red+1
    end while

    e sad ovo je pokušaj pseudo koda na brzinu. generalno to je prva ideja koja mi je pala na pamet...mislim da uz malo igre (pretvaranje ovog mog "pseudokoda" u VB kod i eventualno neke izmjene...nisam siguran ima li koja gre[ka al ne bi trebalo) možeš da sam isprogramiraš (što je jako bitno ako želiš da se baviš sa tim).

    ako ne kasnije ću riješiti i postaviti ti kod (ako me Djoks ne prestigne )
    ....

  10. #10
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Bez mnogo komplikacija - podatke ćeš iz prvog HTML primjera iščupati na sljedeći način:

    Treba ti u vrhu:

    Code:
    Imports System.Text.RegularExpressions
    i sljedeći kod koji se koristi vrijednostima iz varijable HTMLText:

    Code:
    Dim RegexObjekat As New Regex("<td[^>]*>(.*?)</td>", RegexOptions.Singleline Or RegexOptions.IgnoreCase)
    Dim RezultatiPretrage As Match = RegexObjekat.Match(HTMLText)
    While RezultatiPretrage.Success
         MessageBox.Show(RezultatiPretrage.Groups(1).ToString)
         RezultatiPretrage = RezultatiPretrage.NextMatch()
    End While
    Da li ćeš ti iz petlje direktno da puniš SQL Server ili da ideš kroz kolekciju/niz - to je na tebi.

  11. #11
    Join Date
    Jan 2004
    Posts
    497
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    1
    Thanked in
    1 Post

    Default

    db, i dalje se drogiras

    ako znas da ti je html kod po standardima (tj, znas da ce svaki otvoreni element uvijek biti zatvoren itd..) tj, validan uvijek 100%,

    onda mozes lagano da ga uvezes kao xml dokument, i jednim prostim XPath izrazom da otpakujes sve sto ti treba i stavis automatski u niz, listu i sl...

    2 linije koda....

    a ako nije po standardima, ima i za to lijeka....
    while True:
    suplje, prazno = prazno, suplje

  12. #12
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Ako je HTML kod pravilno struktuiran - onda ima i elegantnije rješenje od toga: LINQ to XML, ali tu je rizik svaka izmjena strukture HTML fajla od strane Webmastera.

    Zato je Regex manje bolno rješenje jer će iščupati sadržaj gdje god se on unutar HTML stranice nalazio. Samo je potrebno propisno formulisati Regex izraz.

  13. #13
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Quote Originally Posted by User Name View Post
    db, i dalje se drogiras
    Ne bih rekao, nego previše čita Lasla Krausa. :mrgreen:

  14. #14
    Join Date
    Jan 2004
    Posts
    1,910
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    pa čovjek je već odradio pola posla....nije fora sad da sve to budu 2 linije gotovog koda...nek malo uči i algoritmiku

    no dobro-glavno je da ima rješenje i Djoks-ovo i ovo moje
    ....

  15. #15
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Evo još jednog načina - u maniru .NET 3.5 SP1 (da budemo "up-to-date") opisanog na lokaciji: http://blogs.msdn.com/bethmassi/arch...nq-to-xml.aspx


  16. #16
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    Hvala Djoks i db!

    Uspio sam mnogo elegantnije da isparsiram text

    evo koda kojim sam isparsirao HTML iz , ako kome treba ili ga/je interesuje:
    Code:
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim string1 As String
            Dim string2 As String
            Dim string3 As String
            Dim string4 As String
            Dim list As ListViewItem
    
            string1 = Microsoft.VisualBasic.Right(TextBox2.Text, Len(TextBox2.Text) - TextBox4.Text) 'uklanjanje nepotrebnog koda sa pocetka stranice
            string2 = Microsoft.VisualBasic.Left(string1, Len(string1) - TextBox5.Text) 'uklanjanje nepotrebnog koda sa kraja stranice
            string3 = Replace(string2, "<tr  class=""caltrow"" >", "pocetakParsinga")
            string4 = Replace(string3, "<tr >", "pocetakParsinga")
    
            Dim sBuffer As String
            Dim lEnd As Long
            Dim sData As String
            Dim vr As Integer
            Dim varijabla(0 To 8) As String
    
            ' podaci u bufferu
            sBuffer = string4
            lEnd = InStr(sBuffer, "pocetakParsinga") 'trazi pocetak parsiranja
    
            Do  ' Pocetak Loop-a
                If lEnd > 0 Then ' If > 0 onda imamo pocetak parsiranja u bufferu
                    sData = Microsoft.VisualBasic.Left(sBuffer, lEnd - 1) ' sData su karakteri prije lEnd
                    sBuffer = Mid(sBuffer, lEnd + 17) ' brisanje proslijedjenih podataka iz buffera
    
                    'parsiranje u parsiranju
                    vr = 0
                    Dim RegexObjekat As New Regex("<td[^>]*>(.*?)</td>", RegexOptions.Singleline Or RegexOptions.IgnoreCase)
                    Dim RezultatiPretrage As Match = RegexObjekat.Match(sData)
                    While RezultatiPretrage.Success
                        varijabla(vr + 1) = RezultatiPretrage.Groups(1).ToString & vbCrLf
                        RezultatiPretrage = RezultatiPretrage.NextMatch()
                        vr = vr + 1
                    End While
    
                    'dodavanje reda u tabeli
                    list = New ListViewItem(varijabla(1))
                    list.SubItems.Add(varijabla(2))
                    list.SubItems.Add(varijabla(3))
                    list.SubItems.Add(varijabla(4))
                    list.SubItems.Add(varijabla(5))
                    list.SubItems.Add(varijabla(6))
                    list.SubItems.Add(varijabla(7))
                    list.SubItems.Add(varijabla(8))
    
                    Me.ListView1.Items.Add(list)
    
    
                    lEnd = InStr(sBuffer, "pocetakParsinga") ' odredjuje startnu poziciju za sljedeci parsing
                End If
            Loop While lEnd > 0 ' Loop dok ima "pocetakParsinga" u bufferu
        End Sub
    Ocu li previshe opteretiti program/bazu ako stvarim upisivanje u nju prilikom svakog Loop-a? Je li mnogo bolje napraviti neki string i onda ga na kraju upisati?
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  17. #17
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Nemoj mi zamjeriti Balša, ali ovo meni nije elegantno, i ne funkcioniše mi ... no bitno je da ti završava posao. Ako si ti zadovoljan - onda je dobro.

  18. #18
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Što se tiče drugog dijela odgovora (tek sad vidjeh): baza se neće ljutiti u svakom slučaju, ali bih ja savjetovao deklaraciju jednog tipiziranog DataSet-a i odgovarajućeg TableAdapter-a (koji zna kako da puni bazu podataka i prihvata parametre), kojeg bi ti kroz prolaz u petlji punio podacima, da bi na kraju (ako nema grešaka) - pozvao Update i sve te promjene proslijedio bazi podataka.

    U suprotnom - obavezno koristi database transakciju - da ne bi tokom punjenja došlo do greške i u bazi imao nepotpune podatke...

    Treba li ti primjer za ovo?

  19. #19
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    Quote Originally Posted by Djoks View Post
    Nemoj mi zamjeriti Balša, ali ovo meni nije elegantno, i ne funkcioniše mi ... no bitno je da ti završava posao. Ako si ti zadovoljan - onda je dobro.
    Chu zamjeriti. Nemam zashto. Pocheo sam prije nedjelju dana da uchim programiranje i zadovoljan sam kako to sve ide. Ja sam samo rekao da je posljednja verzija koda mnogo elegantnija od prve, iako je ona daleko od perfekcije

    Quote Originally Posted by Djoks View Post
    Što se tiče drugog dijela odgovora (tek sad vidjeh): baza se neće ljutiti u svakom slučaju, ali bih ja savjetovao deklaraciju jednog tipiziranog DataSet-a i odgovarajućeg TableAdapter-a (koji zna kako da puni bazu podataka i prihvata parametre), kojeg bi ti kroz prolaz u petlji punio podacima, da bi na kraju (ako nema grešaka) - pozvao Update i sve te promjene proslijedio bazi podataka.

    U suprotnom - obavezno koristi database transakciju - da ne bi tokom punjenja došlo do greške i u bazi imao nepotpune podatke...

    Treba li ti primjer za ovo?
    Mislim da cu koristiti upisivanje u loop-u jer mi je previshe komplikovano ovo drugo shto pominjesh.

    Kako je najbolje uchiti VB? Ima li neko u PG da daje privatne chasove? Koliko to koshta? Imam puno volje, ali mi ponekad za najvecu glupost treba sat vremena da rijeshim koristeci se google=om - samo zato shto nemam osnovu.

    p.s. ne funkcionishe ti kod jer nijesi napravio listview1 sa 8 kolona. Nijesam uspio (tachnije ostao sam bez zhivaca) danas ispishem kod za kreiranje kolona pa sam ruchno napravio listview u dizajnu
    Last edited by Balsa; 29-01-09 at 16:53.
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  20. #20
    Join Date
    Oct 2004
    Location
    Nojeva ostrva
    Posts
    2,614
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    7
    Thanked in
    5 Posts

    Default

    ne mogu da vjerujem da nisi naucio da izpersiras visual basic...

    /code*html-url persiranje bejzika.ccc
    /ccc.rezultati_persiranja*over.fin

    eto nadam se da sam razjasnio
    this is pointless

  21. #21
    Join Date
    Jan 2004
    Location
    Podgorica
    Posts
    3,928
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    3
    Thanked in
    3 Posts

    Default

    Siwtchovao sam ga preko HUB-a, pa sam ga isportovao preko krekovanog nortona, ali nije htio da mi iZtunelira parsiranje... Mo'sh li zamislit
    BEFORE SEX u help each other get naked. AFTER SEX u only dress yourself. Noone helps u once ur fcked

  22. #22
    Join Date
    Oct 2004
    Location
    Nojeva ostrva
    Posts
    2,614
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    7
    Thanked in
    5 Posts

    Default

    Quote Originally Posted by Balsa View Post
    ali nije htio da mi iZtunelira parsiranje... Mo'sh li zamislit
    pa normalno da nije htio kad je pre-cracked...o sve li moram da vas ucim...
    this is pointless

  23. #23
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Dodao sam, nego su me oni Textbox-ovi sludili u početku, i dobijem dva reda u ListView-u - prvi je prazan, a drugi je popunjen podacima...

    Ne znam, doduše, i kakav je sadržaj tih textbox-ova pa ne mogu da probam tvoj kod u potpunosti...

    --

    Elem, kod Visual Basic-a imaš punu slobodu u procesu dolaska do konačnog rješenja. Možeš na 100 načina parsirati taj HTML i proslijediti podatke u bazu, međutim - postoje mehanizmi u VB.NET-u 2008 koji su tu da ti što više olakšaju pisanje kod-a, i naknadne izmjene. Ja bih ti savjetovao da se usmjeriš u tom pravcu. Dakle: da ne programiraš u VB-u 2008 onako kako bi programirao u VB-u 6.0 (što je otprilike taj kod poviše; istini za volju - regularne izraze imamo i u C-u, pa nema razloga da se toliko mnogo "algoritmira" tamo gdje to nije potrebno).

    Ne kažem da je to loše - već da te sputava da brže dođeš do rješenja, a vidjećeš kad uđeš u produkciju (ili ako već jesi) koliko je svaki sat programiranja važan! db kaže: "neka mu malo algoritmiranja", i to je OK - ali ako imaš deadline da predaš program i 100 takvih mjesta u kod-u - vidjećeš da stvari stoje drugačije...

    Zato VB.NET 2008 i uopšte .NET - VRVI od mehanizama koji su tu da ti pomognu i olakšaju programiranje od najosnovnijih rutina - do onih najkompleksnijih. Probaj pošto poto da budeš up-to-date i sa svakim mehanizmom se upoznaj makar bazično; kada dođe momenat da ti zatreba - ići ćeš lako u detalje.

    Zašto ovo pišem? Zato što su zahtjevi klijenata sada znatno drugačiji od zahtjeva klijenata prije 10 i više godina (kada je VB6 bio aktuelan). Sada klijenti traže da im program funkcioniše na mobilnim uređajima, traže da mogu off-line da koriste podatke, da se sinhronizuju sa centralnom bazom podataka, da programi komuniciraju kroz mrežu, da im program šalje SMS-ove itd. itd. šta sve ne...

    Tu će ti onda dobro doći tehnologije tipa: Sync Services, Entity Framework, WCF, WWF, Project Astoria, Azzure itd.

    ---

    Što se učenja VB-a tiče: moja preporuka su knjige, i to izdanja WROX-a, a ponajviše Apress-a (preporuka br. 1: Visual Basic 2008 Recipies - a problem solution approach Apr 2008), zatim Video tutoriali (fantastična Beth Massi): http://msdn.microsoft.com/en-us/vbasic/bb466226.aspx i potom brojna on-line predavanja.

    Uči VB i C# sintaksu da možeš pratiti primjere kod-a i predavanja koja su orjentisana jednom i drugom, a u .NET-u je praktično svejedno koji ćeš koristiti.

    Ako uspiješ da nabaviš seriju tutoriala za VB 2008 od AppDev-a - to je pun pogodak!

  24. #24
    Join Date
    Jan 2004
    Posts
    1,910
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    nismo se razumjeli....

    mislio sam da treba u procesu učenje da obrati pažnju na algoritmiku i kako se u VB-u radi sa fajlovima, promjenljivim,... (a tek kasnije da savlada te novije stvari-višeg nivoa). čovjek je tek počeo da radi sa VB i mislim da isto mora prvo da se upozna sa tim stvarima, a ne da bude ekspert za algoritme (ovo moje je negdje taman na početničkom nivou).

    naravno da je tvoje rješenje elegantnije i bolje za iskusnog (ili srednje iskusnog) programera, ali mislim da je veoma važno da se prođe jedan ciklus gdje treba savladati i algoritmiku (ako ništa drugo-ponekad se neke stvari ne mogu uraditi na visokom nivou, nego nešto mora da se odradi na nižem...mada to sve zavisi od zahtjeva). to ne mora da oduzme puno vremena, ali eto možda jedna nedjelja čisto da bi shvatio kako se radi sa nizovima, listama i sličnim stvarima...

    a mislim da je kasnije (kad se savladaju osnove VB-a) lako naučiti kako da se koriste ti mehanizmi kojih ima mnogo i koji su veoma korisni, ali mislim da se moraju znati i "obične" stvari (mada to je stvar pogleda-neko misli da se treba odmah preći na taj "viši" nivo...pitanje je što je bolje). sve to se generalno lako uči-VB je takav jezik, ali ima baš dosta toga (nije teško, ali je obimno)

    PS: moj kod uopšte ne oduzima puno vremena-to je sklepano za 3-4 minuta, ali je svakako bolje koristiti tvoj kod u aplikaciji (posebno ako treba na više mjesta). a i ja nisam imao VB kod sebe, a ne volim da pišem napamet, pa nisam htio da se upuštam u te stvari....


    beth je dobra....meni je ranije mnogo koristila, i preporuka su svakako video tutorijali, ali isto za detalje treba knjiga ili online dokumentacija. za gotovo svaki problem google ima pravo rješenje

    za bazu: zavisi kakva je baza (koji server, na kakvom računaru,...), ali generalnoje bolje imati jedan veliki unos nego više malih unosa. tako da je svakako bolje unositi u loop-u, i tek na kraju opičiti update nego update nakon svakog unosa...i naravno korisno je koristiti transakcije (posebno ako je puno manjih podataka-kao ovo ovdje)
    ....

  25. #25
    Join Date
    Jan 2004
    Location
    Herceg Novi
    Posts
    3,365
    Thanks Thanks Given 
    0
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts

    Default

    Nije sporno. Nego sam ja razumio da Balša nije početnik u oblasti programiranja, već se konkretno prvi put susreće sa VB-om, pa mu algoritmi i osnovne vještine nijesu strani pojam (što pokazuje na primjeru gore).

    Tačno, algoritmiranje mu ne gine, bez obzira na sve, no moj savjet bio čisto praktične prirode: da se ne gubi vrijeme tamo gdje nije potrebno, da se pažnja usmjeri na važnije segmente programa.

    Ja se, u VB-u, ježim ovih string funkcija: InStr, Left, Right, Mid, Substr itd., jer znam koliko sam propatio baš na ovakvim i sličnim slučajevima, i ako se mogu izbjeći - odlično! Tamo gdje se ne mogu izbjeći (koristim ih jedino još u T-SQL-u i uskladištenim procedurama) - nemam izbora nego da ih pišem i beskrajno mnogo testiram...

    Međutim, tu sam malo staromodan, jer sad mogu koristiti .NET CLR unutar SQL Server-a da .NET program pozivam kao što pozivam uskladištenu proceduru, ali... doći će i to po redu...

    Zapravo: nemoguće je držati korak sa Microsoft-ovim inovacijama. Tek smo upoznali novonastale izmjene u .NET-u 3.5 SP1, a .NET 4.0 je uveliko na pomolu. Tek smo upoznali XAML i Silverlight, a Microsoft već uvodi SDK za Mesh da se aplikacije mogu izvršavati unutar LiveDesktop-a na bilo kojoj platformi bez obzira na Mono... itd. da ne dužim... Ko bi bio u korak sa svim time.

    Ali makar regularne izraze treba što prije usvojiti, i u tu svrhu - evo dva obavezna programa:
    - http://www.ultrapico.com/Expresso.htm (besplatan, preporuka Microsoft-a) i
    - http://www.regexbuddy.com/ (nije besplatan, ali odličan - ima primjere kod-a za sve razvojne platforme i programske jezike).

    Ima ih još, ali pored ova dva - ne treba ti više ni jedan.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Fifteen u visual basic-u
    By dnikola in forum Software
    Replies: 3
    Last Post: 21-05-08, 16:38
  2. visual basic and C#
    By massacre in forum Software
    Replies: 4
    Last Post: 23-12-07, 23:22
  3. Visual Basic - Php
    By miliza in forum Software
    Replies: 1
    Last Post: 09-01-07, 23:03
  4. Visual basic 6.0
    By njonjo in forum Software
    Replies: 11
    Last Post: 08-07-06, 17:39
  5. Basic
    By E-1 in forum Film
    Replies: 2
    Last Post: 22-09-04, 22:08

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •