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

📄 9933.txt

📁 关于编程技术技巧的文章
💻 TXT
📖 第 1 页 / 共 4 页
字号:
================================================================

                           《编 程 技 术》

                 一份属于广大编程爱好者的电子杂志

               这是一份完全关于探讨编程的免费电子杂志
               您可以任意传播本刊,但必须保持它的完整
              本刊承诺绝不向订户发送任何形式的垃圾邮件!
================================================================
              第33期 99/11/23          本期发送数: 5825 
================================================================

◆本期栏目◆
 *刊首语*
 *友情推荐*
    【终·极·指·南】免费电脑网络杂志
 *网友作品*
    UniView 1.2
    《户籍管理1.8》
    201电话卡密码破解程序
    座位表
    挑战者II(小游戏) (新)
 *技术文档*
    Dephi:使用TStream读写数据的技巧
    Delphi显示Windows图标
    如何在C++ Builder中显示透明位图
    PB中一个类Word打印对话框的实现
    自制《仙剑》简体中文版
    用asp建立BBS站 
 *下载专区*
    4个ActiveX控件下载
 *有问必答*

****************************************************************
****************************************************************

◆刊首语◆
    
    由于本人学校考试缘故,本期刊物延迟了两天发送。希望大家没有等
急。 

****************************************************************
****************************************************************

◆友情推荐◆
    
【终·极·指·南】免费电脑网络杂志
 刊物介绍:
【IT新闻】:搜索IT界重大新闻。
【复活节彩蛋】:向你介绍各种软件、电影及游戏等鲜为人知的小秘密。 
【技巧园地】:奉送流行软件的使用技巧。 
【工具锦囊】:向你介绍最新的好用的软件。 
【网络快递】:各种免费资源快速提供。 
【交流天地】:提供完全自由的主页介绍、交友、问答的空间。   
 本刊物订阅方法:
 在线订阅:
 http://ponlines.my169.com/ 或 http://rondec.126.com/
 E-MAIL订阅:
 majordomo@ms1.e-lists.com.cn 正文为subscribe ultimateguide

****************************************************************
****************************************************************

◆网友作品◆

006.
名称:UniView
版本:1.2
作者:chcw
Email: chcw@163.net
主页: 无
运行平台: Windows95&98
性质:免费软件
下载地址: http://www.newhua.com/down/UniView.zip (523KB)
功能简介:
UniView是功能强大的图片浏览器,它能对多种常见格式的图像文件进行浏
览和格式转换.
主要特点:
1.支持的图像格式: 
UniView可以读入以下图象格式文件: 
*.UFO(加密漫画文件格式,UniView无须口令,即可读入该种格式文件), 
*.AFI,*.VST, *.TGA, *.PNG, *.PCC, *.PCX, *.TIFF(包括多页TIFF文件), 
*.TIF, *.JPG, *.JPEG, *.BMP, *.GIF(包括动画GIF文件), *.WMF, *.EMF, 
*.ICO, *.FIF, *.PBM, *.PGM, *.PPM, *.MAC, *.IMG,*.PCD
UniView可以将读入的图象文件转化为以下格式: 
*.BMP, *.GIF, *.JPG, *.TIF, *.PCX, *.PNG, *.EMF, *.TGA. (以及将动
画GIF文件转换为*.AVI格式)
2.显示图像前对图像进行抖动预处理, 使图像得到优化的显示. 
3.支持对图像进行缩放, 旋转, 自动调整大小, 全屏幕显示, 手工滚动, 
打印等操作.
4. 支持对图片进行正向、逆向和随机方式的幻灯浏览.
5. 支持将图片以平铺、居中或拉伸方式设置为墙纸.	
6.支持文件的Drag & Drop(拖放)操作. 
7.支持对图像文件进行批量格式转换. 
8.支持对图像文件格式进行关联; 动态调整屏幕显示模式等操作. 

007.
软件名称:《户籍管理1.8》
下载地址:http://xf-bbs.hb.cninfo.net/~xcsoft/down/hjgl.zip
主页地址:http://xcsoft.yeah.net
硬件要求:386以上
内存:1M
硬盘:2M空间
运行平台:DOS或WIN95/98下的MS-DOS
支持的汉字平台:UCDOS等汉字平台或WIN95/98的PDOS95
软件性质:共享软件
软件介绍:
村务管理之户藉管理是村居管理户口的好软件!
一个非常适和村居基层单位部门使用的户口管理软件,
从此再也不必为查户口,登记户口烦恼了!!!

