CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

VB的代码谁会写成DELPHI的DLL(源代码)

楼主dongge2000(目前叫西西了)2004-05-01 22:33:38 在 Delphi / VCL组件开发及应用 提问

Public   Declare   Function   GetFileAttributes   Lib   "kernel32"   Alias   "GetFileAttributesA"   (ByVal   lpFileName   As   String)   As   Long  
  Public   Declare   Function   SetFileAttributes   Lib   "kernel32"   Alias   "SetFileAttributesA"   (ByVal   lpFileName   As   String,   ByVal   dwFileAttributes   As   Long)   As   Long  
  Public   Const   FILE_ATTRIBUTE_READONLY   =   &H1  
  Public   Const   FILE_ATTRIBUTE_HIDDEN   =   &H2  
  Public   Const   FILE_ATTRIBUTE_SYSTEM   =   &H4  
   
  Enum   wAtt  
          ReadOnly   =   1  
          Hidden   =   2  
          Readonly_Hidden   =   3  
          System   =   4  
          Hidden_System   =   6  
          R_H_S   =   7  
          All   =   39  
  End   Enum  
   
  Public   Function   File_AttRead(ByVal   PathName   As   String,   ByVal   OutAtt   As   wAtt)   As   Boolean  
          On   Error   Resume   Next  
          If   GetFileAttributes(PathName)   =   -1   Then  
                  File_AttRead   =   False  
                   
          Else  
                  OutAtt   =   GetFileAttributes(PathName)  
          End   If  
  End   Function  
   
  Public   Function   File_AttWirte(ByVal   PathName   As   String,   ByVal   inAtt   As   wAtt)   As   Boolean  
          On   Error   Resume   Next  
          If   GetFileAttributes(PathName)   =   -1   Then  
                  File_AttWirte   =   False  
          Else  
                  SetFileAttributes   PathName,   inAtt  
          End   If  
  End   Function 问题点数:20、回复次数:6Top

1 楼Eastunfail(龍子龍孫) (Serpent's Embrace)回复于 2004-05-01 23:40:04 得分 10

代码本身就有错误,File_AttRead的OutAttr的访问修饰符应该改为ByRef,即传址访问  
   
  而且File_AttWirte写错了,应该是File_AttWrite  
   
  Delphi中有现成的修改和访问文件属性的方法:  
  FileGetAttr和FileSetAttr  
  Top

2 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2004-05-02 00:59:26 得分 10

Delphi的FileGetAttr和FileSetAttr,看Help去  
  Top

3 楼dongge2000(目前叫西西了)回复于 2004-05-02 11:34:50 得分 0

TO:一楼  
        ByVal是为了安全,Wirte是我的个人习惯,不好的习惯!  
  TO:二楼  
        Help我不会看啊,我是自学的,不会英文。可否贴源码啊。Top

4 楼Eastunfail(龍子龍孫) (Serpent's Embrace)回复于 2004-05-02 12:11:35 得分 0

ByVal是传值啊,那样的话你的程序不能正确的得到文件属性啊,因为  
  OutAtt   =   GetFileAttributes(PathName)  
  这里的OutAtt的作用域只在这个函数内,这个式子是没意义的。Top

5 楼tresss(破天惊)回复于 2004-05-02 17:10:43 得分 0

On   Error   Resume   Next  
   
  这一句,在delphi中有解吗??(有相应实现的语句吗?)Top

6 楼Eastunfail(龍子龍孫) (Serpent's Embrace)回复于 2004-05-02 19:16:06 得分 0

On   Error   Resume   Next实际上是个垃圾之举,VB好不容易把Basic从过程化语言提升到基于对象语言的层次,而错误处理却仍然采用史前文明文华遗产,没有引入结构化异常处理机制。  
  Delphi中用try...catch..end或者try...finally....end代替Top

相关问题

  • 有谁会把下面的VB源代码翻译成Delphi的源代码?
  • 关于VB的源代码移植到Delphi
  • 关于VB的源代码移植到Delphi
  • delphi的源代码怎么还没有VB多?delphi到底行不行了
  • VB源代码下载
  • 有没有将dll或exe反编译为vb源代码的工具?
  • 哪里有VB+SQL的源代码
  • 这里有许多VB源代码 wenchen2001.home.sohu.com
  • 这里有许多VB源代码 wenchen2001.home.sohu.com
  • vb如何编写队列?源代码?

关键词

  • outatt
  • getfileattributes
  • pathname
  • watt
  • byval
  • hidden
  • readonly
  • resume next
  • attribute
  • const

得分解答快速导航

  • 帖主:dongge2000
  • Eastunfail
  • ly_liuyang

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo