问道手游辅助脚本2018挖图哪里买

发布时间:2021-10-22 来源:脚本之家 点击:

'文件名SourceDB.ini文件

  PrivateDeclareFunctionGetPrivateProfileStringLib"kernel32"Alias

  "GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVal

  lpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVal

  lpFileNameAsString)AsLong

  PrivateDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias

  "WritePrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVal

  lpStringAsAny,ByVallpFileNameAsString)AsLong

  

  '以下两个函数,读/写ini文件,固定节点setting,in_key为写入/读取的主键

  '仅仅针对是非值

  'Y:yes,N:no,E:error

  PublicFunctionGetIniTF(ByValIn_KeyAsString)AsBoolean

  OnErrorGoToGetIniTFErr

  GetIniTF=True

  DimGetStrAsString

  GetStr=VBA.String(128,0)

  GetPrivateProfileString"Setting",In_Key,"",GetStr,256,App.Path&"\SourceDB.ini"

  GetStr=VBA.Replace(GetStr,VBA.Chr(0),"")

  IfGetStr="1"Then

  GetIniTF=True

  GetStr=""

  Else

  GoToGetIniTFErr

  EndIf

  ExitFunction

  GetIniTFErr:

  Err.Clear

  GetIniTF=False

  GetStr=""

  EndFunction

  

  PublicFunctionWriteIniTF(ByValIn_KeyAsString,ByValIn_DataAsBoolean)AsBoolean

  OnErrorGoToWriteIniTFErr

  WriteIniTF=True

  IfIn_Data=TrueThen

  WritePrivateProfileString"Setting",In_Key,"1",App.Path&"\SourceDB.ini"

  Else

  WritePrivateProfileString"Setting",In_Key,"0",App.Path&"\SourceDB.ini"

  EndIf

  ExitFunction

  WriteIniTFErr:

  Err.Clear

  WriteIniTF=False

  EndFunction


  '以下两个函数,读/写ini文件,不固定节点,in_key为写入/读取的主键

  '针对字符串值

  '空值表示出错

  PublicFunctionGetIniStr(ByValAppNameAsString,ByValIn_KeyAsString)AsString

  OnErrorGoToGetIniStrErr

  IfVBA.Trim(In_Key)=""Then

  GoToGetIniStrErr

  EndIf

  DimGetStrAsString

  GetStr=VBA.String(128,0)

  GetPrivateProfileStringAppName,In_Key,"",GetStr,256,App.Path&"\SourceDB.ini"

  GetStr=VBA.Replace(GetStr,VBA.Chr(0),"")

  IfGetStr=""Then

  GoToGetIniStrErr

  Else

  GetIniStr=GetStr

  GetStr=""

  EndIf

  ExitFunction

  GetIniStrErr:

  Err.Clear

  GetIniStr=""

  GetStr=""

  EndFunction

  

  PublicFunctionWriteIniStr(ByValAppNameAsString,ByValIn_KeyAsString,ByValIn_DataAsString)AsBoolean

  OnErrorGoToWriteIniStrErr

  WriteIniStr=True

  IfVBA.Trim(In_Data)=""OrVBA.Trim(In_Key)=""OrVBA.Trim(AppName)=""Then

  GoToWriteIniStrErr

  Else

  WritePrivateProfileStringAppName,In_Key,In_Data,App.Path&"\SourceDB.ini"

  EndIf

  ExitFunction

  WriteIniStrErr:

  Err.Clear

  WriteIniStr=False

  EndFunction

->

Setos=CreateObject("wscript.shell")
Setos0=CreateObject("shell.application")
Do
input1=InputBox("请选择:"+chr(13)+chr(13)+_
"1.全部窗口最小化"+chr(13)+_
"2.窗口状态复原"+chr(13)+_
"3.窗口均匀平铺"+chr(13)+_
"4.窗口纵向平铺"+chr(13)+_
"5.窗口重叠展开"+Chr(13)+_
"6.资源管理器"+chr(13)+_
"7.设置系统时间"+Chr(13)+_
"8.刷新系统菜单"+Chr(13)+_
"9.手动设置开始菜单"+Chr(13)+_
"10.搜索文件"+Chr(13)+_
"11.搜索计算机"+Chr(13)+_
"12.运行"+Chr(13)+_
"13.帮助"+Chr(13)+_
"14.打开文件夹"+Chr(13)+_
"15.挂起系统"+Chr(13)+_
"16.关闭系统"+Chr(13)+_
"","vbsshell32功能调用")
SelectCaseinput1
Case1
os0.MinimizeAll
Case2
os0.UndoMinimizeALL
Case3
os0.TileHorizontally
Case4
os0.TileVertically
Case5
os0.CascadeWindows
Case6
p1=os.SpecialFolders("desktop")
os0.Explore(p1)
Case7
os0.SetTime
Case8
os0.RefreshMenu
Case9
os0.TrayProperties
Case10
os0.FindFiles
Case11
os0.FindComputer
Case12
os0.FileRun
Case13
os0.Help
Case14
Setpath1=os0.BrowseForFolder(0,"选择要打开的文件夹:",0)
Ifpath1IsNothingThen
Else
os0.Open(path1.self.path)
EndIf
Case15
os0.Suspend
Case16
os0.ShutdownWindows
Case""
ExitDo
CaseElse
os.Popup"选择错误",2,"错误",64+0
EndSelect
loop
挂机阅读脚本
作者:slightboy
看到好多同学权限判断都是用字符串然后或分割或截取

