几道编程visual basic代码大全问题

[前言:]在这个专题中我收集叻一些在Visual visual basic代码大全编程中的常见问题这些问题均来自论坛,本专题以解决实际问题主要目的
  问:VB中如何使用C++类?

  答:把vc的类編译成dll文件这样的话就可以使用,最好是作为组件com来使用

API的方法是一样的,一般在VB的书中有介绍对于上面一个例子,先要声明VC函数:

  问:如何把一个已编译的EXE程序打包到VB中再编译呢

  答:你需要先编写一个程序B,并将其编译为EXE如果你希望今后允许程序A定制程序B的某个文本框,可以先将该文本框的Caption属性设置为“Change Me!Change Me!”之类首先定义好的字符串然后程序A以二进制方式打开程序B,然后在其中查找“Change Me!Change Me!”字符串并将其改变为程序A中设置的文字。但这种方法有几个缺点:

  1、字符串长度有限;

  2、对于VB来说编译后有的中文字符串編译后格式有些办法,不好处理

  也可以采用另一种办法。程序A将设置信息保存在程序B文件的尾部用程序B以二进制方式打开其自己嘚EXE文件,利用Seek命令移动到指定位置读出设置信息如:

  问:如何确定EXE文件的长度的具体数值呢?

  答:先编译程序B看看程序BEXE文件的长度,例如17234然后将上面的20480改为17234,再编译一次程序B

问:关于程序热键公用问题?

  如果两个程序都用到了相同的热键 比如说ctrl+enter 当这2個程序同时运行起来的时候怎么才能让只有一个程序接受热键,换句话说就是谁在前台(前面 激活状态)谁就使用这个热键谁在后台 戓者最小化等非激活状态 那么就不使用这个热键! 怎么能做到呢?

  问:在用二进制binary,写入一个字串时(比如"你好")后如何用get读出来?

  答:在VB读和写有专用的语法或者直接使用FSO,如:

读的话类同用line input读出来就可以了。

  问:怎样让Listbox中的滚动条的颜色与Listbox的背景颜色一致

  答:其实要看每个控件是否可以设置颜色,一般检查一下控件的backcorlorforecolor属性就可以了有的话,自己设置吧

  问:怎么让form时刻处于朂上方,formName.show不能做到这一点?
  问:定义在类中的ProcedureFunction有什么区别 他们是不是都可以单独存在?

  答:procedure是声明一个过程,没有返回值.

  function是声奣一个函数,有返回值的.

  问:VB中在textbox中查找单个的字符或字符串有什么好方法?

  i 的值就是在textBox中找到的字符串"78"的第一次出现的位置.

问: 怎樣判断程序是否在运行,如果运行怎样关闭他呢
  问:如何用vb实现真正的多线程而不是多进程?

  答:1.最好把代码放在Active Dll里编译时使用p代码方式,至少要装vbsp3以上

    2.线程函数里不能有VB的内置函数,比如left,trim

  问:局域网点对点传输如何数据加密?怎样实现

  答:在text1中输入你要加密的数据(16进制)

  问:如何实现鼠标取词?

'所要用到的函数、常量、类型

' 代码就是这么简单你好好研究一下吧。

  根据代码加入相应控件timer1interval的属性为100再加入把当前窗口置顶就是一个完美的简单的取词工具了!

  答:在DLL里定义时应该用指针作參数,在VB里面只要把结构变量定义成 Long 类型就可以了,调用的时候传入地址就是在调用的时候,在参数前面加

: 如何可以在VB中实现对整個系统鼠标和键盘的屏蔽

  答:我们常见一些导览系统或教学系统会自动移动MouseKeyin字,而那个时候我们不管Keyin或动Mouse都没有效,直到完成叻导览系统的某个动作後才让使用者可以移动Mouse与做Keyin的动作;想做到这个要借重JournalPlayBack

Hook,它们作用范围是整个System也就是挂上这个Hook後,影响的层面鈈单是这个Process而是有的Process,而这两Hook又不用写在Dll之中所以很好用。

  首先我们要知道由键盘和Mouse输入等的硬体讯息会存到一个System Queue而後OS会该System Hook时,当有讯息被撷取出来时会先执行他们所设定的Hook Function(vb中,一定要放在.BAS档之中)这可以做什麽事呢?

  例如我们可以Check整个系统是否有按了鍵盘或有没有移动Mouse(一般来说KeyUp,KeyDown, hook後,执行Hookthread便能收到所有这些讯息)再如,它既然能收到KeyboardMouse的讯息那便可以将收到的讯息记录起来(记录於MemoryDisk都可以),之後再依方才的顺序重新将讯息放送出来可重新执行方才的动作(这不就是巨集的作法吗),或许它叫JournalRecord便是这个原因再来便是播放记录讯息的问题了,如果一面播放一面有其他讯息插队(如移动Mouse),那就不对了所以JournalPlayBack这个Hook它会让MouseKeyboard都失效,当OS 要求读System Queue时便会启动这個Hook,就在此时我们可以把方才记录起来的讯息丢出一个出来,OS再要求读System Queue时再丢下一个讯息,如此达重播的效果(所以才叫JournalPlayBack)正因它会让鍵盘、Mouse失效,拿它来做导览、教学系统的自动Move Mouse或文字显示是最适合的了

  Mouse的自动导引系统制作方式,可叁考如何自动移动Mouse

  问:如哬把picture控件中图形数据写成“流”

  上传图片或显示SWF的时候都希望得到它的高度和宽度,基本原理使用Adodb.Stream读二进制文件然后进行解析然後返回一数组:

  第二个元素为宽度{width}

  第三个元素为高度{height}

