[ Pesticida_1 @ 15.05.2002. 21:52 ] @
Kako bi mogao da napravim ini file i da iz programa citam podatke sa tog fajla.
Dali mi moze tko napisati kratak code.Ili naprimjer imam 50 pitanja i odgovore koji su ubaceni u jedan ini ili text file.Ja bih sad htjeo da pomocu programa,citam ta pitanja i odgovore ali pomocu rnd komande znaci slucajno izvlaci pitanja i odgovore i ubacuje ih u stringove.
Hvala
[ gio1000 @ 15.05.2002. 23:55 ] @
Pokusaj mozda ovako:
Stavi :
List1
Command1
Text1
Command2
Text2
Public Sub ReadList(List As ListBox, Filename As String, Optional ClearList As Boolean)

' Routine koja ucitava file u listu

On Error GoTo err
Open Filename For Input As #1
If ClearList = True Then List1.Clear
Do While Not EOF(1)
Line Input #1, lstinput
List1.AddItem lstinput

Loop
Close #1
Exit Sub
err:
MsgBox "Greska prilikom ucitavanja" & Chr(13) & Chr(13) & err.Number _
& " - " & err.Description, vbCritical, "Error"
Exit Sub
End Sub

Private Sub Command1_Click()
' Poziva file da ga ucita u listu
Call ReadList(List1, "C:\Kviz.txt", True)
End Sub
Private Sub Command2_Click()
'Ovim cu izabrati slucajni index i upisati ga u Text1
Dim k
k = List1.ListCount
Text2 = Int(Rnd(1) * (k))
List1.ListIndex = Text2.Text
Text1=List1.Text
End Sub
'Neznam sta tacno namjeravas ali ovo je jedan od nacina koji mozes prilagoditi
'tvojim potrebama
[ Pesticida_1 @ 16.05.2002. 19:46 ] @
Hvala ti stari,pokusat cu tako.
Ciao.
[ jc denton @ 18.05.2002. 15:12 ] @
A, u vezi ovih ini stvari probaj ovako :

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile= objFSO.CreateTextFile("c:\fajl.txt", True) ' true je za write

objFile.WriteLine "linija1"
.........
objFile.WriteLine "linija10" ' writeline upisuje u jednu liniju, i pozicionira se na sledecu, pa ako hoces da upises tacno u odredjenu liniju, ti procitaj sve do te linije (da bi se pozicionirao na nju) pa onda upisuj u nju.

objFile.Close

kad citas iz tog file-a :

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = FSO.OpenTextFile("c:\fajl.txt")
var1 = objFile.ReadLine ' cita celu liniju
.........
varN = objFile.ReadLine
objFile.CLose

Upisivanje u fajl :

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = FSO.OpenTextFile("c:\neki_file.txt",2) ' 2 je za write, pogledaj konstante ...

jos ovo :
Najbolje je da koristis Open, Put, Get jer ces na taj nacin lako da kazes u koji
'slog' (record) upisujes.
Recimo :
get #1, 5, var1 ' dodaje vrednost petog sloga u fajlu varijabli var1
put #1, 3, var1 ' upisuje u treci slog vrednost varijable var1

Ako znas bar malo o bazama, najbolje da koristis DAO, i jednu malu tabelu
kreiranu u Access-u.
Ako ti nista od ovoga ne odgovara, mozes da koristis i SaveSetting i GetSetting
komande za rad sa windows registry-jem.
Ja najcesce koristim ovo poslednje, jer mi je nekako najprostije.
Ti izaberi sta ti najvise odgovara.

Ako se ne snadjes, posalji tacno sta ti treba, uradicu ti, nije problem.

pozdrav

[ StratOS @ 23.05.2002. 11:29 ] @
Evo ti na brzinu jednu read txt programa iz VB6 setup templeata :

Deklaracije :
Public Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal lSize As Long, ByVal lpFilename As String) As Long
Public Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As Any, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lplFilename As String) As Long

Public Const gintMAX_SIZE% = 255
Public Const gintMAX_PATH_LEN% = 260

'-----------------------------------------------------------
' FUNCTION: ReadIniFile
'
' Reads a value from the specified section/key of the
' specified .INI file
'
' IN: [strIniFile] - name of .INI file to read
' [strSection] - section where key is found
' [strKey] - name of key to get the value of
'
' Returns: non-zero terminated value of .INI file key
'-----------------------------------------------------------
'
Public Function ReadIniFile(ByVal strIniFile As String, ByVal strSection As String, ByVal strKey As String) As String
Dim strBuffer As String

'
'If successful read of .INI file, strip any trailing zero returned by the Windows API GetPrivateProfileString
'
strBuffer = Space$(gintMAX_SIZE)

If GetPrivateProfileString(strSection, strKey, vbNullString, strBuffer, gintMAX_SIZE, strIniFile) Then
ReadIniFile = StringFromBuffer(strBuffer)
End If
End Function


Public Function StringFromBuffer(Buffer As String) As String
Dim nPos As Long

nPos = InStr(Buffer, vbNullChar)
If nPos > 0 Then
StringFromBuffer = Left$(Buffer, nPos - 1)
Else
StringFromBuffer = Buffer
End If
End Function

10 pitanje iz filea c:wertxt.ini pod keyem PITANJA dobiješ
Str$=Readini("c:wertxt.ini,"PITANJA","10")

a struktura file-a (txt.ini)
[PITANJA]
1=Kako...
3=rzetz
10=2233
[ rainman1977 @ 15.05.2003. 03:06 ] @
da se nadovezem na ovu pricu o recimo kvizu jer imam i ja nesto slicno samo sa povezanom bazom pod. access.Znaci pitanje glasi kako mogu da vadim podatke na fazonu random?
[ jc denton @ 15.05.2003. 03:50 ] @
Isto kao sto "vadis" svaki drugi podatak. Generises neki slucajni broj, pa onda procitas slog sa tim index-om i to je to.
[ rainman1977 @ 15.05.2003. 16:03 ] @
jos samo da mi napises ukratko sintaxu i bio bih ti zahvalan.Ako ne u svakom slucaju hvala ti.
[ Krsta @ 18.05.2003. 01:56 ] @
Data1.Recordset.Move I
gde je I neki slucajan broj koji se generise.
[ rainman1977 @ 18.05.2003. 02:55 ] @
e ovo mi je trebalo krsta svaka cast!!!!