计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

分布式多层数据库系统的应用(一)毕业论(6)

2013-06-02 01:01
导读:8192; //缓冲区大小设置为8K GetMem(Buf, BufSize); //申请内存,用于获取工作组信息 //获取一个网络类型的文件资源信息, Res := WNetEnumResource(lphEnum, Count, Pointer
8192; //缓冲区大小设置为8K
      GetMem(Buf, BufSize); //申请内存,用于获取工作组信息
              //获取一个网络类型的文件资源信息,
      Res := WNetEnumResource(lphEnum, Count, Pointer(Buf), BufSize);
      if (Res = ERROR_NO_MORE_ITEMS) //资源列举完毕
        or (Res <> NO_ERROR) //执行失败
        then break;
      P := TNetResourceArray(Buf);
      for I := 0 to Count - 1 do //列举各个工作组的信息
      begin
        my_node_1 := treeview1.Items.addchild(node, StrPAS(P^.lpRemoteName)); //取得一个工作组的名称
        my_node_1.imageindex := 1;
        Inc(P);
      end;
    end;
    Res := WNetCloseEnum(lphEnum); //关闭一次列举
    if Res <> NO_ERROR then break; //执行失败
  end;
  FreeMem(Buf);
  NetworkTypeList.Destroy;
  screen.Cursor := crDefault;
  statusbar.panels[0].text := '';
  statusbar.refresh;
end;
procedure TFm_netlist.BitBtn1Click(Sender: TObject);
begin
  aComputerName := treeview1.Selected.Text;
  close;
end;
end.
 在上面的程序清单中,首先定义了NetExecute方法,它根据传递进来的TFormClass参数值TformNet,打开“列举网络资源”窗口,用户可以在此窗口中选择想要连接的运行应用服务器程序的计算机。NetExecute方法将返回选中的计算机主机名。 (科教作文网 zw.nseac.com整理)
 在程序清单中,还自定义了GetGroupName和GetComputerName这两个非常重要的过程,其中GetGroupName方法用于获取网络中所有的工作组名称,并将工作组名添加到目录树的第二级目录中;GetComputerName方法则根据工作组的名称穷举工作组下的计算机,并将这些计算机添加到目录树的第三级目录中。
 选择好计算机后,单击“确定”按钮,系统将把选定的计算机主机名赋给aComputerName全局变量,此时在NetExecute方法中,便返回此值。
 (4) 在data单元(data.pas)中定义connect_app方法。connect_app方法用语读取注册表中配置应用服务器的信息并测试连接,如果没有连接上应用程序服务器将从新弹出配置窗口。这个接口方法在程序主窗体创建时被调用,用以尝试连接应用服务器。
 ConnectAppServ方法在interface中的具体定义为:
function TFm_data.connect_app: boolean; //判断是否连接上了应用服务器
var
  vs_Host, vs_Address, vs_Port: string;
  reg: TRegistry;
begin
  Result := True;
  reg := Tregistry.create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  socket.Connected := false;
  //读取注册表配置的应用服务器信息
  if Reg.OpenKey('\Software\pz', False) then  //如果注册表有信息
  begin
    vs_Host := reg.ReadString('Host');
    vs_Address := reg.ReadString('ip');
    vs_Port := reg.readstring('Port');
    try
      //测试连接
        socket.Address := vs_Address;
        socket.Host := vs_Host;
        socket.Port := strtoint(vs_Port);
        socket.Connected := true; (科教作文网http://zw.ΝsΕac.cOM编辑)
      reg.closekey;
    except //未连接上,弹出配置窗口
      reg.closekey;
        try
            fm_Ser
上一篇:delphi医嘱管理系统[开题报告+论文+源代码+答 下一篇:没有了