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

📄 bcjq040.txt

📁 c++ builder 的一些txt文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:

C++ Builder开发者:程序员之家
var how_many_ads = 3;
var now = new Date()
var sec = now.getSeconds()
var ad = sec % how_many_ads;
ad +=1;
 
  
  
    
      
        
          
            首页   
              | 控件天堂 | 控件使用                   
              | 编程技巧                    
              |  源代码 |  编程工具 |        
               系统补丁 |  电子书籍 | 技术论坛                    
              |  相关链接                 
                           
                         
                       
                     
                     
                       
                         
                           
                             
                           
                 
       if (ad==1) {document.write(''+'');}               
       if (ad==2) {document.write(''+'');}               
       if (ad==3) {document.write(''+'');}               
                              
                           
                        
                                    
                        
                      
                    
                  
                  
                    
                      
                        
                          
                       
                     
var marqueecontents=''+scroll_text+''           
if (document.all)           
document.write(''+marqueecontents+'')           
function regenerate(){           
window.location.reload()           
}           
function regenerate2(){           
if (document.layers){           
setTimeout("window.onresize=regenerate",450)           
intializemarquee()           
}           
}           
function intializemarquee(){           
document.cmarquee01.document.cmarquee02.document.write(marqueecontents)           
document.cmarquee01.document.cmarquee02.document.close()           
thelength=document.cmarquee01.document.cmarquee02.document.height           
scrollit()           
}           
function scrollit(){           
if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){           
document.cmarquee01.document.cmarquee02.top-=speed           
setTimeout("scrollit()",100)           
}           
else{           
document.cmarquee01.document.cmarquee02.top=marqueeheight           
scrollit()           
}           
}           
window.onload=regenerate2           
                       
                         
                       
                     
                   
                 
                 
                   
                     
                       
                         
                           
                             
                               
                  当前位置
    
    
                    编程技巧            
                            
                          
                        
                        
                        
                          
                            
                              
                    CBUILDER中相关流对象的讨论        
                          
                    
                      
                        
                          
                          第一章  
            概述
 
            
 
            在CBUILDER中,存在以下几种流对象:
 
            TFileStream
 
            TMemoryStream
 
            TStringStream
 
            TWinSocketStream
 
            TBlobStream
 
            TOleStream
 
            TClientBlobStream
 
            TResourceStream
 
            
 
            第二章 流对象的属性及方法简介
 
            
 
            关于各属性和方法的详细语法请见CBUILDER的帮助
 
            
 
            一. TStream介绍
 
            属性
 
            Position:当前位置指针
 
            Size:流的大小,单位为字节
 
            方法
 
            CopyFrom:从一个流往另一个流拷贝数据
 
            Read:从流中读取一定字节的数据到缓冲区,返回读取的字节数
 
            ReadBuffer:从流中读取一定字节的数据到缓冲区,如不正确则异常
 
            ReadComponent:从流中取出一个组件
 
            ReadComponentRes:以Windows的资源文件格式从流中读取一组件
 
            Seek:定位流的当前位置指针
 
            SetSize:设置流的大小。
 
            Write:从缓冲区中将一定字节的数据写入到流中,返回写入的字节数
 
            WriteBuffer:从缓冲区中将一定字节的数据写入到流中,失败则异常
 
            WriteComponent:将一组件写入到流中
 
            WriteComponentRes:将一组件以Windows资源文件的格式写入到流中
 
            
 
            注意:不能直接建立一个TStream类型的流对象
 
            
 
            二. THandleStream介绍
 
            属性
 
            Handle:流对象要读写的通迅资源的句柄
 
            Size:句柄所标识的资源的大小,单位为字节
 
            方法
 
            Read:从流中读数据到缓冲区中
 
            Seek:设置流的当前位置
 
            SetSize:设置流的大小,不成功则返回一个异常
 
            THandleStream:通过一个打开的句柄建立一个句柄流对象
 
            Write:将数据从缓冲区中写入到流
 
            可以使用THandleStream流对象来存取如文件、套接字、命名管道、邮槽等打开了句柄的通迅资源。下面是一个使用句柄流对象进行文件操作的片段代码:
 
            将c:\config.sys文件中的内容读入到一个文本框中
 
            int fileHandle;
 
            THandleStream *fileStream;
 
            
 
            fileHandle = FileOpen(“c:\\config.sys”,fmOpenRead);
 
            if(fileHandle == -1) return ; //打开文件出错
 
            
 
            fileStream = new THandleStream(fileHandle);
 
            
 
            char buffer[10001];
 
            unsigned long bufferSize;
 
            do
 
            {
 
            bufferSize = fileStream->Read(buffer, 10000);
 
            if (bufferSize > 0 )
 
            {
 
            buffer[bufferSize] = 0;
 
            Memo1->Text += buffer;
 
            }
 
            }while( bufferSize == 10000 );
 
            
 
            delete fileStream;
 
            FileClose(fileHandle); //请注意一定要先注销流对象才能关闭句柄
 
            
 
            
 
            三. TCustomMemoryStream介绍
 
            属性
 
            Memory:指向内存流对象的实际内存的指针,可用该指针直接访问内存流的内存
 
            方法
 
            Read:从流中读数据到缓冲区中
 
            SaveToFile:将内存流中的数据保存到文件中
 
            SaveToStream:将内存流中的数据保存到其它流对象中
 
            Seek:设置流对象的当前位置
 
            SetPointer:设置与内存流对象相关联的内存池
 
            
 
            注意:该类为纯虚类,不能直接建立其对象。应使用TMemoryStream或是TResourceStream。
 
            
 
            四. TWinSocketStream介绍
 
            属性
 
            TimeOut:设置在读或写Socket时的超时值,单位:毫秒
 
            方法
 
            Read:从Socket中读取指定字节的数据到缓冲区中,返回实际读取的字节数
 
            Seek:没有意义
 
            TWinSocketStream:根据指定的Socket句柄和超时时间建立一个Socket流对象
 
            WaitForData:确认是否可以通过Socket连接来发送或接收数据了。
 
            Write:通过Socket连接发送缓冲区中指定字节的数据
 
            
 
            TWinSocketStream流对象用来在阻塞方式的Socket连接中发送和接收数据,从而避免一般情况下的挂起现象。下面是一个用TWinSocketStream进行收发数据的代码片段:
 
            在一单独的线程中通过阻塞式Socket连接发送数据
 
            void __fastcall TMyClientThread::Execute()
 
            {
 
            TWinSocketStream *pStream = new  
            TWinSocketStream(ClientSocket1->Socket, 60000);
 
            try
 
            {
 
            while (!Terminated && ClientSocket1->Active)
 
            {
 

⌨️ 快捷键说明

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