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

Vise kolona u txt fajlu

[es] :: Visual Basic 6 :: Vise kolona u txt fajlu

[ Pregleda: 2673 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1650



+62 Profil

icon Vise kolona u txt fajlu28.05.2005. u 12:37 - pre 206 meseci
Imam jedan txt fajl (spisak.txt) i kako bih mogao da namestim da on izgleda ovako (hocu da to napravim sa tri TextBox-a od kojih ce jedan biti txtRedBr, drugi txtilm, atreci txtStatus):
Code:

Br.    Film        Disk uzeo
*************************
001    Mumija        Dejan Mijic
002    Hoodlum        <Disk Prisutan>
003    Closer        <Disk Prisutan>


Hvala!
There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
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: Vise kolona u txt fajlu28.05.2005. u 15:22 - pre 206 meseci
jel mora bas tako da izgleda? :D
bolje bi ti bilo ovako (lakse)
Code:

Br.    Film        Disk uzeo
*************************
.001|Mumija|Dejan Mijic
.002|Hoodlum|<Disk Prisutan>
.003|Closer|<Disk Prisutan>

e sad, za ovakav format (sve sto ne pocinje sa tackom nece biti uzeto u obzir) ucitavanje bi ti bilo ovako (ubaci u jedan modul):
Code:

Public Type DataEntry
  Broj  As Long 'a zasta ce ti redni broj???
  Film  As String
  Status As String
End Type

Public Disk() As DataEntry

Public Sub Ucitaj()
 Dim ff As Integer
 Dim i As Integer
 Dim s As String
 Dim a() As String

 ReDim Disk(0 To 0) As DataEntry

 ff = FreeFile
 Open "C:\spisak.txt" For Input As #ff
  Do While Not EOF(ff)
   Line Input #ff, s
   If Left$(s, 1) = "." Then
    a = Split(Mid$(s, 2), "|")
    i = Ubound(Disk) + 1
    ReDim Preserve Disk(0 To i)
    Disk(i).Broj = CInt(a(0))
    Disk(i).Film = a(1)
    Disk(i).Status = a(2)
   End If
  Loop
 Close #ff
End Sub

i sad ti Disk() array sadrzi sve podatke iz txt fajla...
 
Odgovor na temu

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1650



+62 Profil

icon Re: Vise kolona u txt fajlu28.05.2005. u 20:19 - pre 206 meseci
ovo je sve ok i bilo bi super, samo da ja nisam početnik u ovom velikom svetu VB-a...
Možeš li da mi napišeš konkretan primer, kako ovo sve da radi? Znači, u jedan txtbox da se upijuju brojevi, u jedan nazivi filma a u treći status... i još ako možeš, kako da se podaci iz fajla prikazuju u listboxu?

znam kako otvoriti txt fajl u listboxu, samo da li ce se i tu videti
Code:

.001|Hoodlum|Mijic Dejan


There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
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: Vise kolona u txt fajlu28.05.2005. u 22:01 - pre 206 meseci
Evo bio sam slobodan malopre pa sam ti uradio jedan mali primer (u uploadu) pogledaj, pa reci sta ti nije jasno...

p.s. sad se setih da nisam uradio Remove...
Prikačeni fajlovi
 
Odgovor na temu

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1650



+62 Profil

icon Re: Vise kolona u txt fajlu29.05.2005. u 16:37 - pre 206 meseci
e care, ovo je ok i radi sve!!! HVALA TI! :-D
Sad mi treba jos nesto... [Remove] mozes li mi napisati kod kojim cu moci da izbrisem stavku iz listbox i iz spisak.txt fajla?
Znaci, odabirom stavke iz liste i klikom na Delete, da se ta stavka izbrise i iz liste iz iz spisak.txt
Za brisanje iz ListBoxa ide:
Code:

Private Sub cmdDelete_Click()
List1.RemoveItem List1.ListIndex
End Sub

There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
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: Vise kolona u txt fajlu29.05.2005. u 18:50 - pre 206 meseci
probaj ovako:
Code:

Private Sub cmdDelete_Click()
 Dim i As INteger, k As Integer
 
 i=List1.ListIndex
 
 for k=i To Ubound(Disk)
  Disk(k) = Disk(k+1)
 Next 
 
 Redim Preserve Disk(0 To Ubound(Disk) - 1)

 List1.RemoveItem i

End Sub

naravno da bi napravio promene na spisak.txt moras da pozoves 'Sacuvaj' metodu


p.s. ovaj kod je napisan u zurbi i inije isproban, ali bi trebao da radi sasvim ok
 
Odgovor na temu

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1650



+62 Profil

icon Re: Vise kolona u txt fajlu02.06.2005. u 14:34 - pre 206 meseci
Problem se javlja kod Remove-a!!!
Code:

Subscript out of range!


ali je osnova odlična!!! Hvala ti!
Sad me interesuje još, kako da dodam u spisak.txt još jedan red (kolonu) pre kolone >status< da u njoj bude putanja do slike (image) i da tu sliku prilikom klika na odredjenu stavku u listi ucitam u Image1??
There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
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: Vise kolona u txt fajlu03.06.2005. u 16:57 - pre 206 meseci
pa da :D izvini nisam primetio (rekoh da sam pisao na brzinu) stavi:
Code:

i=List1.ListIndex-1


promeni DataType u ovo:
Code:

Public Type DataEntry
  Broj  As Long 'a zasta ce ti redni broj???
  Film  As String
  Status As String
  Slika As String
End Type


i onda ispravi ovo:
Code:

Public Sub Ucitaj()
 Dim ff As Integer
 Dim i As Integer
 Dim s As String
 Dim a() As String

 ReDim Disk(0 To 0) As DataEntry

 ff = FreeFile
 Open "C:\spisak.txt" For Input As #ff
  Do While Not EOF(ff)
   Line Input #ff, s
   If Left$(s, 1) = "." Then
    a = Split(Mid$(s, 2), "|")
    i = Ubound(Disk) + 1
    ReDim Preserve Disk(0 To i)
    Disk(i).Broj = CInt(a(0))
    Disk(i).Film = a(1)
    Disk(i).Status = a(2)
    Disk(i).Slika = a(3)
   End If
  Loop
 Close #ff
End Sub


a sto se tice ucitavanja slike, koristi
Code:

Image.Picture = LoadPicture(Disk(i).Slika)

al predhodno proveri da li fajl Disk(i).Slika postoji....
 
Odgovor na temu

shpiki
Student
Novi Sad

Član broj: 50342
Poruke: 1650



+62 Profil

icon Re: Vise kolona u txt fajlu04.06.2005. u 00:59 - pre 206 meseci
Opet mi prijavljuje grešku prilikom brisanja!!!!!!!
Greška se javlja u
Code:
Private Sub mnuDelete_Click()
 Dim i As Integer
 Dim k As Integer
 Dim pitanje As String
 
 pitanje = MsgBox("Sigurni ste da ?elite da izbri?ete" & vbNewLine & txtFilm.Caption & " ?", vbYesNo, "Obri?i " & txtFilm.Caption)
 If pitanje = vbYes Then
 
 i = lstFilmovi.ListIndex - 1
 
 For k = i To UBound(Disk)
  Disk(k) = Disk(k + 1)      '<--------          OVDE JAVLJA GREŠKU!!!
 Next
 
 ReDim Preserve Disk(0 To UBound(Disk) - 1)

 lstFilmovi.RemoveItem i

Sacuvaj
End If
End Sub


I još jedno pitanje... ako namestim da mi List1.Style = 1 (checkbox), kako da film koji nije prisutan bude čekiran???
Znači, ako prikaže <Disk Prisutan>, onda ništa (fajl nije čekiran), a ako prikaže recimo <Disk kod Dejana>, onda da taj film bude čekiran...
There are only 10 types of people in the world:
those who understand binary, and those who don't.
 
Odgovor na temu

[es] :: Visual Basic 6 :: Vise kolona u txt fajlu

[ Pregleda: 2673 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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