静态博客入口:http://blog.5d.cn/user8/wwle/
2010-11-02 | 用程序修改NTFS权限
类别(语言类学习笔记) | 评论(0) | 阅读(179) | 发表于 15:59
Windows NT/2K/XP版本的操作系统都支持NTFS格式的文件系统,这是一个有安全性质的文件系统,你可以通过Windows的资源管理器来设置对每个目录和文件的用户访问权限。这里我就不对NTFS的安全性进行讲述了,我默认你对NTFS的文件目录的安全设置有了一定的了解。在这里,我将向你介绍使用Windows的API函数来操纵NTFS的文件权限。       一、       理论和术语     在Windows NT/2K?XP下的对象,不一定是文件系统,还有其它的一些对象,如:进程、命名管道、打印机、网络共享、或是注册表等等,都可以设置用户访问权限。在Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保……
2009-06-26 | Visual FoxPro权威指南
类别(数据库学习笔记) | 评论(0) | 阅读(548) | 发表于 19:07
Visual FoxPro权威指南
http://book.csdn.net/ 2007-6-13 19:24:00
2009-06-26 | Visual FoxPro权威指南
类别(数据库学习笔记) | 评论(0) | 阅读(622) | 发表于 19:04
Visual FoxPro权威指南
http://book.csdn.net/ 2007-6-13 19:24:00
2009-06-26 | VFP9 Bind Event 用法
类别(数据库学习笔记) | 评论(1) | 阅读(456) | 发表于 18:56

 

2009-06-19 | 关于连接 SQL Server
类别(数据库学习笔记) | 评论(0) | 阅读(931) | 发表于 17:10
做了一个测试,突然不行。就找了一下原因。
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=gk;Data Source=(local)

1 WINDOWS系统服务详解 
 
--  WINDOWS系统服务详解
<P>1 Alerter 当系统发生故障时向管理员发送错误警报,除非电脑处于局域网,而且配有网络管理员,一

般不需要。 services.exe 不需要 禁用 
2 Application Layer Gateway Service 提供第三方网络共享/防火墙软件支持的服务,有些防火墙/网络

共享软件需要。占用1.5M内存。 alg.exe 看情况,可选 手动 
3 Application Managerment w

2009-05-20 | Delphi制作托盘分析
类别(语言类学习笔记) | 评论(0) | 阅读(252) | 发表于 17:50
2009-05-03 14:23
系统状态栏图标是指在Windows桌面系统下边的任务栏右边区域内显示的小图标,通常包括时间和输入法,另外,还会包括一些应用程序,如金山词霸或其它一些杀毒软件等的小图标。通常用鼠标右键点击这些小图标时会弹出菜单,通过选择这些菜单可以灵活地实现程序的各项功能。
下面本文以一个具体的例子,详细介绍一下利用Delphi实现系统状态栏图标的步骤和方法。
首先,介绍一下本实例要实现的功能:程序开始运行时会在系统状态栏生成一个小图标,同时会打开应用程序窗口,并在任务栏上显示相应的程序窗口;当用户关闭应用程序窗口时,该窗口和任务栏上相应的应用程序窗口都会消失,但应用程序并没有退出;当用户用鼠标左健单击该图标时,会再次打开应用程序窗口,同时在任务栏上显示应用程序窗口;当用户用鼠标右键单击系统状态栏中应用程序的小图标时,会弹出菜单,选择菜单项“退出”可以完全退出应用程序。
一、 实现步骤
1. 创建一个应用程序,在主窗体上增加一个TpopupMenu组件。并为该弹出菜单组件增加菜单项Exit,标题为“退出”。
2. 在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI函数Shell_NotifyIconA。该函数需要2个参数,其中一个是TnotifyIconDataA结构,需在主窗体中增加TnotifyIconDataA类型全局变量ntida。
3. 定义消息
2009-05-20 | 用Delphi瞬间消除无用托盘图标
类别(语言类学习笔记) | 评论(0) | 阅读(183) | 发表于 17:31
2008-10-05 11:52

用TerminateProcess把一个进程结束后有个问题,就是如果该程序在托盘有图标的话,这个图标并不会在它被结束时也消失。当然你用鼠标从上面移过可以解决这个问题,但本人在用自己的刷新辅助软件“疯狂刷新”的时候,每5分钟结束一次,一天下来如果不动电脑,就会在托盘区生成NNN个死图标,即使你拚命去点,也要点半天才能全部消除。有没有办法一下子搞定它呢?答案是肯定的,在网上搜了很久……

用Delphi编写几行代码搞定。

添加自定义类型,用作判断系统类型,
type
    TOSVersion = (osUnknown, os95, os98, osME, osNT3, osNT4, os2K, osXP, os2K3);

添加自定义函数过程

