Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Skolski projekat

[es] :: Visual Basic 6 :: Skolski projekat

[ Pregleda: 1853 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

don_ron

Član broj: 81747
Poruke: 5
*.rb.b.2-3.6.bih.net.ba.



Profil

icon Skolski projekat19.01.2006. u 08:34 - pre 222 meseci
Pozdrav!
Imam jedno pitanje ako nije problem!Ovako potrebno (obavezno) ja da u nasoj skoli napravim program za arhivu!
Radi se o tome da skola ima 570 arhiva (txt fajlova sa imenima od arhiva1.txt do arhiva570.txt) te sam arhive dodao u jedan folder (/ARHIVE) i ubacio ih u combo1 e sad je problem pretraga!Nacin pretrage je sledeci:
ako neko u text1.text unese neku rijec za trazenje i u combo1 izabere npr arhiva55 da kao rezultat nakon klikanja na command1 u text3.text ispise sve recenice koje sadrze tu rijec. A u slucaju da se u combo1 ne izabere nista onda treba da pretrazuje sve arhive i ispisuje rzultate !Eto ako iko zna kao ja sam zaglavio i nece dalje a moram to napraviti jer ce mi to biti i zavrsni dio ispita!Ako ko ima ideju ili nesto slicno neka posalje na mail ili postira ovdje!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Skolski projekat19.01.2006. u 11:09 - pre 222 meseci
pa ako su te arhive u obicnom text formatu (tj bez posebnog formatiranja) onda ce biti malo teze rastaviti sadrzaj arhive na recenice, mozes da ih splitujes po tackama (.) ali bi ti onda recenicu tipa:
"Ucenik br. 1111 ima taj i taj prosek." (il sta ti se vec nalazi u tim arhivama, ovo je samo za primer)
rastaviti na dve:
"Ucenik br." i " 1111 ima taj i taj prosek." evo ja cu ti dati primer pa ti vidi dal ti odgovara:

Code:

Private Sub Command1_Click()
  Dim fn As Integer, i as Integer
  Dim recenica() As String, path As string, sadrzaj as String,fileName as string

  If Text1.Text="" Then Exit Sub 'nije uneta fraza za pretrazivanje

  fn = freeFile  
  path = Replace$(app.path & "\arhiva","\\","\")

  sadrzaj="." 'zbog splita dole (da ne bi dobili nedefinisan array koji ce izazvati gresku priliko koriscenja bound funkcija)

  If Combo1.Text = "" Then 'nista nije izabrano, pretrazuju se sve arhive
    For i=1 to 570
       fileName=path & "\arhiva" & cstr(i) & ".txt"
       'za svaki slucaj da proverimo da li fajl postoji
       if dir(fileName) <> "" Then 'postoji:
         open fileName for binary as #fn
           'iscitavamo sadrzaj i dodajemo promenjivoj
           sadrzaj=sadrzaj & Input(LOF(fn),#fn) 
         close #fn
       end if
    Next
  Else 'izabrana je samo jedna arhiva
    'pod uslovom da su u combou arhiva1, arhiva2... (bez .txt):
    fileName=path & combo1.text & ".txt" 
    open fileName for binary as #fn
      'iscitavamo sadrzaj
       sadrzaj=Input(LOF(fn),#fn) 
    close #fn
  Endif

  'sada kada imamo sadrzaj podelimo ga po recenicama:
  recenica=split(sadrzaj,".")

  text3.text="" 'resetujemo polje sa rezultatima

  'sada trazimo zadatu frazu
  for i=lbound(recenica)+1 to ubound(recenica)  '+1 jer je prvi uvek prazan (sadrzaj uvek pocinje sa tackom)
    if instr(1,recenica(i),text1.text)>0 then 'sadrzi se fraza u recenici
      text3.text=text3.text & trim(recenica(i)) & "." & vbCrLF
    endif
  next

End Sub

to bi bilo to, samo pazi da ti je text3 multiline property podesen na true i moj predlog ti je da combo-u stavis style na DropdownList i da dodas jedan item tipa "Sve arhive" (ali u tom slucaju bi trebao gore da zamenis ono If combo1.text="" u if combo1.text="Sve arhive")

hm, kucam iz glave a odavno (vec tri-cetiri meseca) nisam ni prisao vb-u tako da sam malo sardjao :) ali mislim da je to to...

poz
 
Odgovor na temu

don_ron

Član broj: 81747
Poruke: 5
*.rb.b.2-3.6.bih.net.ba.



Profil

icon Re: Skolski projekat19.01.2006. u 11:37 - pre 222 meseci
Ok tnx cojk ev idem da ovo probam pa cu javiti kakav je rezultat!
A sto se tice tih recenica one su definisane u arhivama na sledeci nacin
npr za arhivu 55
Arhiva55.1 Ovdje ide prva recenica
Arhiva55.2 Ovdje ide druga renica
.
.
.
aj pa cujemo se opet
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Skolski projekat20.01.2006. u 09:32 - pre 222 meseci
ako je u takvom format onda bi trebalo malo prepraviti kod:
Code:

Private Sub Command1_Click()
  Dim fn As Integer, i as Integer
  Dim recenica() As String, path As string, sadrzaj as String,fileName as string

  If Text1.Text="" Then Exit Sub 'nije uneta fraza za pretrazivanje

  fn = freeFile  
  path = Replace$(app.path & "\arhiva","\\","\")

  If Combo1.Text = "" Then 'nista nije izabrano, pretrazuju se sve arhive
    For i=1 to 570
       fileName=path & "\arhiva" & cstr(i) & ".txt"
       'za svaki slucaj da proverimo da li fajl postoji
       if dir(fileName) <> "" Then 'postoji:
         open fileName for binary as #fn
           'iscitavamo sadrzaj i dodajemo promenjivoj
           sadrzaj=sadrzaj & Input(LOF(fn),#fn) 
         close #fn
       end if
    Next
  Else 'izabrana je samo jedna arhiva
    'pod uslovom da su u combou arhiva1, arhiva2... (bez .txt):
    fileName=path & combo1.text & ".txt" 
    if dir(fileName) <> "" Then 'postoji:
      open fileName for binary as #fn
        'iscitavamo sadrzaj
         sadrzaj=Input(LOF(fn),#fn) 
      close #fn
    else
      exit sub
   endif
  Endif

  'sada kada imamo sadrzaj podelimo ga po recenicama:
  recenica=split(sadrzaj & vbcrlf, vbcrlf)

  text3.text="" 'resetujemo polje sa rezultatima

  'sada trazimo zadatu frazu
  for i=lbound(recenica) to ubound(recenica) -1
    if instr(1,recenica(i),text1.text,vbTextcompare)>0 then 'sadrzi se fraza u recenici
      text3.text=text3.text & trim(recenica(i)) & vbCrLF
    endif
  next

End Sub

 
Odgovor na temu

don_ron

Član broj: 81747
Poruke: 5
*.rb.b.2-3.6.bih.net.ba.



Profil

icon Re: Skolski projekat24.01.2006. u 10:30 - pre 222 meseci
Pozdrav
Isprobao sam ovaj kod ali ne pretražuje kad izaberem samo jednu od baza a kada izaberem sve baze onda ispisuje samo jednu recenicu u kojoj nadje traženi rezultat!Pokusao sam malo da to cackam ali ne ide ne znam u cemu bi mogao biti problem!
Nadam se da nisam dosadan :)
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Skolski projekat24.01.2006. u 11:24 - pre 222 meseci
pa da, izgresio sam na par mesta jer sam pisao iz glave :)
evo prepravljenog:
Code:

Private Sub Command1_Click()
  Dim fn As Integer, i as Integer
  Dim recenica() As String, path As string, sadrzaj as String,fileName as string

  If Text1.Text="" Then Exit Sub 'nije uneta fraza za pretrazivanje

  fn = freeFile  
  path = Replace$(app.path & "\arhiva\","\\","\")

  If Combo1.Text = "" Then 'nista nije izabrano, pretrazuju se sve arhive
    For i=1 to 570
       fileName=path & "arhiva" & cstr(i) & ".txt"
       'za svaki slucaj da proverimo da li fajl postoji
       if dir(fileName) <> "" Then 'postoji:
         open fileName for binary as #fn
           'iscitavamo sadrzaj i dodajemo promenjivoj
           sadrzaj=sadrzaj & Input(LOF(fn),#fn) & vbCRlf
         close #fn
       end if
    Next
  Else 'izabrana je samo jedna arhiva
    'pod uslovom da su u combou arhiva1, arhiva2... (bez .txt):
    fileName=path & combo1.text & ".txt" 
    if dir(fileName) <> "" Then 'postoji:
      open fileName for binary as #fn
        'iscitavamo sadrzaj
         sadrzaj=Input(LOF(fn),#fn) 
      close #fn
    else
      exit sub
   endif
  Endif

  'sada kada imamo sadrzaj podelimo ga po recenicama:
  recenica=split(sadrzaj & vbcrlf, vbcrlf)

  text3.text="" 'resetujemo polje sa rezultatima

  'sada trazimo zadatu frazu
  for i=lbound(recenica) to ubound(recenica) -1
    if instr(1,recenica(i),text1.text,vbTextcompare)>0 then 'sadrzi se fraza u recenici
      text3.text=text3.text & trim(recenica(i)) & vbCrLF
    endif
  next

End Sub

to bi trebalo da radi... ali u combo1 treba da ti bude "arhiva1", "arhiva2", ... "arhiva570" (bez .txt!)
 
Odgovor na temu

don_ron

Član broj: 81747
Poruke: 5
*.pppoe495.bih.net.ba.



Profil

icon Re: Skolski projekat24.01.2006. u 11:38 - pre 222 meseci
ok izvini ako sam bio dosadan ali ako sta znaci bit ce tvoj nick na programu :) ajd onda idem da ovo zavrsim!
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Skolski projekat25.01.2006. u 12:42 - pre 222 meseci
neka, nemoras me stavljati u credits :) nego jel radi?
 
Odgovor na temu

don_ron

Član broj: 81747
Poruke: 5
*.rb.b.2-3.6.bih.net.ba.



Profil

icon Re: Skolski projekat27.01.2006. u 10:20 - pre 222 meseci
bio je jedan problem kod mene kod combo1 al sve je ok sad radi!
Hvala cojk i jos nesto posto ti ovo poprilicno ide trebao bi napisati jedan tutorial za vb sa naglaskom na "pretrazivanje" jer izgleda da je to glavni problem vecini ljudi!

pozdrav pa se cujemo ponovo
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Skolski projekat27.01.2006. u 10:31 - pre 222 meseci
i ja sam imao problema sa pretrazivanjem fajlova i njihovim sadrzajem kada sam pocinjao ali su mi ljudi odavde pomogli a i ima nekoliko tema/tutoriala sa slicnom tematikom, kao na primer: File System Object - rad sa fajlovima i folderima

poz
 
Odgovor na temu

[es] :: Visual Basic 6 :: Skolski projekat

[ Pregleda: 1853 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.