PChar Structure in PureBasic
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
PChar Structure in PureBasic
Hallo liebe Basicfreunde !
Habe lange Zeit in Delphi programmiert und jede Menge Source und DLL's angehäuft. Wollte so eine Dll setzt in PB einbinden, komme aber mit der Structure nicht zurecht. Was nimmt man in PB für PChar (Pointer of Char)?
Wie würde diese Structure in PB aussehen ?
Type DiskInfo = packed record
FirmwareRev:PChar;
SerialNumber: PChar;
ModalNumber: PChar;
ECCByte: PChar;
Heads: PChar;
Sectors: PChar;
LBASector: PChar;
Bytes_Sector: PChar;
end;
Danke für eure Hilfe !
Habe lange Zeit in Delphi programmiert und jede Menge Source und DLL's angehäuft. Wollte so eine Dll setzt in PB einbinden, komme aber mit der Structure nicht zurecht. Was nimmt man in PB für PChar (Pointer of Char)?
Wie würde diese Structure in PB aussehen ?
Type DiskInfo = packed record
FirmwareRev:PChar;
SerialNumber: PChar;
ModalNumber: PChar;
ECCByte: PChar;
Heads: PChar;
Sectors: PChar;
LBASector: PChar;
Bytes_Sector: PChar;
end;
Danke für eure Hilfe !
Willkommen.
So wie ich das verstanden habe ist PChar ein Pointer auf eine Reihe von
Chars. Ich wuerde es ersteinmal ganz simpel mit einem String versuchen.
So wie ich das verstanden habe ist PChar ein Pointer auf eine Reihe von
Chars. Ich wuerde es ersteinmal ganz simpel mit einem String versuchen.
Code: Alles auswählen
Structure DiskInfo
FirmwareRev.s
SerialNumber.s
ModalNumber.s
ECCByte.s
Heads.s
Sectors.s
LBASector.s
Bytes_Sector.s
EndStructure
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
Danke für eure Unterstützung!
Ich habe die Dll mit dem Dll-Importer importiert und als lib abgelegt (ohne Fehler)! Mit dieser Dll ist es möglich, die Hardware-Seriennummer der Festplatte auszulesen. download unter:
http://www.amok.am/index.php?page=progr&id=24&lang=de
--------------------------------------------------------------------------------------
Structure DiskInfo
FirmwareRev.s
SerialNumber.s
ModalNumber.s
ECCByte.s
Heads.s
Sectors.s
LBASector.s
Bytes_Sector.s
EndStructure
DI.DISKINFO
info_(0,DI)
Debug DI\SerialNumber
End
------------------------------------------------------------------------------------------
DLL-Info:
==================================================
Function Name : about
Address : 0x00408324
Relative Address : 0x00008324
Ordinal : 1 (0x1)
Filename : getide.dll
Full Path : C:\Temp\getide.dll
==================================================
==================================================
Function Name : info
Address : 0x004081e0
Relative Address : 0x000081e0
Ordinal : 2 (0x2)
Filename : getide.dll
Full Path : C:\Temp\getide.dll
==================================================
Ich habe die Dll mit dem Dll-Importer importiert und als lib abgelegt (ohne Fehler)! Mit dieser Dll ist es möglich, die Hardware-Seriennummer der Festplatte auszulesen. download unter:
http://www.amok.am/index.php?page=progr&id=24&lang=de
--------------------------------------------------------------------------------------
Structure DiskInfo
FirmwareRev.s
SerialNumber.s
ModalNumber.s
ECCByte.s
Heads.s
Sectors.s
LBASector.s
Bytes_Sector.s
EndStructure
DI.DISKINFO
info_(0,DI)
Debug DI\SerialNumber
End
------------------------------------------------------------------------------------------
DLL-Info:
==================================================
Function Name : about
Address : 0x00408324
Relative Address : 0x00008324
Ordinal : 1 (0x1)
Filename : getide.dll
Full Path : C:\Temp\getide.dll
==================================================
==================================================
Function Name : info
Address : 0x004081e0
Relative Address : 0x000081e0
Ordinal : 2 (0x2)
Filename : getide.dll
Full Path : C:\Temp\getide.dll
==================================================
- legion
- Beiträge: 467
- Registriert: 08.10.2006 18:04
- Computerausstattung: Intel Core i5-6500 @ 4x 3.6GHz mit Windows 10 Pro, Intel Core-i7 mit Ubuntu 18.04 bionic, x86_64 Linux 4.18.0-16-generic, Microsoft Surface Pro - Windows 10 Pro
- Wohnort: Wien
- Kontaktdaten:
Code: Alles auswählen
Structure PChar
*Pointer.c
EndStructure
Structure DiskInfo
FirmwareRev.PChar
SerialNumber.PChar
ModalNumber.PChar
ECCByte.PChar
Heads.PChar
Sectors.PChar
LBASector.PChar
Bytes_Sector.PChar
EndStructure
DI.DISKINFO
If OpenLibrary(0, "c:\temp\getide.dll")
CallFunction(0, "Info",0,DI)
EndIf
Debug DI\SerialNumber