当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: 问题的提出 在一个客户/服务器模式的网络环境中,数据库(Informix)服务器建立在SCO Unix 5.05上,同时,有若干台运行Windows 95/98的工作站。
 

 

    摘要:在使用delphi开发应用程序时常常要使用到tlistview列表视控件,但是仅仅使用tlistview的原有属性、方法和事件是不够的,常常需要在程序开发过程中对列表视的功能进行扩展,比如对列表视添加任意列组合排序、listitem拖动、customdraw自绘制、加入背景图等功能,由此可见delphi自带的tlistview列表视控件功能有限,并不让人感到满意。为了让列表视具有更多的功能,我们只......
 ·用delphi打造realplayer播放器    »显示摘要«
    摘要:  如今realplayer的流式媒体文件以其强大的视频压缩比正逐步悄然兴起。realplayer plus播放器也理所当然地成为大家播放realplayer格式文件的首选软件。不过realplayer plus也不是十全十美的,比如启动时间慢,占用空间大,留有历史记录等等。其实我们可以利用delphi打造一个完全符合自己要求的realplayer播放器。下面我将向大家介绍如何利用delphi来帮......


用Delphi在客户端执行Unix主机命令
上一页   ...   const f_wont=252;

  const f_goahead=3; 【程序编程相关:再发:发现一个 Delphi6 VCL

【推荐阅读:检测你的程序是否运行在虚拟机(VMwar

  const f_echo=1; 【扩展信息:TChart使用经验小结

编程实现

为了能将解决问题的方法说得更清楚,本文对实现功能进行了简化,即客户程序登录主机之后,由unix主机执行一个来自客户端的命令:mkdir /tmp/fang.命令执行完后,可以在服务器上查看执行结果.当然,在实际编程环境下不会仅仅是这样一条简单的命令,但基本原理是相同的.程序的测试界面如图1所示:

图1 测试界面

在form1中有一个非可视组件tclientsocket,它位于组件面板的internet页上.delphi利用这个组件对tcp/ip进行了封装.

程序的部分代码如下:

procedure tform1.button1click(sender: tobject);

begin

 if clientsocket1.active then clientsocket1.active := false;

  if inputquery(‘连接至:, ‘地址:, server) then

   if length(server) > 0 then

    with clientsocket1 do

    begin

     address := server;

     active := true;

end;

end;

procedure tform1.readfromhost(sender:tobject;

socket: tcustomwinsocket);

begin

 loginsend:=false;

 passsend:=false;

 count:=socket.receivebuf(inbuffer,high

(inbuffer));

 m_count:=0;

 while (m_count begin

ch:=inbuffer[m_count];

if (ch=char(f_iac)) then

begin

m_count:=m_count+1;

cmd:=inbuffer[m_count];

   if((cmd=char(f_do))or(cmd=char


...   下一页
 ·delphi中实现多线程同步查询    »显示摘要«
    摘要: 优秀的数据库应用应当充分考虑数据库访问的速度问题。通常可以通过优化数据库、优化 查询语句、分页查询等途径收到明显的效果。即使是这样,也不可避免地会在查询时闪现一个带有 sql符号的沙漏,即鼠标变成了查询等待。最可怜的是用户,他(她)在此时只能无奈地等待。遇到急性子的,干脆在此时尝试 windows中的其它应用程序,结果致使你的数据库应用显示一大片白色的窗口。真是无奈! 本文将以简单的例子告诉......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE