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

📄 telphon.pas

📁 软件类别: 数据库 软件大小: 2.60M 运行环境: Win9xNT/2000/XP 一套车辆管理系统,此版本为商业版,大家一定用的着。
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                    for j:=(BufferLength-(160-38*k-28)+1) to (BufferLength-(160-38*k-33)) do
                    //for j:=(BufferLength-132+1) to (BufferLength-127) do
                    begin
                         Edit5.Text:=Edit5.Text+chr(grbuf[j]);
                    end;
                    //高度
                    for j:=(BufferLength-(160-38*k-33)+1) to (BufferLength-(160-38*k-38)) do
                    //for j:=(BufferLength-127+1) to (BufferLength-122) do
                    begin
                         Edit6.Text:=Edit6.Text+chr(grbuf[j]);
                    end;
                    Cmd_Save.Click;//保存gps数据信息
                end;
                Edit_NO.Clear;
            end;
        end;
    end;
end;

procedure Tfrm_Telphon.FormCreate(Sender: TObject);
var
    re_id:integer;
    registerTemp:TRegistry;
    inputstr,get_id:string;
    dy,clickedok:Boolean;
begin
    dy:=false; //软件是否已到注册期、及是否允许继续使用的标志,当值为FALSE是为允许使用。
    registerTemp := TRegistry.Create; //准备使用注册表
    with registerTemp do
    begin
        RootKey:=HKEY_LOCAL_MACHINE; //存放在此根下
        if OpenKey('Software\Microsoft\Windows\CurrentVersion\guider_ID',True) then
        // 建一目录,存放标志值。当然也可以存放在已存在的目录下。怎么样,很难发现吧?
        begin
            if valueexists('gc_id') then
            begin //用gc_id的值作为标志,首先判断其存在否?
                re_id:=readinteger('gc_id');//读出标志值
                if (re_id<>0) and (re_id<>5) then
                begin //若标志值为0,则说明已注册。
                    //若不为0且值不到100,说明虽未注册,但允许使用的次数尚未达到。
                    re_id:=re_id+5; //允许标志的最大值为100,每次加5,则最多只可用20次。
                    Writeinteger('gc_id',re_id);//将更新后的标志值写入注册表中。
                end;
                if re_id=5 then dy:=true; //假如值已到100,则应注册。
            end
            else Writeinteger('gc_id',5);//建立标志,并置初始标志值。
        end;
        if dy then
        begin //若dy值为TRUE,则应提示用户输入注册码,进行注册。
            clickedok:=InputQuery('您使用的是非注册软件,请输入注册码:',' ',inputstr);
            if clickedok then
            begin
                get_id:=inttostr(1234*2);//注册码为55187516,当然可加入更杂的算法。
                if get_id=inputstr then
                begin
                    Writeinteger('gc_id',0);//若输入的注册码正确,则将标志值置为0,即已注册。
                    CloseKey;
                    Free;
                end
                else
                    begin //若输入的注册码错误,应作出提示并拒绝让其继续使用
                    application.messagebox('注册码错误!请与作者[张志华]联系!、电子邮箱:luer88@163.net','警告框',mb_ok);
                    CloseKey;
                    Free;
                    application.terminate; //中止程序运行,拒绝让其继续使用
                end;
            end
            else
                begin //若用户不输入注册码,也应作出提示并拒绝让其继续使用
                application.messagebox('请与作者[张志华]联系,使用注册软件!','警告框',mb_ok);
                CloseKey;
                Free;
                application.terminate;
            end;
        end;
    end;
    Comm1.StartComm;
    //SpeedButton4.Click;
    Button1.Click;
end;
procedure Tfrm_Telphon.SpeedButton1Click(Sender: TObject);
var
    j:integer;
begin
    sbuf[1]:='E5'; //帧头
    sbuf[2]:='E5'; //命令号
    sbuf[3]:='02';
    sbuf[5]:='08';
    senddata;//调用发送函数
end;

procedure Tfrm_Telphon.Button1Click(Sender: TObject);
var
    j:integer;
begin
   //SendText;
   Tbuf[1]:=byte($61);
   Tbuf[2]:=byte($74);
   Tbuf[3]:=byte($2B);
   Tbuf[4]:=byte($63);
   Tbuf[5]:=byte($6D);
   Tbuf[6]:=byte($67);
   Tbuf[7]:=byte($66);
   Tbuf[8]:=byte($3D);
   Tbuf[9]:=byte($31);
   Tbuf[10]:=byte($0D);
   SendT;
end;

procedure Tfrm_Telphon.Cmd_ReadClick(Sender: TObject);
begin
    if Trim(Edit_NO.Text)='' then
    begin
        Application.MessageBox('读取短消息操作失败,请确认!','车载电话模块系统',mb_ok);
        Edit_NO.SetFocus;
        Exit;
    end;
    SendRead;
    
end;