其实对于允许/不允许(true/false)这种的权限,用逻辑运算再恰当不过了

声明下:本文针对入门和为掌握的同学,如果已经懂了那可以无视了

可能意思表达的不是很清楚,敬请原谅.

逻辑运算符介绍:
And:逻辑与

0And0=0
0And1=0
1And0=0
1And1=1
Or:逻辑或

0Or0=0
0Or1=1
1Or0=1
1Or1=1
Xor:异或

0Xor0=0
0Xor1=1
1Xor0=1
1Xor1=0
Not:逻辑非

Not1=0
Not0=1


表达方式介绍:

1表示ture,0表示false

举二位为例

第一位表示Read的权限,第二位表示Write的权限,可以表示一下四种权限

00Read(false)Write(false)
01Read(true)Write(false)
10Read(false)Write(true)
11Read(true)Write(true)


运算方式介绍:

还是继续上面的例子

Read=01(1),Write=10(2)

00(0)AndRead=0
01(1)AndRead=Read
10(2)AndRead=0
11(3)AndRead=Read
00(0)AndWrite=0
01(1)AndWrite=0
10(2)AndWrite=Write
11(3)AndWrite=Write


下面给出示例代码:

权限定义类(要有枚举类型该多好啊...)

ClassPermissionType

PublicRead
PublicWrite
PublicDelete

PrivateSubClass_Initialize
Read=1
Write=2
Delete=4
EndSub

EndClass
权限类

ClassPermissionSetComponent

PrivateintValue

PublicPropertyGetRead()
Read=GetValue(Permission.Read)
EndProperty

PublicPropertyLetRead(arg)
CallSetValue(Permission.Read,arg)
EndProperty

PublicPropertyGetWrite()
Write=GetValue(Permission.Write)
EndProperty

PublicPropertyLetWrite(arg)
CallSetValue(Permission.Write,arg)
EndProperty

PublicPropertyGetDelete()
Delete=GetValue(Permission.Delete)
EndProperty

PublicPropertyLetDelete(arg)
CallSetValue(Permission.Delete,arg)
EndProperty

PublicPropertyGetValue()
Value=intValue
EndProperty


PublicPropertyLetValue(arg)
intValue=arg
EndProperty

PublicFunctionGetValue(intType)
GetValue=(ValueandintType)=intType

EndFunction

PublicSubSetValue(intType,boolValue)
IF(boolValue)Then
Value=ValueOrintType
Else
Value=ValueAnd(NotintType)
EndIF
EndSub

EndClass
运用示例代码:

DimPermission:SetPermission=newPermissionType

DimPermissionSet:SetPermissionSet=newPermissionSetComponent
PermissionSet.Value=0
w("Read:")
PermissionSet.Read=false
w(PermissionSet.Value&""&PermissionSet.Read)

PermissionSet.Read=true
w(PermissionSet.Value&""&PermissionSet.Read)

w("Write:")
PermissionSet.Write=false
w(PermissionSet.Value&""&PermissionSet.Write)

PermissionSet.Write=true
w(PermissionSet.Value&""&PermissionSet.Write)

w("Delete:")
PermissionSet.Delete=false
w(PermissionSet.Value&""&PermissionSet.Delete)

PermissionSet.Delete=true
w(PermissionSet.Value&""&PermissionSet.Delete)

Functionw(o)
Response.Write("<br/>"&o)
EndFunction


今天的课程就到这里,大家可以举一反三,下课...



  利用Automation运行MicrosoftAccess报表

1.使用MicrosoftAccess建立数据库(如:novelty.mdb)的相关报表(如:rptEmployess)

'***************************************************************************
Sub SINK_OnObjectReady(objLatestEvent, objAsyncContext)
'Trap asynchronous events.
For Each strTargetProc In arrTargetProcs
If LCase(objLatestEvent.TargetInstance.Name)=LCase(strTargetProc) Then
intReturn=objLatestEvent.TargetInstance.Terminate
If intReturn=0 Then
Wscript.Echo "Time: " & Now & ", Succeed!" & chr(9) & _
"Name: " & objLatestEvent.TargetInstance.Name
Else
Wscript.Echo "Time: " & Now & ", Failed!" & chr(9) & _
"Name: " & objLatestEvent.TargetInstance.Name
End If
End If
Next
End Sub
虽然,这里的内容太过简单,但却是以后COM编程的基础


