亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? com_connect.~pas

?? 0110、led大屏幕點陣屏設計資料
?? ~PAS
字號:
unit COM_CONNECT;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,ShellApi, SPComm;

type
	ByteArray = array [0..0] of byte;
  byteall = array[0..10000] of byte;
	PpByte = ^ByteArray;

type
  TFrmMain=class(TForm)
    Memo1: TMemo;
    btnSend: TButton;
    Button1: TButton;
    Memo2: TMemo;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    btnSwitch: TButton;
    ImageOn: TImage;
    ImageOff: TImage;
    Comm1: TComm;
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure btnSendClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure btnSwitchClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure SendString(const str: string);
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    Function ByteToStr(NameArr :Array of byte):String;
    function ByteToHex(Src: Byte): String;
  private
    { Private declarations }

		hhzk : HGlOBAL;
		hasc : HGLOBAL;
		phzk : PpByte;
		pasc : PpByte;

		procedure HandleRes;
    procedure get_code(str: string);
  public
    { Public declarations }
  end;
var
 frmmain: Tfrmmain;
     all : byteall;
implementation

type
  ERegError = class(Exception);

{$R *.dfm}
{$R hzk.res}

procedure Tfrmmain.HandleRes;
var
	hres : HRSRC;
begin
	hres := FindResource(0,PChar(201),'HZK16');
	if hres <> 0 then begin
		hhzk := LoadResource(0,hres);
		if hhzk <> 0 then begin
			phzk := LockResource(hhzk);
		end;
	end;
	hres := FindResource(0,PChar(202),'ASC16');
	if hres <> 0 then begin
		hasc := LoadResource(0,hres);
		if hasc <> 0 then begin
			pasc := LockResource(hasc);
		end;
	end;
	if (phzk = nil) or (pasc = nil) then begin
		MessageDlg('Can not load resource!'#10#13'Program stopped!',
				mtWarning,[mbOk],0);
		Application.Terminate;
	end;
end;

procedure TFrmMain.get_code(str: string);
var
 i,j : integer;
 m : integer;
 leng : integer;
 off : integer;

begin
 i := 1;
 j:=0;
 leng := Length(str);
  while(i<=leng) do begin
   if (i<leng) and boolean(byte(str[i]) and $80)
       and boolean(byte(str[i+1]) and $80) then begin
   off := ((byte(str[i])-$a1) and $7f) * 94 + ((byte(str[i+1])-$a1) and $7f);
   off := off * 32;
   //獲取漢字庫點陣代碼 32個字節(jié)
     for m:=0 to 31 do begin
        all[j]:=phzk^[off+m];
        //showmessage(bytetohex(all[j]));
        inc(j);
     end;
     inc(i,2);
       end else begin
        off := byte(str[i])*16;
         //獲取ASC庫點陣代碼 16個字節(jié)
          for m:=0 to 15 do begin
           all[j]:=pasc^[off+m];
            inc(j);
          end;
          inc(i);
          end;
  end;
end;

//獲取串口列表
procedure EnumComPorts(Ports: TStrings);
var
  KeyHandle: HKEY;
  ErrCode, Index: Integer;
  ValueName, Data: string;
  ValueLen, DataLen, ValueType: DWORD;
  TmpPorts: TStringList;
begin
  ErrCode := RegOpenKeyEx(HKEY_LOCAL_MACHINE, 'HARDWARE\DEVICEMAP\SERIALCOMM', 0,
    KEY_READ, KeyHandle);

  if ErrCode <> ERROR_SUCCESS then
    raise ERegError.Create('打開串口列表的注冊表項出錯');

  TmpPorts := TStringList.Create;
  try
    Index := 0;
    repeat
      ValueLen := 256;
      DataLen := 256;
      SetLength(ValueName, ValueLen);
      SetLength(Data, DataLen);
      ErrCode := RegEnumValue(KeyHandle, Index, PChar(ValueName),
        Cardinal(ValueLen), nil, @ValueType, PByte(PChar(Data)), @DataLen);

      if ErrCode = ERROR_SUCCESS then
      begin
        SetLength(Data, DataLen);
        TmpPorts.Add(Data);
        Inc(Index);
      end
      else if ErrCode <> ERROR_NO_MORE_ITEMS then
        raise ERegError.Create('打開串口列表的注冊表項出錯');

    until (ErrCode <> ERROR_SUCCESS);

    TmpPorts.Sort;
    Ports.Assign(TmpPorts);
  finally
    RegCloseKey(KeyHandle);
    TmpPorts.Free;
  end;
end;



procedure TFrmMain.FormCreate(Sender: TObject);

begin
  hhzk := 0;
	hasc := 0;
	phzk := nil;
	pasc := nil;
	HandleRes;
  //設置窗體的最小大小
  FrmMain.Constraints.MinHeight := FrmMain.Height;
  FrmMain.Constraints.MinWidth := FrmMain.Width;
  btnSend.Enabled:=false;
  ImageOff.Visible:=true;
  ImageOn.Visible:=false;

  //串口初始化
  EnumComPorts(ComboBox1.Items);    //得到串口列表
  ComboBox1.ItemIndex := 0;
  Comm1.CommName :=ComboBox1.Text;
  ComboBox2.ItemIndex := 2;
  Comm1.BaudRate := 9600;
  Comm1.Parity := None;
  Comm1.ByteSize := _8;
  Comm1.StopBits := _1;
