vb中如何vb控制台输出字符串紧密输出

&&&&Vb输出简单的字符图形
&Vb输出简单的字符图形
摘要:VB源码,字符处理,字符图形
  用简单的Print方法输出一个简单的VB字符图形,记得在学习Basic的时候,经常会遇到这种作业题。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
开发技术下载排行
积分不够下载该资源
如何快速获得积分?
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
Vb输出简单的字符图形
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
VIP服务公告:VB中怎样将一串字母逆序输出_百度知道
VB中怎样将一串字母逆序输出
VB使用StrReverse函数来实现将一串字母逆序。StrReverse函数,返回一个字符串,其中一个指定子字符串的字符顺序是反向的。语法StrReverse(string1)参数string1是一个字符串,它的字符顺序要被反向。如果string1是一个长度为零的字符串(&&),则返回一个长度为零的字符串。如果string1为Null,则产生一个错误。代码示例:Private&Sub&Form_Click()&&&&Debug.Print&StrReverse(&VB中怎样将一串字母逆序输出&)End&Sub
其他类似问题
为您推荐:
提问者采纳
strreverse
字母的相关知识
其他2条回答
用 StrReverse(r)函数。
a=inputbox(&请输入字符串&)for i=len(a) to 1 step -1print mid(a,i,1);next
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VBGood网站全文搜索
搜索VBGood全站网页(全文搜索)
- 如何在VB中截获shell程序的输出
(0)作者:不详, 平台:VB6.0+Win98, 阅读:10311, 日期:
如何在VB中截获shell程序的输出上海中山西路450号1105室 邱文宇 编译 在Windows环境下的所谓shell程序就是dos命令行程序,比如VC的CL.exe命令行编译器,JDK的javac编译器,启动java程序用的java.exe都是标准的shell程序。截获一个shell程序的输出是很有用的,比如说您可以自己编写一个IDE(集成开发环境),当用户发出编译指令时候,你可以在后台启动shell 调用编译器并截获它们的输出,对这些输出信息进行分析后在更为友好的用户界面上显示出来。为了方便起见,我们用VB作为本文的演示语言。
通常,系统启动Shell程序时缺省给定了3个I/O信道,标准输入(stdin), 标准输出stdout, 标准错误输出stderr。之所以这么区分是因为在早期的计算机系统如PDP-11的一些限制。那时没有GUI, 将输出分为stdout,stderr可以避免程序的调试信息和正常输出的信息混杂在一起。
通常, shell程序把它们的输出写入标准输出管道(stdout)、把出错信息写入标准错误管道(stderr)。缺省情况下,系统将管道的输出直接送到屏幕,这样一来我们就能看到应用程序运行结果了。
为了捕获一个标准控制台应用程序的输出,我们必须把standOutput和standError管道输出重定向到我们自定义的管道。
下面的代码可以启动一个shell程序,并将其输出截获。 注释:执行并返回一个命令行程序(shell程序)的标准输出和标准错误输出注释:通常命令行程序的所有输出都直接送到屏幕上Private Function ExecuteApp(sCmdline As String) As String Dim proc As PROCESS_INFORMATION, ret As Long Dim start As STARTUPINFO Dim sa As SECURITY_ATTRIBUTES Dim hReadPipe As Long 注释:负责读取的管道 Dim hWritePipe As Long 注释:负责Shell程序的标准输出和标准错误输出的管道 Dim sOutput As String 注释:放返回的数据 Dim lngBytesRead As Long, sBuffer As String * 256 sa.nLength = Len(sa) sa.bInheritHandle = True ret = CreatePipe(hReadPipe, hWritePipe, sa, 0) If ret = 0 Then MsgBox &CreatePipe failed. Error: & & Err.LastDllError Exit Function End If start.cb = Len(start) start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW注释: 把标准输出和标准错误输出重定向到同一个管道中去。start.hStdOutput = hWritePipe start.hStdError = hWritePipe start.wShowWindow = SW_HIDE ’隐含shell程序窗口 注释: 启动shell程序, sCmdLine指明执行的路径 ret = CreateProcessA(0&, sCmdline, sa, sa, True, NORMAL_PRIORITY_CLASS, _ 0&, 0&, start, proc) If ret = 0 Then MsgBox &无法建立新进程,错误码:& & Err.LastDllError Exit Function End If 注释: 本例中不必向shell程序送信息,因此可以先关闭hWritePipe CloseHandle hWritePipe 注释: 循环读取shell程序的输出,每次读取256个字节。 Do ret = ReadFile(hReadPipe, sBuffer, 256, lngBytesRead, 0&) sOutput = sOutput & Left$(sBuffer, lngBytesRead) Loop While ret && 0 注释: 如果ret=0代表没有更多的信息需要读取了 注释: 释放相关资源 CloseHandle proc.hProcess CloseHandle proc.hThread CloseHandle hReadPipe ExecuteApp = sOutput 注释: 输出结果End Function
我对这个程序进行一些解释。
ret = CreatePipe(hReadPipe, hWritePipe, sa, 0)
大家可以看到,首先我们建立一个匿名管道。该匿名管道稍候将用来取得与被截获的应用程序的联系。其中hReadPipe用来获取shell程序的输出,而hWritePipe可以用来向应用程序发送信息。如同现实世界中的水管一样,水从管道的一端流进从另一端流出。您把水想象为信息,水管就是匿名管道,这样一来就很好理解这段程序了。 然后就是设置shell应用程序的初始属性。 Dwflags可以指示系统在创建新进程时新进程使用了自定义的wShowWindow, hStdInput,hStdOutput和hStdError。(windows显示属性,标准输入,标准输出,标准错误输出。) 再把shell应用程序的标准输出和标准错误输出都定向到我们预先建好的管道中。 代码如下:
start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW start.hStdOutput = hWritePipe start.hStdError = hWritePipe 好,现在可以调用建立新进程的函数了: ret = CreateProcessA(0&, sCmdline, sa, sa, True, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) 然后,循环读管道里的数据直到无数据可读为止。&&Do ret = ReadFile(hReadPipe, sBuffer, 256, lngBytesRead, 0&) 注释:每次读256字节 sOutput = sOutput & Left$(sBuffer, lngBytesRead) 注释:送入一个字符串中 Loop While ret && 0 注释:若 ret = 0 表明没有数据等待读取。 然后,释放不用的资源。
用法很简单:比如: MsgBox ExecuteApp(&c:\windows\command\mem.exe)&& 是很方便吧? 不过,这些程序是在NT下的,如果要在95下实现还需要一点点改动。因为如果该函数调用一个纯win32的程序,没问题。可是95是16,win32混合的系统,当你试图调用一个16位的DOS应用程序那么,那么这个办法会导致相关进程挂起。因为这涉及到WindowsNT和Windows 95对shell的不同实现。 在win95中,16位shell程序关闭时并不保证重定向的管道也关闭,这样,当你的程序试图读取一个已经关闭的shell程序的重定向管道时,你的程序就挂了。 那么,有解决办法吗?回答是肯定的。 解决办法就是用一个win32的应用程序作为您的应用程序和shell程序的中间人。中间人程序继承并重定向了主程序的输入输出,然后中间人程序启动指定的shell程序。该shell程序也就继承并重定向了主程序的输入输出。中间人程序一直等到shell程序结束才结束。 当shell程序结束时,中间人程序也结束,同时因为中间人程序是一个win32程序,那么它就会关闭相应的重定向了管道。这样,你的程序可以发现管道已经关闭,便可以跳出循环。你的程序就不会挂起了。 下面是相关的中间人程序C代码的实现:
#include &windows.h&#include &stdio.h&void main (int argc, char *argv[]){ BOOL bRet = FALSE; STARTUPINFO si = {0}; PROCESS_INFORMATION pi = {0}; // Make child process use this app注释:s standard files. si.cb = sizeof(si); si.dwFlags = STARTF_USESTDHANDLES; si.hStdInput = GetStdHandle (STD_INPUT_HANDLE); si.hStdOutput = GetStdHandle (STD_OUTPUT_HANDLE); si.hStdError = GetStdHandle (STD_ERROR_HANDLE); bRet = CreateProcess (NULL, argv[1], NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi ); if (bRet) { WaitForSingleObject (pi.hProcess, INFINITE); CloseHandle (pi.hProcess); CloseHandle (pi.hThread); }} 把该程序编译为conspawn.exe并放在系统可以调用到的路径目录中。 然后把文章开头提到的代码中的CreateProcessA语句改为: ret = CreateProcessA(0&, &conspawn &&& & sCmdline & &&&&, sa, sa, True, NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc) 好,这样一来,我们这个函数可以同时很好的支持WindowsNT和Windows95/98了。
VBGood RSS 订阅
每周超过200个关于VB编程的精彩新话题,现在就订阅吧!限制VB中字符串输入长度
对字符串输入长度的限制本是再简单不过的事情,VB中文本输入控件的属性MaxLength就是用来限制字符串输入的最大长度的,只需设一下该属性的值即可,但问题出在VB的字符串长度函数Len上。与其他语言不同的是,VB的函数Len将一个汉字的长度看作是1,而不是实际上的2,一个汉字和一个西文字符一样被当作一个整体处理。而VB的另一个长度函数LenB将一个汉字和一个西文字符的长度都看作是2,因而事实上通过VB的字符串长度函数无法得到一个汉字和西文字符混合而成的字符串的确切长度。文本输入控件的MaxLength属性因之也无法有效控制输入字符串的长度,如将MaxLength设置为10,在字符串输入长度检查时,对下述几个字符串都认为是刚好达到允许输入的最大长度:01/01/1998南京大学计算机科学系南京汉口路22号-1这一缺陷在数据库应用软件的编制中造成很大麻烦,因为数据库应用软件中,数据录入、修改、维护是必不可少的,而数据库中的字段多是有...&
(本文共2页)
权威出处:
在许多情况下,VB程序员都想截获Windows系统发来的消息自己进行处理,因为VB系统本身提供的事件机制并不能满足要求。发消息可以很容易用Win?dowsAPI完成,但是收...&
(本文共1页)
权威出处:
RealizingWord、SoundandPictureSynchrinismofMultimediaProgramwithVBCuiMingyiVisualBasics.0(VBS.0)是一个开放式的可视化编程语言,很适合用来开发多媒体程序。在编程实践中,笔者从一种新的角度出发,用VBS.0开发出了多媒体程序,并使其文字、声音和图像同步播放。l图像和文字的同步用VBS对处理的常用图形文件有BMP(BitlnaP,位图文件)、ICOIcon,图标文件)和WMF(Metafile,Wndon元文件)。这三种文件都属静态文件格式,使用方法类似。本文以BMP文件为例,简述图像与文字同步动态显示的过程。111程的设计假如有一首歌,需要16个动态画面。这16个画面可分别用16个BMP文件存储,文件名可分别以IBMP、2.BMP、3.Bpp…··16.BMP命名,放入某一子目录中。用VBS.0设计一个工程,窗体Nrml中放有I,ILw、H...&
(本文共2页)
权威出处:
要完成动画制作,不同的编程环境有不同的方法。微 D讪RASInt6ger,GASlhtegef,BASIntegr软公司大力提倡的 Visual Bas以以下简称 VB)由于其集 StriPe二 Height\128成化程度高、使用方便而被广泛运用。笔者在开发VB程 R“0。、,,。。、。、、….G=0序时,常使用如下几种方法实现动画过程,下面就逐一介 二 二。 --””———””””一‘一—”———”——“B=二p绍给大家。Do Until Cu。ntHdt=Hei吵t 一变枷对函的浇扭m拄尔邱用 he人C——仇蜘)-o,h——!地…+bW), RGB(R.G.B).BF 首先启动W6.0,在“新建工程”窗口中选择“标准R=RIEXE”选项,并点击【打开]按钮;然后在出现的新窗体G=G-lFOrlnl中加人r和两个Time控件,设置它们的属性 B“B-l如下:RR0 hen fal)ellTop=rl.TOp+叨Tol Int...&
(本文共3页)
权威出处:
1数据库打开/关闭方法的选择在通常情况下,数据库的打开操作是在程序代码中使用OpenDatabase方法实现,其格式如下:Setdatabase=workspace.OpenDatabase(dbname,options,rea?donly,connect)可以通过指定数据库名字、打开方式、连接信息等参数打开1个现已存在的数据库,使用Close方法即可关闭该数据库。由于涉及VB代码的编写,其软件编制工作比较复杂。另一方面,VB的数据控件(DataControl)也可以执行数据库的打开/关闭操作。我们可以在数据控件的属性窗口中预先填好数据库打开的相关参数,一旦该数据控件启动,数据库便会自动以指定的方式打开,而当该数据控件终止时,对应的数据库也将自动关闭。对于按这二种方式打开的数据库,其后的数据库访问操作没有什么本质的区别。以上两种数据库打开/关闭的方法各有千秋:使用OpenDatabase方法可以在程序运行中动态地设置数据库打开参...&
(本文共2页)
权威出处:
”kernel.3 2” A1ias”SetComputerNameA‘’(ByVal IpComputerName A8String)As Long’定义一个获取计算机名字的函数Publ ic Function GetCName(CName)As BooleanDim 8ComputerName As String。计算机的名字Dim iComputerNameLen As Long-计算机名字的长度Dim.iResult As Long ’GetComputerName的返匣l值Dim RV As BooleanGe匕cNaIne返问值,若为TRUE则表示操作成功IComputerNameLen=2 5 6sComputerName=Space(1ComputerNameLen)lResult=GetComputerName 0sComputerNameEnd Function 2、在窗体中添加一命令按钮Commandl,双...&
(本文共1页)
权威出处:
扩展阅读:
CNKI手机学问
有学问,才够权威!
出版:《中国学术期刊(光盘版)》电子杂志社有限公司
地址:北京清华大学 84-48信箱 知识超市公司
互联网出版许可证 新出网证(京)字008号
京ICP证040431号
服务咨询:400-810--9993
订购咨询:400-819-9993
传真:010-
京公网安备75号VB将字符串按等宽的比列换行输出
将字符串按等宽的比列换行输出
'*******************************************
'函数:CutString(s,10)
'功能:将字符串按等宽的比列换行输出
'调用:CutString(&&,3)
'参数:Str:待截取的字符串,BrN:换行的字符个数
'**********************************************
Public Function CutString(str As String, BrN As Integer) As String
Dim n As Integer
Dim s1 As String
n = Len(str)
For i = 1 To n
If i Mod BrN = 0 Then
s1 = Left(str, BrN)
str = Replace(str, s1, &&)
s2 = s2 & Space(2) & s1 & Chr(10)
CutString = s2
End Function
标签(Tag):
------分隔线----------------------------
------分隔线----------------------------}

我要回帖

更多关于 vb控制台输出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信