amacım zebex crd-20 barkod okuyucudan verileri almak. barkod verileri barkod okuyucunun hafızasında tutuluyor.(duruma göre 5000 adet olabiliyor.)
barkod okuyucu pc ye seriporttan bağlı. forumdaki buna benzer konulara baktım, fakat, kiminin verdiği link silinmiş, kimini anlayamadım uygulayamadım.
İndirdiğim componenetlerde işe yaramadı. bir çoğu zaten kurulumda hata veriyor. kurulanıda ben çalıştıramadım. en son api ile yapmaya çalıştım o da olmadı.
yardımlarınızı bekliyorum. Saygılar.
delphi 7 kullanıyorum.
api de kullandığım kod:
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function CreateFile(lpFileName:PChar;
dwDesiredAccess, dwShareMode: DWORD;
lpsecurityAttributes: PSecurityAttributes;
dwCreationDisposition, dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle; stdcall;
begin
end;
function ReadFile(hFile: THandle;
var Buffer; nNumberOfBytesToRead:DWORD;
var lpNumberOfBytesRead: DWORD; lpOverlapped:
POverlapped): BOOL; stdcall;
begin
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ok:boolean;
j:integer;
d:array[1..100] of char;
s:string;
okunan_byte:dword;
PortHandle:THandle;
begin
ok:=ReadFile (PortHandle, d, sizeof(d), okunan_byte, nil);
if not ok then
begin
showmessage('okuma yapılamadı');
end
else
begin
s:='';
for j:=1 to okunan_byte do
begin
s:=s+d[j];
end;
showmessage('porttan okunan bilgi:'+s);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Port_ADI:Array[0..80] of char;
PortHandle:THandle;
begin
strPCopy(Port_ADI, 'COM1');
PortHandle:= CreateFile(Port_ADI, GENERIC_READ or GENERIC_WRITE, 0, Nil, OPEN_EXISTING, 0, 0);
if (PortHandle= -1) then
begin
showmessage('bağlantı noktası açılamadı');
end;
end;
end.