⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icku.pas

📁 日昌餐饮管理系统是用Delphi7+SQL写的管理系统
💻 PAS
字号:
unit ickU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, MSCommLib_TLB, StdCtrls, ExtCtrls;

type
  TickForm = class(TForm)
    Label1: TLabel;
    GroupBox1: TGroupBox;
    ComboBox1: TComboBox;
    MSComm1: TMSComm;
    Memo1: TMemo;
    GroupBox2: TGroupBox;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure MSComm1Comm(Sender: TObject);
    procedure RadioButton5Click(Sender: TObject);
    procedure RadioButton6Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ickForm     : TickForm;
  ovtmp    : olevariant;
  vtmp    : variant;
  btmp    : byte;
  inbuf    : string;
  dispy   : string;
  needenter : smallint;
  readtype  : smallint;
  status    : smallint;
  redata    : array[1..15] of smallint;
  function k4chg(var w :smallint;var c:smallint;var d:smallint):smallint;stdcall ;external 'generaldll.dll';

implementation

{$R *.dfm}

procedure TickForm.Button2Click(Sender: TObject);
begin
  close;
end;

procedure TickForm.Button1Click(Sender: TObject);
begin
  memo1.Clear;
end;

procedure TickForm.FormCreate(Sender: TObject);
begin
  if mscomm1.PortOpen=false then
  begin
  mscomm1.PortOpen:=true;
  end;
  needenter:=0;
  readtype:=1;

end;

procedure TickForm.RadioButton1Click(Sender: TObject);
begin
 if mscomm1.PortOpen=true then
  begin
  mscomm1.PortOpen:=false;
  end;
  mscomm1.CommPort:=1;
  mscomm1.PortOpen:=true;
end;

procedure TickForm.RadioButton2Click(Sender: TObject);
begin
 if mscomm1.PortOpen=true then
  begin
  mscomm1.PortOpen:=false;
  end;
  mscomm1.CommPort:=2;
  mscomm1.PortOpen:=true;
end;

procedure TickForm.MSComm1Comm(Sender: TObject);
var i: integer;
begin
  ovtmp:=mscomm1.Input ;  //接收数据
  vtmp:=ovtmp;
  inbuf:=vtmp;
  for i:=1 to 13 do redata[i]:=integer(inbuf[i]);  //将数据转换为ASSCII数组
  readtype:=ComboBox1.ItemIndex+1;
  status:=k4chg(readtype, needenter ,redata[1]); //调用动态连接库进行数据校验和数据格式转换
  dispy:='';
  for i:=1 to 13 do dispy:=dispy+chr(redata[i]);
  if status=0 then          // 判断校验结果
  begin
      Memo1.Text:='Error';
   end
   else
   begin
   case readtype of        //根据读卡方式的选择进行不同格式的输出
   1:begin
    if needenter=0 then       // 不需要回车
      for i:=4 to 13 do Memo1.Text:=Memo1.Text+dispy[i]
    else                       // 需要回车
       for i:=4 to 15 do Memo1.Text:=Memo1.Text+dispy[i];
    end;
   2:begin
    if needenter=0 then
       for i:=4 to 13 do Memo1.Text:=Memo1.Text+dispy[i]
    else
       for i:=4 to 15 do Memo1.Text:=Memo1.Text+dispy[i];
    end;
    3:begin
    if needenter=0 then
       for i:=6 to 13 do Memo1.Text:=Memo1.Text+dispy[i]
    else
       for i:=6to 15 do Memo1.Text:=Memo1.Text+dispy[i];
    end;
   4:begin
    if needenter=0 then
       for i:=5 to 13 do Memo1.Text:=Memo1.Text+dispy[i]
    else
       for i:=5 to 15 do Memo1.Text:=Memo1.Text+dispy[i];
    end;
  5:begin
    if needenter=0 then
       for i:=3 to 13 do Memo1.Text:=Memo1.Text+dispy[i]
    else
       for i:=3 to 15 do Memo1.Text:=Memo1.Text+dispy[i];
    end;

    end;
 end;
end;

procedure TickForm.RadioButton5Click(Sender: TObject);
begin
  needenter:=1;
end;

procedure TickForm.RadioButton6Click(Sender: TObject);
begin
 needenter:=0;
end;

procedure TickForm.Memo1Change(Sender: TObject);
begin
     if memo1.Text<>'' then close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -