Ich riskiere hier jetzt einfach mal nen Blindschuss... ich habe kein CardTerminal und deshalb auch keine ct-
api... Und da das
SDK kostenpflichtig zu sein scheint, ist es irgendwie auch nicht so einfach, nähere Informationen zu bekommen.
Das was ich jetzt hier mal testweise zusammengefummelt habe, fusst alles auf Informationen aus
diesem Dokument.
Delphi-Quellcode:
// Ich vermute, die Funktionen müssten so oder so ähnlich deklariert sein bzw. werden
function CT_Init(const ctn, pn: Word): ShortInt;
function CT_Data(const ctn: Word; var dad, sad: Byte; const lenc: Word; command: Pointer; var lenr: Word; response: Pointer): ShortInt;
function CT_Close(const ctn: Word): ShortInt;
procedure TestCT;
const OK = 0; // Fehlercodes stehen noch mehr im Dokument
var ctn, lenr: Word;
dad, sad: Byte;
command: Array of Byte;
response: Array[0..1000] of Byte;
Res: ShortInt;
begin
ctn := 1;
// Terminal 1 an Comport 2...
if CT_Init(ctn, 2) = OK then
begin
sad := 2; // Source = Host
dad := 1; // Destination = Terminal
lenr := SizeOf(response);
command[0] := $20; // Commandobytes
command[1] := $12;
{...usw...}
Res := CT_Data(ctn, dad, sad, SizeOf(command), @command, lenr, @response);
CT_Close(ctn);
end;
end;
Wie gesagt, ist ein "kalt" geschriebenes Programm, da ich es nicht testen kann.
Ich hoffe, das das eher hilfreich als verwirrend ist - mich würde dann am Ende auch mal interessieren, wie weit ich denn nun daneben lag.
Gruß
Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.