pos消费机dephi源代码3

来源:互联网 发布:龙口美工 编辑:程序博客网 时间:2024/04/30 07:03

 

 

 

 

 

详细代码如下

 

 

 

 

unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ComCtrls,StrUtils;

type
  TForm3 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    ListView1: TListView;
    Label2: TLabel;
    Edit2: TEdit;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    ProgressBar1: TProgressBar;
    Button6: TButton;
    Button7: TButton;
    DriveComboBox1: TDriveComboBox;
    Button8: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form3: TForm3;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);
begin
if StrToInt(Edit2.Text)= 0 then begin ShowMessage('请输入大于0的卡号!');Exit; end;
with listview1.items.add do
begin
caption:=Edit2.Text;
Edit1.Text :=inttostr(ListView1.Items.Count);
end;


end;

procedure TForm3.Button2Click(Sender: TObject);
begin
ListView1.Items.Clear;
Edit1.Text :='0';
end;

procedure TForm3.Button3Click(Sender: TObject);
begin
   if StrToInt(Edit2.Text)= 0 then begin ShowMessage('请输入大于0的卡号!');Exit; end;
   If Form1.POS011.DevComPortOpen = 1 Then
    begin
        Form1.POS011.DevNumber := StrToInt(Form1.Edit18.Text); //指定设备号
        Form1.POS011.CardCustomNumberStr := Edit2.Text;        //自编卡号
        Form1.POS011.DevLossBitClear;                          //'在设备中清空该卡号的挂失信息
        If Form1.POS011.OperatingResults = 0 Then
           ShowMessage('取消单张卡号成功!')
        Else
           ShowMessage('设备通讯不通!');
    end
    else
    begin
        ShowMessage('端口未打开!');
    end;
end;

procedure TForm3.Button4Click(Sender: TObject);
begin
   if StrToInt(Edit2.Text)= 0 then begin ShowMessage('请输入大于0的卡号!');Exit; end;
   If Form1.POS011.DevComPortOpen = 1 Then
    begin
        Form1.POS011.DevNumber := StrToInt(Form1.Edit18.Text); //指定设备号
        Form1.POS011.CardCustomNumberStr := Edit2.Text;        //自编卡号
        Form1.POS011.DevLossBitWrite;                          //'在设备中清空该卡号的挂失信息
        If Form1.POS011.OperatingResults = 0 Then
           ShowMessage('挂失单张卡号成功!')
        Else
           ShowMessage('设备通讯不通!');
    end
    else
    begin
        ShowMessage('端口未打开!');
    end;
end;

procedure TForm3.Button5Click(Sender: TObject);
begin
   if StrToInt(Edit2.Text)= 0 then begin ShowMessage('请输入大于0的卡号!');Exit; end;
   If Form1.POS011.DevComPortOpen = 1 Then
    begin
        Form1.POS011.DevNumber := StrToInt(Form1.Edit18.Text); //指定设备号
        Form1.POS011.CardCustomNumberStr := Edit2.Text;        //自编卡号
        Form1.POS011.DevLossBitRead;                          //'在设备中清空该卡号的挂失信息
        case form1.POS011.OperatingResults of
            0:   ShowMessage('该卡号已被挂失');
            113: ShowMessage('该卡号可使用');
            else ShowMessage('设备通讯不通');
        end;
    end
    else
    begin
        ShowMessage('端口未打开!');
    end;
end;

procedure TForm3.Button6Click(Sender: TObject);
var
  i:Integer;
begin
  If Form1.POS011.DevComPortOpen = 1 Then
  begin
     Form1.POS011.DevLossClearFromBuf;
     For i:= 0 To ListView1.Items.Count-1 do
     begin
            Form1.POS011.CardCustomNumberStr := ListView1.Items[i].Caption ;
            Form1.POS011.DevLossAddToBuf;            // '加入挂失信息缓冲
     end;
     Form1.POS011.DevNumber :=StrToInt(Form1.Edit18.Text);
     ProgressBar1.Max := Form1.POS011.DevLossFrames;
     ProgressBar1.Position:= 0;

     For i := 0 To Form1.POS011.DevLossFrames - 1 do
     begin
          Form1.POS011.DevLossFramePoint := i;
          Form1.POS011.DevLossFrameWrite;
          if Form1.POS011.OperatingResults <>0 then
             break
          else
             ProgressBar1.Position :=i+1;

     end;

     If Form1.POS011.OperatingResults = 0 Then
        ShowMessage('下载挂失信息成功!')
     Else
        ShowMessage('下载挂失信息失败!错误代码:'+IntToStr( Form1.POS011.OperatingResults));
  end
  else
      ShowMessage('端口未打开!');
end;

procedure TForm3.Button8Click(Sender: TObject);
var
  i:Integer;
begin
   Form1.POS011.DevLossClearFromBuf; // '先清空缓冲

    For i := 0 To ListView1.Items.Count-1 do
    begin
        Form1.POS011.CardCustomNumberStr := ListView1.Items[i].Caption;
        Form1.POS011.DevLossAddToBuf;                                    // '加入挂失信息缓冲
    end;
    Form1.POS011.DevDriverStr := LeftStr(DriveComboBox1.Text,2);
    Form1.POS011.DevLossWriteAllToDisk;

    If Form1.POS011.OperatingResults = 0 Then
        ShowMessage('写覆盖式挂失信息到U盘或磁盘成功!')
    Else
        ShowMessage('写覆盖式挂失信息到U盘或磁盘失败,错误代码:'+ IntToStr(Form1.POS011.OperatingResults));
end;

procedure TForm3.Button7Click(Sender: TObject);
var
  i:Integer;
begin
    If Form1.POS011.DevComPortOpen = 1 Then
    begin
       ListView1.Items.Clear;
       Form1.POS011.DevNumber :=StrToInt(Form1.Edit18.Text);
       ProgressBar1.Max := Form1.POS011.DevLossFrames;
       ProgressBar1.Position := 0;

       For i := 0 To Form1.POS011.DevLossFrames - 1 do
       begin
          Form1.POS011.DevLossFramePoint := i;
          Form1.POS011.DevLossFrameRead;
          If Form1.POS011.OperatingResults <> 0 Then
             Break
          else
             ProgressBar1.Position := i + 1;
       end;

       If Form1.POS011.OperatingResults = 0 Then
       begin
           If (Form1.POS011.DevLossBufSize > 0) Then
           begin
               Edit1.Text :=IntToStr(Form1.POS011.DevLossBufSize);
               For i := 0 To Form1.POS011.DevLossBufSize - 1 do
               begin
                    Form1.POS011.DevLossBufPoint := i;
                    with listview1.items.add do
                         caption:=Form1.POS011.CardCustomNumberStr;
               end;
           end;

       end;
    end
    else
      ShowMessage('端口未打开!');
end;

end.

原创粉丝点击