WritePrivateProfileString & GetPrivateProfileString.. -
Übersicht

mitschi2807Betreff: WritePrivateProfileString & GetPrivateProfileString.. - |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Weiß jemand wie ich in Blitz die Kernel32 Dll-Funktionen "WritePrivateProfileStringA" & "GetPrivateProfileStringA" verwenden kann?
ich verwende sie mit LibertyBasic (Falls das jemand kennt) aber ich weiß nicht wie ich das ganze in Blitz mache da ich bisher keine DLL´s in Blitz verwendet habe... Hier der Liberty Basic code um die dll funktionen aufzurufen: Code: [AUSKLAPPEN] Function WritePrivateProfileString(lpAppName$, lpKeyName$, lpString$, lpFileName$) CallDLL #kernel32, "WritePrivateProfileStringA", lpAppName$ As ptr, lpKeyName$ As ptr,_ lpString$ As ptr,lpFileName$ As ptr,result As boolean End Function Function GetPrivateProfileString$(lpAppName$,lpKeyName$,lpDefault$,lpFileName$) nSize=100:lpReturnedString$=Space$(nSize)+Chr$(0) CallDLL #kernel32, "GetPrivateProfileStringA",lpAppName$ As ptr, lpKeyName$ As ptr,_ lpDefault$ As ptr,lpReturnedString$ As ptr, nSize As long,_ lpFileName$ As ptr,result As ulong GetPrivateProfileString$=Left$(lpReturnedString$,result) End Function |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier findest du ein sehr ausführliches Tutorial zum Verwenden von WinAPI-Funktionen in BlitzBasic -> https://www.blitzforum.de/foru...ght=winapi | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
mitschi2807 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke...
Nur wie mach ich das bei "GetPrivateProfileStringA"... Da wird ein string und ein integer zurückgegeben... muss ich da eine Bank verwenden? - wenn ja wie mach ich das? ![]() |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Erst erstellst du eine Bank mit einer bestimmten Größe ( besser zu viel als zu wenig ):
Code: [AUSKLAPPEN] Local bank = CreateBank( 1024 )
Dann rufst du die Funktion mit der Bank als Parameter auf. In deinem Fall bei lpReturnedString. Anschließend musst du noch einen String aus den Bank-Daten erstellen. Code: [AUSKLAPPEN] Function StringFromBank$( bank, size )
Local s$ For I=0 To size-1 Local b = PeekByte( bank, I ) If b = 0 Exit s = s + Chr( b ) Next Return s End Function Beachte aber auch, dass man WritePrivateProfileString und GetPrivateProfileString nicht mehr verwenden sollte, weil sie nur für Kompatibilität mit 16-Bit Windows dienen. Benutze besser die Registry oder schreibe dir einen eigenen INI-Parser. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group