end;

procedure TFrmMain.ComboBox1Change(Sender: TObject);
begin
  Comm1.CommName := ComboBox1.Text;
end;


procedure TFrmMain.SendString(const str: string);
begin
//get_code(memo1.Text);
//frmmain.comm1.writecommdata(@all[0],sizeof(all));

end;
procedure TFrmMain.btnSendClick(Sender: TObject);  //發(fā)送函數(shù)
var
i:integer;
begin
get_code(memo1.Text);
//for i:=1 to length(memo1.text)*16 do begin
frmmain.comm1.writecommdata(@all[0],length(memo1.text)*16);
//sleep(2);
//showmessage(bytetostr(all[i]));
//showmessage('ok');

end;

procedure TFrmMain.Button1Click(Sender: TObject);
begin
close;
end;

procedure TFrmMain.ComboBox2Change(Sender: TObject);
begin
comm1.BaudRate :=StrToInt(comboBox2.text);
end;

procedure TFrmMain.btnSwitchClick(Sender: TObject);
begin
  //判斷按鍵的狀態(tài)可以避免打開串口出錯時,要按兩次按鍵
  if btnSwitch.Caption = '打開串口' then
  begin
    Comm1.StartComm;  //打開串口
    btnSwitch.Caption := '關閉串口';
    ComboBox1.Enabled := false;
    btnSend.Enabled   := true;
    ComboBox2.Enabled :=false;
    ImageOff.Visible  := false;
    ImageOn.Visible   := true;
  end
  else //if Button1.Caption = '關閉串口' then
  begin
    Comm1.StopComm;  // 關閉串口
    btnSwitch.Caption := '打開串口';
    ComboBox1.Enabled := true;
    ComboBox2.Enabled := true;
    btnSend.Enabled   := false;
    ImageOn.Visible   := false;
    ImageOff.Visible  := true;
  end;
end;
procedure TFrmMain.FormDestroy(Sender: TObject);
begin
	if hhzk <> 0 then FreeResource(hhzk);
	if hasc <> 0 then FreeResource(hasc);
end;

procedure TFrmMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
  BufferLength: Word);
var  s:string;
begin
 setlength(s,bufferlength);
 move(buffer^,s[1],bufferlength);
 Memo2.Lines.Add(s);
end;
Function tfrmmain.ByteToStr(NameArr :Array of byte):String;
var I:Integer;
   S:String;
Begin
Setlength(S,High(NameArr)+1);
For I:=Low(NameArr) to High(NameArr) do S[I+1]:=Char(NameArr[I]);
Result :=Pchar(S);
End;
function tfrmmain.ByteToHex(Src: Byte): String;
begin
SetLength(Result, 2);
asm
MOV EDI, [Result]
MOV EDI, [EDI]
MOV AL, Src
MOV AH, AL // Save to AH
SHR AL, 4 // Output High 4 Bits
ADD AL, '0'
CMP AL, '9'
JBE @@OutCharLo
ADD AL, 'A'-'9'-1
@@OutCharLo:
AND AH, $f
ADD AH, '0'
CMP AH, '9'
JBE @@OutChar
ADD AH, 'A'-'9'-1
@@OutChar:
STOSW
end;
end;

