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

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

?? main.pas

?? 給出一個工業PLC聯網監控的例子
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ExtCtrls, SPComm, ComCtrls, ToolWin, ImgList, StdCtrls,
	RzPanel, RzButton, Buttons,  cmdHeader,DBCtrls, Mask, Registry,DB, ADODB, Grids, DBGrids,
  RzGrids, RzBorder, RzLabel, RzEdit, RzDTP;

type
	TUnitDevice=Record
		PWSUint:integer;
		PWSName:string[25];
		Addr:integer;
		Name:string[25];
		Value,
		Max,
		Min:word;
		CommErr:string[25];
		Enabled:boolean;
	end;
	TProjectInfo=record
		prjName,  //SaveDataTime1, SaveDataTime2, SaveDataTime3, DefaultWindow, ComPort, BaundRate
		sTime1,sTime2,sTime3,
		cPort,
		Baud:string;
		defWin:integer;
	end;
	TSynComm=record  				//設備采樣同步標志體
		CommErrCount:integer; //設備通訊失敗計數器
		CurrentAddr,					//當前通訊地址
		CurrentUnit:integer;  //當前PWS單元號
		NextAddr:Boolean;			//是否允許采集下個地址信息
		U_ID:integer;				  //巡檢計數器標志
	end;
	TfrmMain = class(TForm)
    Comm1: TComm;
    Timer1: TTimer;
    meuMain: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N18: TMenuItem;
    N19: TMenuItem;
    N20: TMenuItem;
    N21: TMenuItem;
    SB1: TStatusBar;
    imgList: TImageList;
    RzToolbar1: TRzToolbar;
    RzToolButton1: TRzToolButton;
    RzSpacer1: TRzSpacer;
    RzToolButton4: TRzToolButton;
    RzToolButton5: TRzToolButton;
    RzSpacer2: TRzSpacer;
    RzToolButton7: TRzToolButton;
    RzToolButton8: TRzToolButton;
    RzToolButton9: TRzToolButton;
    RzSpacer3: TRzSpacer;
    RzToolButton10: TRzToolButton;
    Panel1: TPanel;
    BitBtn1: TBitBtn;
    DataSource1: TDataSource;
    adoDBSrc: TADODataSet;
    DBGrid2: TDBGrid;
    Bevel2: TBevel;
    Bevel1: TBevel;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    lblConfig: TLabel;
    N9: TMenuItem;
    meuStart: TMenuItem;
    N25: TMenuItem;
    meuStop: TMenuItem;
    RzSpacer4: TRzSpacer;
    Panel3: TPanel;
    PB1: TProgressBar;
    lblRecived: TEdit;
    Panel2: TPanel;
    Bevel3: TBevel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    lblFirstRun: TLabel;
    edtPwd: TEdit;
    cbxUser: TComboBox;
    btnLogin: TButton;
    btnLogCancel: TButton;
    Panel4: TPanel;
    GroupBox1: TGroupBox;
    Label9: TLabel;
    Label10: TLabel;
    RzLabel1: TRzLabel;
    RzLEDDisplay1: TRzLEDDisplay;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    trvAllDev: TTreeView;
    Label6: TLabel;
    Label7: TLabel;
    edtDecStatus: TEdit;
    Bevel4: TBevel;
    Bevel5: TBevel;
    TrayIcon1: TTrayIcon;
    meoRunEvent: TRzMemo;
    txtUnitNo: TStaticText;
    txtDevName: TStaticText;
    txtDevAddrName: TStaticText;
    Panel5: TPanel;
    DBGrid1: TDBGrid;
    GroupBox4: TGroupBox;
    cbxSereachUnit: TComboBox;
    Label8: TLabel;
    Label12: TLabel;
    ddtpSereachTime: TDateTimePicker;
    cbxSereach: TCheckBox;
    btnSereach: TButton;
    Button2: TButton;
    Image2: TImage;
    procedure btnSereachClick(Sender: TObject);
    procedure Image2Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure lblRecivedChange(Sender: TObject);
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    procedure Timer1Timer(Sender: TObject);
    procedure meuStopClick(Sender: TObject);
    procedure meuStartClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btnLoginClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
	private
		procedure prcmenu(meuInfo,DBSql:string);
		function  CheckUser:boolean;
		procedure SetCommPort(cPort,Baud:string);//配置通訊端口
		procedure DrawTreeNode;
		{ Private declarations }
	public
		{ Public declarations }
  end;