008.
201电话卡密码破解程序 201craker ( 严禁将本程序用于非法目的 )  
下载地址:
201电话卡密码破解程序 Ver1.1  68k  
http://www.zg169.net/~jamesxia/201c11.zip
201电话卡密码破解程序 Ver1.1 源程序  21k  
http://www.zg169.net/~jamesxia/201c11s.zip
主页地址: http://jamesxia.yeah.net
201电话卡是中国电信在各大城市发行的一种有帐号、密码及一定面额的电
话卡,可以在任何一部音频电话上拨打。主要用于各大城市的大学中!
201craker的作用就是测试201电话卡的密码。 
特点:  
1、全中文界面  
2、各项设置完全,全面适应各地不同的拨号方法。  
3、支持1~9位密码, 密码不足6位时加“#”。  
4、受到201电话卡拨号的限制,每测试一个密码约需要20秒左右的时间,
破解一个4位的密码需要50个小时左右。
5、本软件是自由软件,你可以自由传播本软件及修改源程序,但严禁将本
程序用于非法目的。  
6、本软件将不定期进行升级,欢迎访问我的主页。  

009.
名称:座位表
版本:无
作者:麦杰
e-mail:maijie@soim.net
主页:无
运行平台:windows95/98
性质:自由软件
下载方法:e-mail联系
功能简介:全国统一的’保险代理人员资格考试‘由广播电视大学系统组
织考试,使用’保险代理人员资格考试管理系统‘处理考员信息及安排考
试工作,但该软件缺少打印座位表的功能,本人用vfp5中文版编写了打印
座位表的小软件,能打印考室座位表,经用广西全区1999第二次’资格考
试‘的数据调试,所打印出来的座位表中的准考证号码及相应的姓名与用’
管理系统‘中的’打印考室人员清单‘中的清单完全一致。

010.
1.名 称:挑战者II(小游戏) (VB 6.0 开发)
2.连接地址:http://topgold.163.net/game1.zip 
作者邮箱: coolblue@china.com
作者主页: http://topgold.163.net
  

您自己开发过软件吗? 您有自己满意的作品吗? 您希望发布推广您的作品
吗? 本刊竭诚为您提供宣传空间。有意的朋友请把您的作品介绍以及下载
地址、您的网址、联系方法等相关信息发给我(具体格式请参照上面)。
本刊免费为您宣传三期。如有疑问可以与我联系。
我的信箱: yaozheng@kali.com.cn

****************************************************************
****************************************************************

◆技术文档◆
     
              Dephi:使用TStream读写数据的技巧 

                       作者: 张堂辉

---- 在Dephi中提供了一个抽象的数据类型TStream来支持对流式数据的操
作。这些数据通常来自文件、数据库、内存对象、OLE对象等,TStream提
供了统一、简洁的方法来进行数据的读写。在通常情况下,我们并不需要
直接使用TStream类,对流式数据的读写封装在VCL控件的方法中。但是如
果这些方法无法满足我们的要求,就需要自己手动控制数据的读写。 

一、 TStream的常用的方法和属性: 

----1.function Read(var Buffer; Count: Longint): Longint; virtual; abstract 
----2.function Write(const Buffer; Count: Longint): Longint; virtual; abstract; 
----3.function Seek(Offset: Longint; Origin: Word): Longint; virtual; abstract; 
----4.property Position: Longint; 
----5.property Size: Longint 

---- Read,Write,Seek都是纯虚函数,提供了数据读写和定位的抽象的
方法。Read方法将数据从Stream中读到Buffer缓冲区中,Write则实现相反
的操作,返回值表示实际读写数据的大小。Seek提供了在Stream中移动数
据指针的方法。参数Origin可以取soFromBeginning,soFromCurrent,
soFromEnd 三个值,Offset是偏移量,返回值是当前Stream数据指针的位置。 