是一个非常优秀的报表制作软件,用VBA可以控制其生成优秀的报表本文通过添加查询语句的方法,即用Excel中的获取外部数据的功能将数据很快地从一个查询语句中捕获到EXCEL,比起往每个CELL里写数据的方法提高许多倍

'添加查询语句,导入EXCEL数据

问题二: vb中从域名得到IP及从IP得到域名
问题三: 怎么把图片加入到数据库里面

问题四:VB6.0中如何快速实现大面积不规则区域嘚填充

区域填充是指先将区域内的一个像素 一般称为种子点赋予给定的颜色和辉亮,然后将该颜色扩展到整个区域内的过程

?已有的填充算法及缺点

扫描线法可以实现已知多边形域边界的填充,多边形域可以是凹的、凸的、还可以是带孔的该填充方法是按扫描线的顺序,计算扫描线与待填充区域的相交区间再用要求的颜色显示这些区间的像素,即完成填充工作这里区间的端点通过计算扫描线与多邊形边界线的交点获得。所以待填充区域的边界线必须事先知道因此它的缺点是无法实现对未知边界的区域填充。

边填充的基本思想是:对于每一条扫描线和每条多边形边的交点将该扫描线上交点右方的所有像素取补。对多边形的每条边作些处理多边形的顺序随意。該算法适用于具有帧缓冲器的图形系统按任意顺序处理多边形的边。处理每条边时仅访问与该边有交的扫描线上交点右方的像素。所囿的边都被处理之后按扫描线顺序读出帧缓冲器的内容,送入显示设备该算法的优点是简单,缺点是对于复杂图形每一像素可能被訪问多次,重要的是必须事先知道待填充多边形的边界所以在填充未知边界的区域时不适用。

递归算法的优点是编程实现时语言简洁。但在VB6.0实际编程实现时这种递归算法填充稍稍大一些的图形就会出现堆栈溢出现象,据我们的实践证明递归算法只能连续递归深度在2090佽左右,也就是说如果待填充的图形大于二千多个像素那么堆栈溢出。下面给出八连通填充方法的VB程序实现(四连通算法同理)

本算法采鼡两个队列(FIFOfilledunfilled来实现区域填充。设计步骤如下:

1 找出该区域内部任意一点作为填充种子。

2 填充该点,并把该点存入队列filled

按逆时針,判断该点的上、右、下、左邻像素是否在filled队列内如果在filled,说明该相邻点已填充若不在filled队列内,则判断该相邻点在未填充队列unfilled如果不在则将该相邻点存入unfilled

4 判断未填充队列是否为空若不空,则从队列unfilled中取出头元素转向第三步。若为空则表示已完成所有像素填充结束程序。

本算法定义的队列突破了递归算法中受堆栈空间大小的限制的束缚因为它直接占用内存空间,与堆栈大小无关以下源程序在Window 2000环境下用VB6.0编程实现。

建立如图所示标准窗体并画上控件-2CommandButton控件和一个PictureBox控件,调整大小,并设置控件的属性

Xx = x '选择并记录种子点的位置

本算法实现了在对填充区域的形状、大小均未知的情况下,以种子点开始向四周对该区域进行“扩散式”的填充本算法解决了传统的递归算法在填充较大区域时(本例中填充区约9800Pixels)堆栈溢出的缺点。我们的实验结果显示本算法就填充区域大小和运算速度而言,都远远超过叻传统的递归算法

问题五:如何获取打印机纸张信息?

'* 功能:得到打印机低张信息

问题七:如何识别操作系统版本
问题八: 如何实现遍曆文件夹中的所有文件

' 把当前文件夹路径下的所有文件入到listview

问题九:  如何让你的程序在任务列表隐藏
问题十:如何计算出本月的最后一天

首先为下个月的第一天生成一个顺序数值,然后再减去一天

我要回帖

更多关于 visual basic代码大全 的文章

 

随机推荐