end.


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区精品久久久| 日韩国产成人精品| 欧美一区二区三区婷婷月色| 成人激情免费电影网址| 天天影视网天天综合色在线播放| 久久久不卡影院| 8x福利精品第一导航| 99久久精品免费| 黄一区二区三区| 午夜欧美大尺度福利影院在线看 | 色一情一乱一乱一91av| 精品一区二区在线免费观看| 一区二区三区精品久久久| 久久精品网站免费观看| 日韩三级中文字幕| 欧美三级午夜理伦三级中视频| www.日本不卡| 国产一区二区久久| 久久精品国产精品亚洲综合| 亚洲主播在线播放| 亚洲精选在线视频| 亚洲人123区| 亚洲天堂中文字幕| 亚洲国产精品99久久久久久久久 | 欧美精品v日韩精品v韩国精品v| av资源网一区| 国产99久久久国产精品潘金| 黄页视频在线91| 久久99国内精品| 日本vs亚洲vs韩国一区三区二区 | 欧美精品成人一区二区三区四区| 91看片淫黄大片一级| 成人禁用看黄a在线| 成人午夜视频在线观看| 国产成人免费视频精品含羞草妖精 | 欧美美女bb生活片| 久久蜜桃av一区精品变态类天堂| 日韩午夜av电影| 欧美变态口味重另类| 日韩欧美在线一区二区三区| 日韩一级二级三级精品视频| 欧美一区二区三区日韩| 欧美本精品男人aⅴ天堂| 欧美tickling网站挠脚心| 精品国产123| 日本一区二区视频在线观看| 国产精品久久久久久久久免费桃花 | 日韩亚洲欧美在线观看| 日韩免费看网站| 国产亚洲女人久久久久毛片| 国产精品视频第一区| 亚洲卡通欧美制服中文| 亚洲高清中文字幕| 蜜臀国产一区二区三区在线播放 | 91黄色免费看| 在线播放中文一区| 日韩精品最新网址| 亚洲国产成人在线| 亚洲美女屁股眼交| 免费在线视频一区| 国产激情精品久久久第一区二区| 高清在线观看日韩| 91福利在线免费观看| 91麻豆精品国产91久久久资源速度 | 99re这里只有精品6| 欧美日韩中字一区| 久久一区二区视频| 亚洲人成在线观看一区二区| 亚洲图片欧美一区| 久久99国产精品久久| 成人网在线免费视频| 日本道免费精品一区二区三区| 欧美精品欧美精品系列| 久久无码av三级| 亚洲精品你懂的| 精品一区二区三区久久| www.av亚洲| 欧美精品成人一区二区三区四区| 精品国产凹凸成av人网站| 最新不卡av在线| 奇米影视在线99精品| 大白屁股一区二区视频| 欧美视频日韩视频| 久久九九国产精品| 亚洲va欧美va人人爽| 国产精品一级二级三级| 欧美视频一区二区三区| 国产亚洲精品免费| 午夜精品福利在线| 91片在线免费观看| 久久久久99精品一区| 天天亚洲美女在线视频| 99精品视频在线播放观看| 欧美成人精品高清在线播放| 亚洲综合无码一区二区| 国产成人激情av| 日韩精品一区二区三区视频| 夜夜嗨av一区二区三区四季av| 国产综合色视频| 欧美日韩高清一区二区| 日韩一区在线免费观看| 国产一区二区在线影院| 制服丝袜成人动漫| 亚洲欧美日韩综合aⅴ视频| 欧美精品日韩精品| 国产精品美女久久久久久2018| 卡一卡二国产精品| 欧美乱妇15p| 亚洲精品一二三四区| 成人av资源在线观看| 久久久精品免费网站| 日本不卡不码高清免费观看| 欧美日韩一区不卡| 亚洲精品国产一区二区精华液 | 久久精品国产精品亚洲精品| 精品视频999| 亚洲一区二区三区在线| 99re亚洲国产精品| 国产精品久久久久精k8| 国产高清久久久| 久久久久久久久一| 激情五月婷婷综合网| 日韩一区二区三区免费看| 亚洲成人动漫av| 欧美性极品少妇| 一区二区国产视频| 色欧美日韩亚洲| 日韩理论片在线| 91亚洲精华国产精华精华液| 国产精品污网站| www.亚洲精品| 亚洲欧美激情插| 91香蕉视频污| 一区二区三区蜜桃| 欧美日韩一区国产| 日韩精品欧美成人高清一区二区| 欧美日韩国产另类一区| 日韩激情一二三区| 日韩视频不卡中文| 韩日av一区二区| 久久精品夜色噜噜亚洲aⅴ| 国产成人精品免费视频网站| 日本一区二区免费在线观看视频| 国产又黄又大久久| 国产清纯白嫩初高生在线观看91| 国产91丝袜在线播放0| 亚洲欧洲精品一区二区精品久久久| va亚洲va日韩不卡在线观看| 国产精品私房写真福利视频| av一区二区久久| 国产精品高潮久久久久无| 色又黄又爽网站www久久| 亚洲成a人v欧美综合天堂下载 | 中文字幕不卡在线观看| 91在线视频网址| 亚洲一区二区三区自拍| 91精品在线免费| 国内精品久久久久影院薰衣草 | 色婷婷激情综合| 午夜电影久久久| 日韩精品一区二区三区三区免费| 麻豆极品一区二区三区| 久久精品亚洲精品国产欧美 | 粉嫩在线一区二区三区视频| 中文字幕一区av| 欧美精品久久天天躁| 国产一区二区剧情av在线| 精品亚洲成av人在线观看| 国产午夜精品久久久久久免费视| 成人免费av网站| 日日摸夜夜添夜夜添国产精品| 久久久五月婷婷| 色婷婷精品大视频在线蜜桃视频| 日本v片在线高清不卡在线观看| 国产网红主播福利一区二区| 在线观看一区不卡| 久久66热re国产| 亚洲乱码国产乱码精品精小说 | 91成人在线观看喷潮| 精品影视av免费| 一区二区在线观看不卡| 欧美电影精品一区二区| 99re6这里只有精品视频在线观看| 日韩精品国产欧美| 国产精品麻豆欧美日韩ww| 91精品黄色片免费大全| 成人激情校园春色| 裸体健美xxxx欧美裸体表演| 亚洲欧美影音先锋| 精品久久久久久亚洲综合网| 色婷婷综合激情| 国产福利一区二区| 日韩电影在线免费观看| 中文字幕中文字幕一区| 日韩欧美一二三区| 欧美日韩一区小说| 91在线国产观看| 丰满岳乱妇一区二区三区| 免费观看91视频大全| 亚洲图片欧美视频|