---- Position表示了数据指针在Stream中的位置。这个属性是可读写的,
它实际上就是通过调用Seek方法实现的,所以实际使用时使用这个属性更
为方便一些。Size属性表示当前Stream的大小,对于不同的Stream,有些
时候是只读的。 

二、 Stream数据的读写。 
  
---- 1. SaveToStream(Stream: TStream ); //将类中的数据写到Stream的当前位置中 
---- 2. LoadFromStream(Stream: TStream); //从当前位置读入Stream里的数据 
---- 实际使用时我们基本上只要使用上面两个函数就可以了。 

三、 例子 

---- TStream的继承树图如图1所示(略),实际使用时比较常用的是TFileStream,
TMemoryStream,TblobStream,就以这三种流举一例说明具体用法。 

---- 创建一个窗体Form1,放置三个按钮btnRead,btnInvert,btnSave
和一个文件打开对话框OpenDialog1以及数据控件DataSource1,Table1,
test. 

---- 使用Dephi提供的Database Desktop创建一个表test,表里有一个
字段域Image,数据库文件名存为test.db。在窗体上放置一个TDatabase
控件dbTest,一个TTable控件Table1,一个DataSource控件DataSource1,
一个TDBNavigator控件DBNavigator1。将dbTest与刚才Desktop创建的数
据库相连,Table1的TableName属性设为test.db,DataSource1的DataSet
属性设为Table1,DBNavigator1的DataSource属性设为DataSource1,
VisibleButtons属性前四个设为TRUE。此外,将dbtest的Connected设为
TRUE,Table1的Active属性设为TRUE,使得数据库一开始就处于打开状态。 

---- 事件代码编写如下: 

---- 1. btnRead的Click事件,这里演示了TFileStream的用法。 

var 
MS: TFileStream; 
begin 
if OpenDialog1.Execute then 
begin 
MS:=TFileStream.Create 
(OpenDialog1.FileName, fmOpenRead); 
Image1.Picture.Bitmap.LoadFromStream(MS); 
MS.Free; 
end; 
end; 
  

---- 2. btnInvert的Click事件,这里演示了TMemoryStream的用法。其
中使用了Invert函数,这是一个简单的将图象反色的函数(仅对真彩图象
有效),它返回一个指向处理过的图象数据块的指针。 

var 
M 
S: TMemoryStream; 
pImage: pointer; 
begin 
MS:=TMemoryStream.create; 
Image1.Picture.Bitmap.SaveToStream(MS); 
MS.Position:=0; 
pImage:=Invert(MS.Memory, MS.size); 
//Memory属性是指向实际内存块的指针 
MS.Write(pImage^,MS.size); 
MS.Position:=0; 
//上一行代码使指针移到了Stream末尾,所以要复位 
Image1.Picture.Bitmap.LoadFromStream(MS); 
FreeMem(pImage); 
MS.Free; 
end; 

Invert函数如下: 
function TForm1.Invert 
(pImage: pointer; size: Integer): pointer; 
var 
pData, pMem: PChar; 
i: Integer; 
begin 
pMem:=AllocMem(size); 
CopyMemory(pMem,pImage,size); 
pData:=pMem+54; 
for i:=0 to size-54-1 do 
begin 
pData^:=Char(not integer(pData^)); 
pData:=pData+1; 
end; 
Result:=pMem; 
end; 

---- 1. btnSave的Click事件,这里演示了TMemoryStream的另一种用法,
将Stream中的数据写到数据库中去。 

var 
MS: TMemoryStream; 
begin 
MS:=TMemoryStream.create; 
Image1.Picture.Bitmap.SaveToStream(MS); 
MS.Position:=0; 
Table1.Append; 
//在数据库中添加一条记录 
TBlobField(Table1.FieldbyName 
('image')).LoadFromStream(MS); 
Table1.Post; 
//将所作的更新写入数据库 
end; 

---- 4. DBNavigator1的Click事件,这里演示了TBlobStream的用法,使
用了和写入时不同的方法来读出数据库的图象数据。 

var 
MS: TStream; 
begin 
with Table1 do 
MS:=CreateBlobStream 
(FieldbyName('image'),bmRead); 
Image1.Picture.Bitmap. 
LoadFromStream(MS); 
MS.Free; 
end; 

⌨️ 快捷键说明

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