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