[ Dacex @ 08.03.2008. 20:39 ] @
Pozdrav Svima!!

Imam jedan problemcic :-(. Na jednoj formi imam 83 textboxa :-D i sada da nemoram svaki put unosim te vrednosti vec kad ih jednom unesem kazem snimi on da ih snimi na hdd i sledeci put kad otvorim program da su podaci u textboxovima. Znam da sam odma napravio gresku sto nisam napravio sa bazom podataka (zato sto ne znam :-() ja sam mislio nekako da se to resi preko ini fajla da pisem po njemu i da citm ali nemam ideja. Koristio sam i pre ini fajlove ali mi je sada zapelo. Dali neko moze da mi pomogne??

Hvala Unapred!!
[ Shadowed @ 08.03.2008. 21:22 ] @
Citat:
Dacex: Dali neko moze da mi pomogne??

Moze, zapravo, ti mozes pomoci samom sebi brze od ostalih tako sto ces pretraziti forum i naci postojeci odgovor na ovo pitanje (vec smo pricali o tome).
[ stefanpn @ 08.03.2008. 21:25 ] @
Ovo pitanje je postavljeno vec 1000 puta...

Stavis jednu iteraciju ...

Code:

open "datoteka.data" for output #1
For t = 0 to 82
    print #1, text1(t).text
next t
close #1


i tako snimis

A kad citas sve to samo umesto for output stavi for input
i umesto print stavi input...

Code:

open "datoteka.data" for input #1
For t = 0 to 82
    print #1, a$
    text1(t).text = a$
next t
close #1


Naravno, podrazumeva se da se sva ta 83 text boxa zovu text1 i da su indexirani.

[Ovu poruku je menjao stefanpn dana 08.03.2008. u 23:12 GMT+1]
[ Dacex @ 09.03.2008. 17:25 ] @
Izvinjavam se sto nisam koristio pretragu. Hvala za primer @stefanpn jel moze samo jedno objasnjenje u vezi
Code:
open "datoteka.data" for output #1
sta znaci ovo datoteka.data jel tu treba naziv ini fajla il icega??
[ Aleksandar Vasic @ 09.03.2008. 17:29 ] @
nebitno da li je ini fajl,ne mora ni da ima ekstenziju....kod koji ti je dao ce stvoriti fajl "datoteka.data",ako stavis "datoteka.ini" onda ce njega da stvori...
[ Dacex @ 09.03.2008. 17:52 ] @
Dodao sam as posto drukcije nije htelo da radi i sad kod izgleda ovako
Code:
Dim t
Open "dacex.data" For Output As #1
For t = 0 To 83
    Print #1, Text4(t).Text
Next t
Close #1
za upisivanje, a za citanje ovako
Code:
Dim b
Open "dacex.data" For Input As #1
For b = 0 To 83
    Print #1, Text4(b).Text
  
Next b
Close #1
i kad kliknem na moje dugme snimi on lepo napravi file dacex.data a kad hocu da iscitam on mi izbaci run-time error '54': bad file mode sta sad ??
[ Aleksandar Vasic @ 09.03.2008. 17:54 ] @
Zeznuo si se,ne treba Print #1, vec Input #1

Code:
Dim b
Open "dacex.data" For Input As #1
For b = 0 To 83
    Input #1, Text4(b).Text
  
Next b
Close #1
[ Dacex @ 09.03.2008. 18:13 ] @
e hvala puno :-D radi!!
[ galahad @ 10.03.2008. 09:34 ] @
Evo i josh jednog nachina, na koji ja pravim config fajl... Koristim jedan Class module, koji se, vrlo mashtovito, zove clsConfig

U njemu imam procedure LoadConfig i SetConfig... LoadConfig mi uchitava komplet konfiguraciju iz fajla, i chuva je u collection objektu, koji takodje ima vrlo mashtovito ime p_Cfg...
Code:
Public Sub LoadConfig(Optional ByVal Filename As String = "$APATH.config")
Dim p_FF As Integer
Dim S As String
Dim f() As String

p_FF = FreeFile

Open Path(Filename) For Input As #p_FF
  While Not EOF(p_FF)
    Line Input #p_FF, S
    If Left(S, 1) <> "#" And S <> "" Then
      f = Split(S, "=")
      If InStr(f(1), "#") Then f(1) = Mid(f(1), 1, InStr(f(1), "#") - 1)
      f(0) = Trim(f(0))
      f(1) = Trim(f(1))
      p_Cfg.Add f(1), f(0)
    End If
  Wend
Close #p_FF
End Sub

Procedura SetConfig tje da ispishe konfiguraciju tamo gde treba:
Code:
Public Sub SetConfig(ByRef Who As Form)
On Local Error Resume Next
Dim C As Control
Dim S As String

For Each C In Who.Controls
  If Left(C.Tag, 1) = "!" Then
    S = p_Cfg.Item(Mid(C.Tag, 2))
    If TypeOf C Is TextBox Then C.Text = S
    If TypeOf C Is Label Then C.Caption = S
  End If
Next
End Sub


E sad, kako li klasa zna gde shta treba da ide? Evo primera, recimo da imamo jedan parametar, koji se zove OmiljeniForum, koji je zapisan u .config fajlu (mashtovito, zar ne?)... I sad, taj parametar ima vrednost ES... Zapisan je u obliku OmiljeniForum=ES

U TextBox na formi (koji mozhe da se zove kako god zhelite), u Tag property treba da ima !OmiljeniForum... I to je sve... Kada se iz Form_Load pozove Config.SetConfig Me, procedura tje da prodje kroz sve kontrole, i da upishe sve gde treba da stoji... Dobra stvar je shto mozhe da bude vishe kontrola sa istim parametrom, i ispisatje se u svakom od njih...

Ovo je naravno na brzinu sklepan kod, jer ovde na poslu ga bash k'o u inat nemam, ali chini mi se da radi... Mogutje je naravno dodati opciju SaveConfig, pa da onda bude kompletna klasa... Chini mi se da to vetj imam uradjeno kod kutje...

Ona funkcija Path() u LoadConfig() mi sluzhi za pravilno postavljanje putanje fajla, tako da tje $APATH.config biti promenjeno u C:\Program\.config
[ Dacex @ 20.04.2008. 21:52 ] @
Pozz!

Da ne otvaram novu temu... Kako bi mogao snimiti listbox na ovaj nacin?? probao sam na vise nacina ali nece. Sta da radim?
[ Eurora3D Team @ 20.04.2008. 22:48 ] @
Mozes ovako (ListBox je ovde List1)
Code:

Private Sub Form_Unload(Cancel As Integer)
On Error GoTo Err
Dim ListText As String, ff As Integer
ff = FreeFile
Open "C:\ListText.txt" For Output As #ff
For n = 0 To List1.ListCount
ListText = List1.List(n)
Print #ff, ListText
Next n
Close #ff
Exit Sub
Err:
Debug.Print Err.Description
End Sub
[ Dacex @ 20.04.2008. 23:28 ] @
E izvini sada koji je za citanje? ja sam probao ovako
Code:
Dim n
Dim ListText As String, ff As Integer
ff = FreeFile
Open "ListText.txt" For Input As #ff
For n = 0 To List1.ListCount
Input #ff, ListText
ListText = List1.List(n)
Next n
Close #ff

End Sub
ali mi izbaci gresku input past end of file, sta sad da uradim?
[ stefanpn @ 21.04.2008. 00:22 ] @
Code:


Dim n
Dim ListText As String, ff As Integer

ff = FreeFile
Open "ListText.txt" For Input As #ff

do while not eof(ff)
    Input #ff, ListText
    List1.additem listtext
loop

Close #ff

End Sub


Izvini sto nisam vodio racuna o u/lcase u kod-u , ali radice i ovako...
[ Dacex @ 21.04.2008. 19:35 ] @
Hvala puno svima na pomoci sada radi kako valja! :-D