var
  frmMain: TfrmMain;
	PwsU:array of TUnitDevice;//地址信息  動態數組使用時采用 SetLength 初始化
	VAdd:array of integer;//有效地址數組
	AddrCount:integer;
	RegisterAddrCount:integer=0;//有效地址總數

	prjInfo:TProjectInfo;//工程信息
	mSynComm:TSynComm;   //設備采樣同步標志體

implementation

{$R *.dfm}

procedure TfrmMain.BitBtn1Click(Sender: TObject);
begin
	Panel1.Visible:=False;
	if adoDBSrc.Active then
	begin
		adoDBSrc.Refresh;
		adoDBSrc.Close;
	end;
	Panel4.Align:=alClient;
	Panel4.Visible:=True;
end;
function DBOK:boolean;
var
	reg : TRegistry;
	ts : TStrings;
	i : integer;
begin
	Result:=False;
	reg := TRegistry.Create;
	reg.RootKey := HKEY_CURRENT_USER;
	reg.OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',false);
	ts := TStringList.Create;
	reg.GetValueNames(ts);
	for i := 0 to ts.Count -1 do
	begin
		if ts[i]='PWS Access DB' then Result:=True;
	end;
	ts.Free;
	reg.CloseKey;
	reg.free;
end;

procedure TfrmMain.btnLoginClick(Sender: TObject);
begin
	if CheckUser then
	begin
		Panel2.Visible:=False;
		Panel4.Align:=alClient;
		Panel4.Visible:=True;
		SetCommPort(prjInfo.cPort,prjInfo.Baud);//配置通訊端口
		SB1.Panels[9].Text:='系統待機中......';
	end;
end;

function TfrmMain.CheckUser: boolean;
var
	userType:string;
begin
		Result:=False;
		if adoDBSrc.Active then	adoDBSrc.Close;
		adoDBSrc.CommandText:='select * from user where UserName='+''''+cbxUser.Text +'''';
		adoDBSrc.Active:=true;
		if adoDBSrc.RecordCount=0 then
		begin
			showmessage(#13+#13+'------您的用戶名輸入有錯!------'+#13+#13);
			adoDBSrc.Active:=False;
			exit;
		end;
		if edtPwd.Text<>adoDBSrc.FieldByName('UserPass').AsString then
		begin
			showmessage('密碼輸入錯誤!');
			adoDBSrc.Active:=False;
			exit;
		end	else begin
			if adoDBSrc.FieldByName('userType').AsInteger=0 then
				userType:='操作員';
			if adoDBSrc.FieldByName('userType').AsInteger=1 then
				userType:='管理員';
			if adoDBSrc.FieldByName('userType').AsInteger=2 then
				userType:='系統管理員';
			SB1.Panels[3].Text:=userType;
			SB1.Panels[1].Text:=adoDBSrc.FieldByName('UserName').AsString;
			Result:=True;
			if adoDBSrc.Active then	adoDBSrc.Close;
		end;
end;

procedure TfrmMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
	BufferLength: Word);
var
	i:integer; // viewstring,
	reStr:string;
	rbuf:array[0..64] of byte;
begin
	reStr:='';
	move(buffer^,rbuf,bufferlength);
	for i:=1 to bufferlength do
		reStr:=reStr+chr(rbuf[i-1]);
	reStr:=reStr;
	lblRecived.Text:=reStr;
end;


procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 if MessageDlg('您確認要退出本監控系統嗎?',
		mtConfirmation, [mbYes, mbNo], 0, mbYes) = mrYes then
	begin
		CanClose:=True;
	end else
		CanClose:=False;
end;

procedure TfrmMain.DrawTreeNode;
var
	i,ii:integer;
	Node1, Node2: TTreeNode;
	nodeFg:boolean;
	snode:string;
