27. april 2002 - 11:56Der er
11 kommentarer og 1 løsning
Brug af ini filer
Jeg har fundet følgende eksempelkode, som åbner og læser fra en INI fil. Jeg kan godt gennemskue at bruge det, men vil gerne vide følgende:
I erklæringen af variablerne lpKeyName og Temp står der hendholdsvis "As String * 20" og "As String * 30" ... hvad betyder det - altså at gange med 20 og 30??
I forbindelse med artikler om ini filer støder jeg ofte på ordet "buffer". Hvad betyder det?
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnSring As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String) As Long
'Again, make sure it's all on one line.
'Now to "GET" information from an INI use the following code:
Dim FileName As String, lpAppName As String, lpKeyName As String * 20 Dim lpDefault As String, Temp As String * 30, X As Long
FileName = "MY_INI.INI" 'INI's File Name lpAppName = "START-UP" 'Section of INI File
lpKeyName = "FILE1" ' Attribute name lpDefault = "unknown" ' Default value if not present X = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, Temp, Len(Temp), FileName) LastFileName1 = Temp
Her er et andet buffer-eksempel: "In the previous article we learned the recv Winsock API function which is used to read incoming data from the Winsock buffer"
Hvad angår system registry -> Der står altid i artikler om emnet, at man skal passe på med at rode i brugerens registry... derfor laver jeg bare en ini fil der ligger under app.path for at være på den sikre side...
Bufferen er det sted hvor den kaldte funktion "lægger" de data der skal returneres. For at vide hvor stort et område der er afsat beder funktionen om at få en angivelse af dig. Det vil sige at:
buffer = String(145, Chr(" "))
afsætter plads til 145 tegn ved at "servere" 145 mellemrum. Det svarer iøvrigt til String * 145.
så vil my_string indeholde "jordb". Er det korrekt antaget? Correct!
buffer = String(145, Chr(" ")) Buffer here is just a variable. I assume that it is in Winsock too. According to the Oxford Advanced Learner's Dictionary a buffer is a device for lessoning a blow or collision.
ocp -> Jeg takker :-) kaffe -> Okay... det vil jeg se om jeg kan finde ud af ... terry -> Tak for hjælpen... jeg sender lige nogle point i din retning :-)
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.