纪录片脚本撰写奥拉星费奥币

发布时间:2021-06-14 来源:脚本之家 点击:

以下是主窗体代码:

OptionExplicit
'声明用于判断写入INI中的FileName(n)中的n变量
DimIAsString'为了能添在FileName串的后面,声明为String

PrivateSubForm_Load()
I=0'初值
Text1.Left=0
Text1.Top=0
Text1=""
Text1.FontSize=12
Me.Caption="txtEditor"
Me.Width=8000
Me.Height=6000
AddMenu'添加动态菜单
EndSub

PrivateSubForm_Resize()'这个没什么可说,为了使例程完整而已
Text1.Width=Me.ScaleWidth
Text1.Height=Me.ScaleHeight
EndSub

PrivateSubmnuExit_Click()
End'退出
EndSub

'打开文件
PrivateSubmnuOpen_Click()
DimsFAsString
CommonDialog1.Filter="文档文件(*.txt)|*.txt|所有文件(*.*)|*.*"
CommonDialog1.ShowOpen
OpenCommonDialog1.FileNameForInputAs#1
Text1.Text=StrConv(InputB$(LOF(1),1),vbUnicode)
Close#1
IfI>=3ThenI=0'如大于等于3则返回原值
I=I 1
sF="FileName" I
'打开后写进INI文件
CommonDialog1.FileName=WriteIni("Open",sF,CommonDialog1.FileName)
AddMenu'立即添加使动态菜单生效
EndSub

'添加菜单
PrivateSubAddMenu()
DimfN1AsString,fN2AsString,fN3AsString
'從INI文件中读取数据
fN1=ReadIni("Open","FileName1")
fN2=ReadIni("Open","FilEName2")
fN3=ReadIni("Open","FileName3")
'如数据存在则令动态菜单可见并给其Caption属性赋值
IffN3<>""ThenmnuSep02.Visible=True:mnuAdd(1).Visible=True:mnuAdd(1).Caption=fN1
IffN2<>""ThenmnuSep02.Visible=True:mnuAdd(2).Visible=True:mnuAdd(2).Caption=fN2
IffN1<>""ThenmnuSep02.Visible=True:mnuAdd(3).Visible=True:mnuAdd(3).Caption=fN3
EndSub

本例子演示了利用INI文件实现动态菜单的创建,若需要移植到你的程序中,应作相应的改动,使其更具合理性和实用性

For Each subkey In arrSubKeys
oReg.GetStringValue HKEY_LOCAL_MACHINE, strKeyPath & "\" & subkey, "ObjectName", strValue

If Not (strValue="") Then
'判断服务, 利用数组来比较不知道会不会快些?
If Not (CheckSvr(subkey)) Then
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ Hidden ]"
Else
Wscript.Echo subkey & FormatOutTab(subkey) & strValue & FormatOutTab(strValue) & "[ OK ]"
End If

ae文字混排脚本教程

'拖动工作表至VBS脚本实现按指定表头自动分表
On Error Resume Next
If WScript.Arguments(0)="" Then WScript.Quit
Dim objExcel, ExcelFile, MaxRows, MaxColumns, SHCount
ExcelFile=WScript.Arguments(0)
If LCase(Right(ExcelFile,4)) <> ".xls" And LCase(Right(ExcelFile,4)) <> ".xls" Then WScript.Quit
Set objExcel=CreateObject("Excel.Application")
objExcel.Visible=False
objExcel.Workbooks.Open ExcelFile
'获取工作表初始sheet总数
SHCount=objExcel.Sheets.Count
'获取工作表有效行列数
MaxRows=objExcel.ActiveSheet.UsedRange.Rows.Count
MaxColumns=objExcel.ActiveSheet.UsedRange.Columns.Count
'获取工作表首行表头列表
Dim StrGroup
For i=1 To MaxColumns
StrGroup=StrGroup & "[" & i & "]" & vbTab & objExcel.Cells(1, i).Value & vbCrLf
Next
'用户指定分表表头及输入性合法判断
Dim Num, HardValue
Num=InputBox("请输入分表表头的序号" & vbCrLf & StrGroup)
If Num <> "" Then
Num=Int(Num)
If Num > 0 And Num <=MaxColumns Then
HardValue=objExcel.Cells(1, Num).Value
Else
objExcel.Quit
Set objExcel=Nothing
WScript.Quit
End If
Else
objExcel.Quit
Set objExcel=Nothing
WScript.Quit
End If
'获取分表表头值及分表数
Dim ValueGroup : j=0
Dim a() : ReDim a(10000)
For i=2 To MaxRows
str=objExcel.Cells(i, Num).Value
If InStr(ValueGroup, str)=0 Then
a(j)=str
ValueGroup=ValueGroup & str & ","
j=j + 1
End If
Next
ReDim Preserve a(j-1)
'创建新SHEET并以指定表头值命名
For i=0 To UBound(a)
If i + 2 > SHCount Then objExcel.Sheets.Add ,objExcel.Sheets("sheet" & i + 1),1,-4167
Next
For i=0 To UBound(a)
objExcel.Sheets("sheet" & i + 2).Name=HardValue & "_" & a(i)
Next
'分表写数据
For i=1 To MaxRows
For j=1 To MaxColumns
objExcel.sheets(1).Select
str=objExcel.Cells(i,j).Value
If i=1 Then
For k=0 To UBound(a)
objExcel.sheets(HardValue & "_" & a(k)).Select
objExcel.Cells(i,j).Value=str
objExcel.Cells(1, MaxColumns + 1).Value=1
Next
Else
objExcel.sheets(HardValue & "_" & objExcel.Cells(i,Num).Value).Select
If j=1 Then x=objExcel.Cells(1, MaxColumns + 1).Value + 1
objExcel.Cells(x ,j).Value=str
If j=MaxColumns Then objExcel.Cells(1, MaxColumns + 1).Value=x
End If
Next
Next
For i=0 To UBound(a)
objExcel.sheets(HardValue & "_" & a(i)).Select
objExcel.Cells(1, MaxColumns + 1).Value=""
Next
objExcel.ActiveWorkbook.Save
objExcel.Quit
Set objExcel=Nothing
WScript.Echo "提示:对" & ExcelFile & "的分表操作完成"
用VisualBasic5.0作为数据库开发平台
3.0版以后的VisualBasic具有数据库连接和数据处理功能,因此完全有资格作为数据库应用程序的开发环境