procedure Tfrm_Telphon.SpeedButton3Click(Sender: TObject);
var
    icount:int64;
begin
    RRbuf[1]:=byte($61);
    RRbuf[2]:=byte($74);
    RRbuf[3]:=byte($2B);
    RRbuf[4]:=byte($63);
    RRbuf[5]:=byte($6D);
    RRbuf[6]:=byte($67);
    RRbuf[7]:=byte($72);
    RRbuf[8]:=byte($3D);
    RRbuf[9]:=byte($61);
    icount:=StrToint(Edit_No.Text);
    RRbuf[10]:=byte(icount);
    RRbuf[11]:=byte($0D);
    RRbuf[12]:=byte($0A);
    Senddata;
end;

procedure Tfrm_Telphon.SpeedButton4Click(Sender: TObject);
begin
    SendText;
end;

procedure Tfrm_Telphon.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Comm1.StopComm;
end;
{SetLength(S, BufferLength); //接收RS232的数据并显示Memo1上。
    Move(Buffer^, PChar(S)^, BufferLength);
    if Copy(s,13,10)<>'ok' then
    begin
        Edit_No.Text:=Copy(s,13,10);
    end;
    if Copy(s,1,12)='+CMTI: "MT",' then
    begin
        SpeedButton3.Click;
    end;
    Memo1.Lines.Add(S);}
procedure Tfrm_Telphon.Timer1Timer(Sender: TObject);
begin
    UnRead;
end;

procedure Tfrm_Telphon.Cmd_SaveClick(Sender: TObject);
begin
    if Trim(Edit1.Text)='' then
    begin
        Exit;
    end;
    if Trim(Edit2.Text)='' then
    begin
        Exit;
    end;
    if Trim(Edit3.Text)='' then
    begin
        Exit;
    end;
    if Trim(Edit4.Text)='' then
    begin
        Exit;
    end;
    if Trim(Edit5.Text)='' then
    begin
        Exit;
    end;
    if Trim(Edit6.Text)='' then
    begin
        Exit;
    end;
    if Trim(LabeledEdit1.Text)='' then
    begin
        Exit;
    end;
    if Trim(LabeledEdit2.Text)='' then
    begin
        Exit;
    end;
    if Trim(LabeledEdit3.Text)='' then
    begin
        Exit;
    end;
    with frm_data.ADOQuery_InForMation do
    begin
        Close;
        Sql.Clear;
        Sql.Add('Select * from [InforMation]');
        Sql.Add('where Telphone=:u1 and R_Time=:u2 and G_Time=:u3 and JD=:u4 and WD=:u5 and SD=:u6 and GD=:u7');
        frm_data.ADOQuery_InForMation.Parameters[0].Value:=Trim(LabeledEdit1.Text);
        frm_data.ADOQuery_InForMation.Parameters[1].Value:=Trim(LabeledEdit2.Text)+' '+Trim(LabeledEdit3.Text);
        frm_data.ADOQuery_InForMation.Parameters[2].Value:=Trim(Edit1.Text)+' '+Trim(Edit2.Text)+' ';
        frm_data.ADOQuery_InForMation.Parameters[3].Value:=Trim(Edit3.Text);
        frm_data.ADOQuery_InForMation.Parameters[4].Value:=Trim(Edit4.Text);
        frm_data.ADOQuery_InForMation.Parameters[5].Value:=Trim(Edit5.Text);
        frm_data.ADOQuery_InForMation.Parameters[6].Value:=Trim(Edit6.Text);
        Prepared;
        open;
        if frm_data.ADOQuery_InForMation.RecordCount>0 then
        begin
            Exit;
        end
        else
        begin
            with frm_data.ADOQuery_InForMation do
            begin
                Close;
                Sql.Clear;
                Sql.Add('insert into [InforMation] (Telphone,R_Time,G_Time,JD,WD,SD,GD)');
                Sql.Add('values (:Telphone,:R_Time,:G_Time,:JD,:WD,:SD,:GD)');
                frm_data.ADOQuery_InForMation.Parameters[0].Value:=Trim(LabeledEdit1.Text);
                frm_data.ADOQuery_InForMation.Parameters[1].Value:=Trim(LabeledEdit2.Text)+' '+Trim(LabeledEdit3.Text);
                frm_data.ADOQuery_InForMation.Parameters[2].Value:=Trim(Edit1.Text)+' '+Trim(Edit2.Text)+' ';
                frm_data.ADOQuery_InForMation.Parameters[3].Value:=Trim(Edit3.Text);
                frm_data.ADOQuery_InForMation.Parameters[4].Value:=Trim(Edit4.Text);
                frm_data.ADOQuery_InForMation.Parameters[5].Value:=Trim(Edit5.Text);
                frm_data.ADOQuery_InForMation.Parameters[6].Value:=Trim(Edit6.Text);
                Prepared;
                Execsql;
            end;
        end;
    end;
end;

end.

⌨️ 快捷键说明

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