19. november 2002 - 09:30Der er
4 kommentarer og 2 løsninger
sætte en sti
hejsa eksperter.
jeg har lavet et program som indlæser forskellige tekstfiler (textfiler med jokes). nu er problemet bare at jeg mangler en måde at lave et variabel sti eftersom at det ikke er alle der har jokene til at ligge på samme sted (det er jo ikke alle der ligger programmerne i mappen c:\programmer\).
jeg definere selv navnet på textfilen. jeg skal bare vide hvordan jeg får en menu punkt (Set Path) til at smide en sti (som man selv skal skrive) ind i en inifil som ligger i på c:\
hvordan gør man det? jeg skal have programmet til at oprette filen og smide stien ind i den og den må ikke tilføje linier... den skal overskrive hele filens indhold
er der nogen der kan hjælpe mig med det?
hvis du ønsker yderliger info skal du bare sige til her på eksperten eller på icq: 114535277
Here are the two subroutines I use to read and write to ini's
To overwrite to a file called c:\my.ini it would look like gs_WRITE_TO_FILE "c:\my.ini", "the text i'm writing", False
To read from an ini file gs_READ_INI "c:\my.ini"
You must have a global variant dimensioned - g_varINI_Array. This is were i keep the ini values in an array for use throughout the system. If you only have one line in the ini than you could get away with changing the subroutine into a function. Change in subroutine: Public Function gf_READ_INI(p_strFile As String) as String and Input #1, gf_READ_INI
' ============================================================= ' Module Type : Basic ' Module Name : basMain ' Object : ' Proc Type : Sub ' Proc Name : gs_WRITE_TO_FILE ' Scope : Public ' Description : Writes to the passed file ' Objects : ' Globals : g_strIT_Supporternavn ' Tested : 28.10.02: AW ' History : 14.01.02: AW: Original Code. ' ============================================================= Public Sub gs_WRITE_TO_FILE(p_strFile As String, p_strText As String, p_intAppend As Integer) On Error GoTo ERR_gs_WRITE_TO_FILE
If p_intAppend Then '-- Open file for append Open p_strFile For Append As #1 Else '-- not append Open p_strFile For Output As #1 End If
Print #1, p_strText '-- Print text to file.
EXIT_gs_WRITE_TO_FILE: On Error Resume Next '-- In case file wasn't open Close #1 '-- Close file. Exit Sub ERR_gs_WRITE_TO_FILE: If Err = 0 Then Else gs_STANDARD_ERROR "modMain.gs_WRITE_TO_FILE" GoTo EXIT_gs_WRITE_TO_FILE End If
End Sub
'******************************************************************** ' Locate the text file with information and place it into variant ' for use in this program '******************************************************************** Public Sub gs_READ_INI(p_strFile As String) On Error GoTo ERR_gs_READ_INI
Dim f_strRead As String, f_intX As Integer
ReDim g_varINI_Array(10)
Open p_strFile For Input As #1 '-- Open file for input.
Do While Not EOF(1) '-- Loop until end of file. Input #1, f_strRead '-- Read data into variable. g_varINI_Array(f_intX) = f_strRead '-- Set variable into array f_intX = f_intX + 1 Loop
EXIT_gs_READ_INI: On Error Resume Next '-- In case file wasn't open Close #1 '-- Close file. Exit Sub ERR_gs_READ_INI: If Err = 0 Then Else gs_STANDARD_ERROR "modMain.gs_READ_INI" GoTo EXIT_gs_READ_INI End If
'-- Overwriting f_strWrite to the ini file Open "c:\my.ini" For Output As #1 Print #1, f_strWrite '-- Print text to file. Close #1
'-- Reading one line from the file into a variable f_strRead Open "c:\my.ini" For Input As #1 '-- Open file for input. Input #1, f_strRead '-- Read data into variable. Close #1
Ja, 'amerikaneren' gør det godt nok drabeligt, men essensen i andet hug er da til at overskue. At lægge ini-filen på roden af C-drevet er dårlig skik, men du er vel klar over at de kan lægge den i enhver mappe, der blot eksisterer. Windows' mange mapper har jo forskellige navne efter om styresystem og sprogversion, men selve 'windows' hedder næsten altid sådan, så læg din ini-fil dér. Det var også dér alle ini-filer lå før registry blev introduceret.
Jeg anvender selv ini-filer i mine programmer, og lægger dem altid i samme mappe som programmet ligger i, altså 'app.path'.
Open app.path & "\jokes.ini" for output as #1 print #1, "sti_til_data" Close #1
I programmet skal ini-filen så åbnes og stien anvendes
Open app.path & "\jokes.ini" for input as #1 line input #1, brugersti close #1
Når du åbner dine tekstfiler skal de altså åbnes fra
Open brugersti & "dine_jokes.txt" for input as #2 ......
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.