begin
  with trvAllDev.Items do
	begin
		Clear; { remove any existing nodes }
		for I := 0 to AddrCount - 1 do //設定值遍歷
		begin
			if PwsU[i].Enabled then
			begin
				if trvAllDev.Items.Count<1 then //還沒有根接點
				begin
					snode:='PWS'+inttostr(PwsU[i].PWSUint)+'-'+PwsU[i].PWSName;
					Node1 := Add(nil,snode ); { Add a root node }
					Node1.ImageIndex:=7;
					snode:=PWSU[i].Name+'['+Format('%4x',[PWSU[i].Value])+']';
					Node2:= AddChild(Node1,snode);
					Node2.ImageIndex:=14;
					cbxSereachUnit.Items.Add(inttostr(PwsU[i].PWSUint));
				end else
				begin  //已經有根節點了
					nodeFg:=False;
					Node1 := trvAllDev.Items[0];
					for Ii := 0 to trvAllDev.Items.Count - 1 do
					begin
						Node1 := trvAllDev.Items[ii];
						snode:='PWS'+inttostr(PwsU[i].PWSUint)+'-'+PwsU[i].PWSName;
						if Node1.Text=snode  then
						begin
							nodeFg:=True;//找到節點
							break;
						end;// //找到節點
					end;//遍歷結束
					if not nodeFg then //遍歷后未找到節點
					begin            //新建節點
						snode:='PWS'+inttostr(PwsU[i].PWSUint)+'-'+PwsU[i].PWSName;
						Node1 := Add(nil, snode); { Add a root node }
						Node1.ImageIndex:=7;
						Node1.Expanded:=True;
						cbxSereachUnit.Items.Add(inttostr(PwsU[i].PWSUint));
					end;////遍歷后未找到節點
          ///
					snode:=PWSU[i].Name+'['+Format('%4x',[PWSU[i].Value])+']';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩欧美一区二区三区高清影视| 91精品国产综合久久久久久| 色屁屁一区二区| 91精品国产综合久久久久久久| 亚洲国产精品成人综合色在线婷婷 | 99久久精品免费看| 日韩精品一区二区三区视频播放| 国产精品每日更新| 国精品**一区二区三区在线蜜桃| 欧美午夜影院一区| 国产精品午夜在线| 国产伦精品一区二区三区免费 | www.欧美精品一二区| 日韩精品影音先锋| 亚洲与欧洲av电影| 成人高清免费观看| 国产日韩欧美a| 乱中年女人伦av一区二区| 欧美日韩一区二区三区高清| 国产精品久久久一本精品| 久久99国产精品久久99| 在线不卡的av| 亚洲国产欧美一区二区三区丁香婷| 99在线热播精品免费| 久久精品在线免费观看| 激情综合网最新| 欧美tickle裸体挠脚心vk| 蜜芽一区二区三区| 欧美日本精品一区二区三区| 亚洲精品国产成人久久av盗摄 | 国产一区二区三区在线观看免费| 欧美一级日韩不卡播放免费| 午夜成人免费电影| 欧美精品久久天天躁| 亚洲一区二区美女| 欧美伦理电影网| 五月婷婷久久综合| 538prom精品视频线放| 日韩制服丝袜先锋影音| 欧美一区二区美女| 蜜臀久久99精品久久久画质超高清 | 精品国产一区a| 国产乱码字幕精品高清av| 久久久久久久久久美女| 不卡av电影在线播放| 亚洲色图都市小说| 欧美在线观看你懂的| 日韩av成人高清| 日韩丝袜情趣美女图片| 国产麻豆视频精品| 国产精品成人免费| 欧美手机在线视频| 日本怡春院一区二区| 亚洲精品在线免费播放| 成人性生交大片免费看中文| 亚洲精品va在线观看| 欧美一区二区三区公司| 精品亚洲免费视频| 国产精品麻豆一区二区| 欧美午夜精品久久久久久超碰| 热久久国产精品| 中文av一区二区| 在线亚洲一区二区| 免费观看在线综合| 1000精品久久久久久久久| 欧美人与z0zoxxxx视频| 国产精品综合在线视频| 亚洲日韩欧美一区二区在线| 4hu四虎永久在线影院成人| 国产成人在线视频免费播放| 亚洲理论在线观看| 日韩欧美国产一区二区三区 | 国产精品一级二级三级| 亚洲男人天堂一区| 精品国产91洋老外米糕| 不卡的电视剧免费网站有什么| 视频一区二区三区入口| 国产日韩精品一区二区三区在线| 欧美群妇大交群的观看方式| 国产成a人亚洲精品| 日韩电影一区二区三区四区| 中文字幕乱码久久午夜不卡| 欧美一区欧美二区| 色狠狠桃花综合| 国产69精品久久777的优势| 天堂va蜜桃一区二区三区漫画版| 国产色爱av资源综合区| 欧美一级免费观看| 色女孩综合影院| 成人一级黄色片| 激情五月激情综合网| 午夜不卡在线视频| 亚洲综合久久av| 亚洲天堂精品在线观看| 久久婷婷国产综合国色天香| 欧美理论电影在线| 在线日韩av片| 97久久精品人人做人人爽| 国产成人在线视频网址| 精品写真视频在线观看| 午夜精品久久久久久久久久| 久99久精品视频免费观看| 亚洲欧美偷拍三级| 中文字幕亚洲精品在线观看| 国产视频一区在线播放| 久久亚洲精精品中文字幕早川悠里| 日韩一区二区麻豆国产| 911精品国产一区二区在线| 欧美性感一类影片在线播放| 色综合天天综合| eeuss影院一区二区三区| 国产精华液一区二区三区| 久草中文综合在线| 久久国产精品色| 国产精品自拍一区| 激情文学综合网| 国产mv日韩mv欧美| 不卡av在线免费观看| 91麻豆精品在线观看| 色婷婷综合中文久久一本| 日本韩国一区二区| 欧美日韩国产首页在线观看| 欧美日韩精品福利| 欧美日韩精品一区二区三区四区| 51久久夜色精品国产麻豆| 日韩一区二区三区观看| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美mv日韩mv国产| 中文一区二区在线观看| 亚洲色图.com| 性感美女久久精品| 蜜桃在线一区二区三区| 国产精品99久久久久久有的能看 | 国产三区在线成人av| 国产精品久久久久久久久晋中| 国产精品卡一卡二卡三| 亚洲综合一区二区| 免费成人结看片| 国产成人精品亚洲午夜麻豆| 97超碰欧美中文字幕| 在线精品视频免费观看| 日韩一区二区在线观看| 国产1区2区3区精品美女| 亚洲一级片在线观看| 亚洲第一久久影院| 国产在线看一区| 一本久道久久综合中文字幕| 欧美日韩mp4| 久久久久久97三级| 亚洲男同1069视频| 久久丁香综合五月国产三级网站| 成人99免费视频| 欧美精品一卡二卡| 奇米一区二区三区av| 粗大黑人巨茎大战欧美成人| 欧美日韩一级二级三级| 久久亚洲精华国产精华液| 一区二区在线观看免费| 久久99精品网久久| 欧洲av一区二区嗯嗯嗯啊| xvideos.蜜桃一区二区| 亚洲精品乱码久久久久| 精品一区二区三区蜜桃| 欧美综合天天夜夜久久| 国产人妖乱国产精品人妖| 亚洲成在线观看| 成人午夜私人影院| 欧美一区午夜视频在线观看| 亚洲三级在线免费| 国产精品一区二区在线播放| 精品视频1区2区3区| 国产精品国产馆在线真实露脸| 天天综合网 天天综合色| 国产精品系列在线观看| 3751色影院一区二区三区| 亚洲欧美经典视频| 国产99精品国产| 日韩美一区二区三区| 亚洲在线观看免费视频| jlzzjlzz国产精品久久| 久久九九99视频| 精彩视频一区二区三区| 欧美日韩国产影片| 一区二区三区四区亚洲| 99精品视频一区二区三区| 国产视频911| 国产成人午夜高潮毛片| 精品国产99国产精品| 久久99深爱久久99精品| 日韩欧美自拍偷拍| 免费看欧美女人艹b| 欧美日本免费一区二区三区| 亚洲一区二区三区中文字幕在线| 波多野结衣在线一区| 久久久www免费人成精品| 久久97超碰色| 精品国产乱码久久久久久牛牛| 天使萌一区二区三区免费观看| 欧美亚洲国产bt| 亚洲资源中文字幕|