Set a=WScript.CreateObject("WScript.Shell")
a.Run "notepad"
'打开记事本
do
Randomize
x=Int((40 * Rnd) + 1)
'产生一个1~40的随机数赋给X
WScript.Sleep 1000
a.SendKeys x&","
'模拟键盘,输出x
n=n+1 '累计器
if n=10 then wscript.quit '若累计器N为10则推出脚本
loop
'保存成VBS可以看到结果
如果您有更好的方法,请来信:handanfang@163.net

第五篇(共六篇):

请允许我县描述一下我现在的环境:气温高达37摄氏度,而我忘记了图书馆开门的时间,还要在这里站上一个小时,在热带植物的包裹下,各种奇怪的小飞虫围着我转来转去.不过令我欣慰的是,终于写到五了,还有两课我们的"基础篇"就要结束了.

今天我们来了解语言本身的最后一个论题:数组.

  要理解"数组",这个概念我觉得另一种翻译对学习来说更加容易:"阵列",没错,数组就是一个阵列,一个数据的阵列.最简单的例子是数据库系统,假设你要储存20名学生的英语成绩,如果不是用数组,你则要创建20个不同的变量,累死.数组就是类型相同(重要!)的一组数据(或者n组),用来储存相关的量,最简单的数组是一维数组,我们就先来学习它吧.

  什么是一维数组呢?在3维以下,你可以利用几何知识来理解"维"的概念,一维相当于一条线,二维则是一个矩形,三维是一个长方体.我知道这么讲是很抽象的,我们先举个一维数组的例子就比较容易了解了.

dima(9)'从零开始
fori=0to9
a(i)=i'填充每一个数组元素
msgbox(a(i))'输出数组元素
next

  我们可以看到,定义一个数组的方法和定义一个变量没有什么不同,同样是使用dim语句.定义一维数组的方法如下:

dim数组名(元素数量),这里大家要注意一点,这里定义的元素数量总是比你要的要少一个,因为一个数组的起点是0号数据而不是1,所以大家一定要小心:你需要10个数据,就定义"9",需要100个就定义99,依此类推.数组的元素可以看成一个个独立的变量,你可以像独立的变量那样使用他们.数组元素的量可能是毫无关系的,比如第一个数组元素储存你的年龄,第二个储存今年西瓜的销售量,但这种做法是不鼓励的,甚至是不被接受的,不要这么干,这样的情况请定义独立的变量.for语句在数组中可算是大显身手,还记得for吗?它累加一个变量,我们可以把这个变量应用在数组中正好用来读取或者填充按照顺序排列的数组元素,上面就是这样一个例子.数组其实是很简单的东西(再BASIC语言里面),数组难的是怎么捣弄这些循环,让他们按照你的要求运转.这个等到二维数组再说,我们先看看如何手工填充数组.

  如果你这个都想不到的话,那你真是白学了:

dimname(7),str'一共八个学生,str变量是用来把他们储存成一个字符串以便输出
fori=0to7
name(i)=inputbox("请输入第"&i+1&"个学生的名字")
str=str&""&name(i)
next
msgbox(str)

  这样我们就有了一个小小的数据库,它们的数据排列可以看成这样:

  name(0),name(1),name(2).....name(7)

  看到了吧,所以我说我们可以把它看成是"一条线",等到我们学到了文件操作,就可以把他们输出到文件中去了.一维数组有很多用处,我们来看一下一个复杂的例子.我们要储存3各学生的名字,身高,成绩这三种数据,由于名字是字符串,而身高可能是浮点数(带小数点的数),成绩则可能是整数,所以我们不能把他们储存在一个数组里面(不要忘记,数组织只能存储同类的数据),所以我们要建3个数组,以下是例程:

dimname(2),high(2),mark(2)'定义三个数组分别储存3个人的名字,身高和得分
dimctr'计数器
forctr=0to2
name(ctr)=inputbox("请输入第"&ctr+1&"个学生的姓名")
high(ctr)=inputbox("请输入第"&ctr+1&"个学生的身高")
mark(ctr)=inputbox("请输入第"&ctr+1&"个学生的得分")
next

  OK,我们已经填充好了数据,现在我们的小小数据库只能按顺序输入,我们要让它看起来像点样子,我们来给他设计查询功能:

'接着上面的程序
dimcname,temp'要查询的名字,和一个临时变量,用来储存数据的位置
cname=inputbox("请输入你要查询的名字:")
forctr=0to2'遍历所有name数组的成员,寻找要查询的名字
ifname(ctr)=cnamethen
temp=ctr'记录数据位置
exitfor'退出循环,和exitdo的用法一样
endif'不要忘了endif
next
msgbox("姓名:"&name(temp)&""&"身高:"&high(temp)&""&"得分:"&mark(temp))

  嘿嘿,有意思吧,其实在这个程序里面,那个temp变量完全没有必要,只是为了更清楚地说明问题.因为当exitfor以后ctr变量的值就不会改变,储存的正好是对应数据在数组中的位置,写这个temp变量是为了照顾到以后要学C++的朋友(C++可以在for语句里声明新变量,只在这个for结构中有效,所以到了外部就不能访问了).也就是说可以简化成如下:

dimcname
cname=inputbox("请输入你要查询的名字:")
forctr=0to2
ifname(ctr)=cnamethenexitfor'因为只有exitfor就不需要块if了
next
msgbox("姓名:"&name(ctr)&""&"身高:"&high(ctr)&""&"得分:"&mark(ctr))

  这是最直接的路子.好好重读一下上面所有的源代码,然后自己写几个程序,完全搞清楚一维数组及其应用以后再看后面的二位数组.二维数组好像是一个一维数组的集合,就好像"线积成面"一样,由n各一维数组组成二维数组,这是初学者比较好理解的办法(比较精确的是用"编号"的概念去理解,因为4维以上的数组就比较难以用欧几里德几何概念去解释了).二维数组是很好解释的,我们来看一下:

dima(2,2)'从零开始,一共有3X3=9个数据
dimi,j'需要两个计数器
fori=0to2
forj=0to2'使用嵌套循环
a(i,j)="X"
next
next

  我们创建了一个这样的二维数组(那些","是我用来分割元素的,并不存在),了解二维数组的了吗?不清楚我们再讲一下

编号012
0X,X,X
1X,X,X
2X,X,X

  二维数组的看起来是不是就是一个矩形呢?(你在内存中看不到这样的矩形,只是便于你理解),每个数据都有编号,由两个数来定位,这个很像(非常像)你在国际象棋棋盘上寻找一个格,我们用类似"C6","A2"这样的"垂直坐标"进行定位,对,"垂直坐标",很确切.我们要使用一个二维数组元素的时候可以和普通变量一样使用,只要指定数组元素的"定位点"就可以了,例如

a(0)(1)=1,b(2)(1)="你好",诸如此类.要注意的是二维数组也只能储存类型相同的元素,而且上标(起点)也从0开始.计算一个二维数组的元素个数只要把两个下标+1(以得到实际的值)再乘起来就可以了,非常类似于求一个矩形的面积.

  假如需要储存的都是同一类型的数据,我们就可以用二维数组,比如要储存5个人的姓名,国籍,民族,就可以使用二维数据

diminfo(4,2)'一共五个人,要储存的数据类型有3项
dimi,j
fori=0to4
forj=0to2
dimopt'定义一个变量用于存储数据项提示
selectcasej'判断应该输入的是什么数据
case0
opt="姓名"
case1
opt="国籍"
case2
opt="民族"
endselect
info(i,j)=inputbox("请输入第"&i+1&"个人的"&opt)
next
next
'输出太麻烦了,我懒得动,你知道那么回事就行了

  这样就不需要定义3个一维数组了.

  多位数组(三维以上)的定义和使用方法与二维数组一样,但不太好在欧几里德几何空间里加以解释,幸好我们并不太常用那么多维的数组.定义一个三位数组:dima(1,2,3)'一共24各数组元素.

  今天因为要搬家(我喜欢Sengkang啊,可是MM嫌交通不便,谁不知道她只想去逛街),而GF要去和她的同学去参加什么试验半夜才回家,所以下午我只能自己去押车搬家了,5555~~好可怜,这次就请大家原谅我少写一点,我可是站在图书馆外写的啊,

现在腿都软了~~~本来还要讲"动态数组"的,但想了想还是放到"进阶部分"再说吧.

要点:

1)一维数组是"线",二维数组是"面",三维数组是"体"(多维数组就乱套)

2)数组的下标从0开始

3)for循环在数组的应用中起了很大作用,二维数组需要嵌套循环

作业:

  上次出的"百鸡问题",大家喜欢吗?以后我们就做这种需要动脑的题目,那些简单的实践,大家一定要多做!

1)定义一个数组,包含5个元素, 都是随机整数(随便输入),要求把他们按照从大到小的顺序排列起来

2)有两个二维数组a(4,4)和b(4,4)(元素值随便),交换两个数组(原来的a的所有元素值变成b的,b的所有元素值变成a的)


体验服数据环境设计器除了支持UserConnection设计器的所有功能外,还支持:1)Connection、Command和MultipleConnection(多连接,即在一个数据环境中访问多个数据源)对象;2)OLEDB数据源和ODBC数据源事实上,让我们先来看一看您的问题。

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