原文来自:

->前几天在网路上闲逛时,看到有人问了这样的问题:想要写拼图程式,又不想用已经切割好的图片,不知要如何把一个完整的图片利用程式来切割

Variant 是一种特殊的数据类型,根据使用的方式,它可以包含不同类别的信息方法一:
PublicFunctionFastReplace(SSrch$,SFind$,SRepl$)AsString

DimSrc()AsByte,Dst()AsByte,R()AsByte,F()AsByte
DimLenF&,LenR&,LenDst&,i&,j&,OutPos&

ConstChunkSize&=4096

IfSSrch=""OrSFind=""ThenExitFunction

Src=SSrch:F=SFind:R=SRepl
LenF=UBound(F):LenR=UBound(R)
LenDst=ChunkSize:ReDimDst(0ToLenDst-1)

Fori=0ToUBound(Src)Step2

Forj=0ToLenFStep2
IfSrc(i j)<>F(j)ThenExitFor
Nextj

Ifj>LenFThen'Found

Forj=0ToLenRStep2
IfOutPos>=LenDstThen
LenDst=LenDst ChunkSize
ReDimPreserveDst(0ToLenDst)
EndIf
Dst(OutPos)=R(j):OutPos=OutPos 2
Nextj

i=i LenF-1

Else

IfOutPos>=LenDstThen
LenDst=LenDst ChunkSize
ReDimPreserveDst(0ToLenDst)
EndIf

Dst(OutPos)=Src(i):OutPos=OutPos 2

EndIf
Nexti

ReDimPreserveDst(0ToOutPos-2):SSrch=Dst

FastReplace=SSrch$

EndFunction

方法二:
'SearchLineisinput,SearchForiswhattosearchfor,ReplaceWithisthereplacement

FunctionsReplace(SearchLineAsString,SearchForAsString,ReplaceWithAsString)
DimvSearchLineAsString,foundAsInteger

found=InStr(SearchLine,SearchFor):vSearchLine=SearchLine
Iffound<>0Then
vSearchLine=""
Iffound>1ThenvSearchLine=Left(SearchLine,found-1)
vSearchLine=vSearchLine ReplaceWith
Iffound Len(SearchFor)-1<Len(SearchLine)Then_
vSearchLine=vSearchLine Right$(SearchLine,Len(SearchLine)-found-Len(SearchFor) 1)
EndIf
sReplace=vSearchLine

EndFunction->





3、inputbox和msgbox

会vb的人对着两个东西应该很熟悉,用法也没什么差别

input=inputbox(“pleaseenteryoupassword”,”passwd”)

ifinput<>”1234”

then

msgbox“youenterawrongpasswd”

endif

当然你也可以给msgbox添加按钮,用一个变量接受用户的选择

例如:ret=msgbox“continue?”,vbyesnocancel

返回值和常量对照如下:

vbok1

vbcancel2

vbabort3

vbretry4

vbignore5

vbyes6

vbno7



4、错误处理

何vb一样用onerrorresumenext

这个没什么好说的,如果遇到了错误就跳过继续执行下一句

当然这个方法很弱智,还需要有一个方法,vbscript提供了一个对象err对象

他有两个方法clear,raise

5个属性:description,helpcontext,helpfile,number,source

我们可以利用err.number获得错误号例如

***********************err.vbs*****************************

onerrorresumenext

a=11

b=0

c=a/b

iferr.number<>0then

wscript.echoerr.number&err.description&err.source

endif

我们可以用err.raisel来手工抛出错误

比如我们要产生一个pathnotfound的错误告诉用户,他填写的路径不对

onerrorresumenext

err.raise76

msgbox"error:"&err.description

err.clear





以上都是基础,今天就写到这里吧,好累哦,呵呵呵如有转载注明出处奶块费加

----实现方法:API函数SHBrowseForFolder可以提供这样的文件列表,它需要用到一个BROWSEINFO类型,此类型包括了列表框使用的参数,此类型的声明见下面的程序,其中这里用到的几个参数简单说明一下:

----hwndOwner—当前窗口的句柄

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号