function GetOS: TOSVersion; //获得系统类型,用来取得托盘句柄
var
    OS: TOSVersionInfo;
begin
    ZeroMemory(@OS, SizeO

2009-05-20 | Delphi托盘类
类别(语言类学习笔记) | 评论(0) | 阅读(650) | 发表于 17:16
Delphi托盘类
2009-05-20 | 托盘 定时器中改图
类别(语言类学习笔记) | 评论(0) | 阅读(85) | 发表于 17:00

托盘实现,你只要在定时器中改图,就可以实现让它动了,就象qq一样。  
  下面是托盘技术  
  一、     实现步骤          
  1.     创建一个应用程序,在主窗体上增加一个TpopupMenu组件。并为该弹出菜单组件增加菜单项Exit,标题为“退出”。          
  2.     在Uses中添加ShellAPI,因为在系统状态栏中增加图标时需调用ShellAPI函数Shell_NotifyIconA。该函数需要2个参数,其中一个是TnotifyIconDataA结构,需在主窗体中增加TnotifyIconDataA类型全局变量ntida。          
  3.     定义消息mousemsg,并编写主窗体的mousemessage消息处理函数,此函数说明在图标上用鼠标左键单击时,会打开应用程序窗口;用鼠标右键单击时,会弹出一个菜单。          
  下面给出步骤2和3的实现代码:          
  unit     Unit1;          
  interface    

2009-05-20 | 如何在托盘图标实现象window开始菜单中菜单左侧的图片效果
类别(语言类学习笔记) | 评论(0) | 阅读(371) | 发表于 16:52

  今日看到一个帖子问:如何在托盘图标实现象window开始菜单中菜单左侧的图片效果。于是自己动手做了一个。
  我的思路是不用菜单,用窗体来实现(我想不仅是delphi其他编程语言应该一样可以)。
  例子中我用到了一个第三方控件:Trayicon用来显示动态托盘图标(下载地址:http://2ccc.com/article.asp?articleid=1985)。请看我如下步骤:
  1.新建立一个project,同时建立两个窗体Form1和iconform。其中第二个用来显示托盘图标菜单。
  2.各放置一个Trayicon、imagelist和Applicationevents控件于Form1上。
  3.加入合适的图标到imagelist,然后在trayicon的属性编辑器中的icon项关联imagelist。(如果你加入了多个图标,你可以把trayicon的animate设置为true,可以看见动态图标,trayicon控件包里有DEMO)
  4.将trayicon的popupmenuon属性设置为imnone;visible设置为true。
  5.在trayicon的mouseup事件中写:
var
  APoint: TPoint;
begin
  GetCursorPos(APoint);
  if (Screen.ActiveForm <> nil) and (Screen.ActiveForm.Handle <> 0) then

2009-04-20 | 关于在浏览器中文件上载的方法与实现
类别(数据库学习笔记) | 评论(0) | 阅读(26) | 发表于 22:42

托盘区就是在windows的状态栏下方显示时钟、输入法状态的地方,

要把你的程序显示在托盘区:
下面是一个托盘类,只要把下面粘贴到文本文件中,改成TrayIcon.pas,使用时uses TrayIcon就可以了。

先声明一个全局变量:
var tray:TTrayNotifyIcon;

然后在窗体的OnCreate事件中:
tray:=TTrayNotifyIcon.Create(self);//将窗体创建为托盘
tray.Icon:=application.Icon;//定义托盘的显示图标
tray.IconVisible:=true;//托盘可见
tray.PopupMenu:=popmenu;//给托盘定义一个右击时的弹出菜单
tray.OnDblClick:=trayDblClick;//给托盘定义一个双击事件(当然要自己写了,不过多数情况只有一行,就是Form1.show);


unit TrayIcon;

interface

uses Windows, SysUtils, Messages, ShellAPI, Classe

关于在浏览器中文件上载的方法与实现

honghoo.net

  关键字: ASP
一、问题引入

  在现在的管理信息系统中,比较先进的都已采用浏览器/服务器的模型,在这种模型中都要涉及到客户端与服务器端的信息交互问题,从服务器端到客户端的信息传递技术已经比较成熟,这里主要讨论从客户端到服务器端的文件上载问题,基于Microsoft的IE4.0、IIS4.0、ASP(Active Server Page)和标准HTML语言。

二、解决方法

  在ASP页面中,利用HTML中的Form元素来实现。
  在Form元素的语法中,EncType表明提交数据的格式,Method表明提交的方法(Get/Post)。在IE4.0 及以后的版本中都支持"multipart/form-data"这种格式,相应的Method方法必须是Post,表明要上载文件到服务器。当然同时在服务器相应的WEB站点上
2009-04-20 | 顶层表单的菜单工具栏
类别(数据库学习笔记) | 评论(0) | 阅读(105) | 发表于 00:04

lujin=left(sys(16),rat('\',sys(16))-1)
SET defa to (lujin)
TopForm=CREATEOBJECT('TopForm')
TopForm.show
on shutdown TopForm.destroy
_screen.windowstate=1
read events
set default to
on shutdown
_screen.windowstate=2
retu

DEFINE CLASS TopForm AS form
 showwindow=2
 DoCreate = .T.
 Caption = "TopForm_Menu_Toolbar"
 width=500
 height=300
 TopToolBar='Toolbar1'
 nActivate=0

 proc QueryUnload
  NODEFAULT
        clear events

 *建菜单
 PROCEDURE Init
  this.oMenu(this

2009-04-19 | myDll之myFll,增强你的VFP[New]
类别(数据库学习笔记) | 评论(1) | 阅读(1373) | 发表于 23:59

函数库说明:myFll是增强VFP的扩展函数库,部分与RMH的myDll中功能相同(名称可能不同)的函数,是由RMH提供的myDll源码改进而来。一些和Win32API名称相同的函数,是在FLL中对Win32API的封装,在VFP中可以直接调用,并可以省略掉一些默认的参数。一些与算法相关的函数,都取自网上开源的代码,帮助中均有注明。

线程函数:部分函数以大写X结尾的函数,均是多线程函数,一般提供多线程的函数都会提供一个单线程的版本。由于线程间通信比较麻烦,均以消息传递的方式通信,因此线程函数需要VFP9以上版本支持(消息绑定)。

版权问题:myFll可以自由使用,任意改名及加壳(发布的这个版本里没有加壳,不过你可以使用upx、aspack之类的加壳),以及自由转发,转发时应注意与帮助文件同时转发。myFll作者不承担可能由于技术原因给你带来的错误或损失。发现错误可以与作者取得联系共同改进。

包含进EXE编译:理论上,FLL文件是可以直接包含进VFP编译的exe文件,此版本的FLL也没有做任何限制。但是,部分函数未经过全面测试,涉及多线程、系统勾子的函数,

使用帮助:myFll发布附带有中文CHM格式帮助,使用示例及参数说明,请查阅帮助。开发环境中可以按如下方式取得部分帮助信息:

取得此版本函数个数:FllHelp()
取得第x个函数的信息:?FllHelp(x)
显示提示信息:?FllHelp(x,.T.)
显示指定函数的信息:FllHelp("SendMessage",.T.)

2009-04-19 | 获得汉字的拼音简码
类别(数据库学习笔记) | 评论(0) | 阅读(121) | 发表于 23:56


获得汉字的拼音简码
本文来源于【梅子论坛临时文章系统】 网站地址:http://www.meizvfp.com/article.asp?id=2



*过程名为pyjm
*调用格式为 JM=pyjm(参数)
*假若是想求表单中文本框TEXT1中的汉字拼音简码,调用方式为JM=pyjm(THISFORM.TEXT1.VALUE)
*变量JM就是所求的拼音简码
PROCEDURE pyjm
PARAMETERS strg
le=LEN(strg)
jm=""
for m=1 to le step 2
mystr=substr(strg,m,2)
If Asc(mystr) > 0
If Asc(Left(mystr,2)) < Asc("啊")
py = Left(mystr,2)
EndIf
If Asc(Left(mystr, 2)) >= Asc("啊") And Asc(Left(mystr, 1)) < Asc("芭")
py = "A"
EndIf
If Asc(Left(mystr, 2)) >= Asc("芭") And Asc(Left(mystr, 1)) < Asc("擦")
py = "B"
EndIf
If Asc(

2009-04-19 | SQL Server连接VFP数据库的实现
类别(网页类学习笔记) | 评论(0) | 阅读(27) | 发表于 23:55

SQL Server连接VFP数据库的实现
本文来源于【梅子论坛临时文章系统】 网站地址:http://www.meizvfp.com/article.asp?id=1
同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。

   本文的测试环境为:

  操作系统: WINDOWS2000 SERVER (繁体系统)

  安装数据库: SQLSERVER2000(英文版)和VFP6.0

  具体实现步骤:

  1. 要求pc机上安装VFP6.0和sqlserver2000软件。

  2. 配置windows的ODBC数据源:

  开始菜单—》程式集—》系统管理工具—》资料数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择MICROSOFT FOXPRO VFP DRIVER(*.DBF)—》在ODBC VISUAL FOXPRO SETUP画面中, 自定义数据源名称(随意如:VFPTEST)—》DATABASE TYPE可以选择VISUAL FOXPRO DATABSE(*.DBC)或者FREE TABLE DIRECTORY(*.DBF如选择这种可以自由的选择目录)—》OK完成。

  配置和测试ODBC完成!

  3. 配置sqlserver2000中的连接服务器:

  企业管理器—》