vb 高手, Dim dstr_param() As String ,这是what?

sohucsdnvc 2002-07-03 08:11:28
Dim dbln_ret As Boolean
Dim dstr_param() As String
Dim dint_parcnt As Integer
Set gobj_BarxCommFrm = CreateObject("GfCbComnFrmXXXX.GZK01A0")
dbln_ret = GfCbGetCommand(dstr_param(), dint_parcnt)
GfCbComnFrmXXXX.GZK01A0 是dll, GfCbGetCommand is standard module
all of above is my boss 's code , but i can't understand,help me
...全文
77 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
footballboy 2002-07-03
  • 打赏
  • 举报
回复
节选自MSDN
动态数组


数组到底应该有多大才合适,有时可能不得而知。所以希望能够在运行时具有改变数组大小的能力。

动态数组就可以在任何时候改变大小。在 Visual Basic 中,动态数组最灵活、最方便,有助于有效管理内存。例如,可短时间使用一个大数组,然后,在不使用这个数组时,将内存空间释放给系统。

如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素。但是,如果过度使用这种方法,会导致内存的操作环境变慢。

要创建动态数组,请按照以下步骤执行:

(如果希望数组为公用数组,则)用 Public 语句声明数组,或者,(如果希望数组为模块级,则)在模块级用 Dim 语句声明数组,或者(如果希望数组为局部数组,则)在过程中用 Static 或 Dim 语句声明数组。给数组附以一个空维数表,这样就将数组声明为动态数组。
Dim DynArray ()

用 ReDim 语句分配实际的元素个数。
ReDim DynArray (X + 1)

ReDim 语句只能出现在过程中。与 Dim 语句、Static 语句不同,ReDim 语句是一个可执行语句,由于这一语句,应用程序在运行时执行一个操作。

ReDim 语句支持这样的语法,它与固定数组中使用的语法相同。对于每一维数,每个 ReDim 语句都能改变元素数目以及上下界。但是,数组的维数不能改变。

ReDim DynArray (4 to 12)

例如,用第一次声明在模块级所建立的动态数组 Matrix1:

Dim Matrix1 () As Integer

然后,在过程中给数组分配空间:

Sub CalcValuesNow ()
.
.
.
ReDim Matrix1 (19, 29)
End Sub

这里的 ReDim 语句给 Matrix 分配一个 20 × 30 的整数矩阵(元素总大小为 600)。还有一个办法,用变量设置动态数组的边界:

ReDim Matrix1 (X, Y)

注意 您可以将字符串赋值给大小可变的字节数组。一个字节数组也可以被赋值给一个可变长的字符串。一定要注意字符串中的字节数会随平台而变化。同一个字符串在 Unicode 平台上的字节数是它在非 Unicode 平台上的两倍。

保留动态数组的内容
每次执行 ReDim 语句时,当前存储在数组中的值都会全部丢失。Visual Basi 重新将数组元素的值置为 Empty(对 Variant 数组)、置为 0(对 Numeric 数组)、置为 零长度字符串(对 String 数组)或者置为 Nothing(对于对象的数组)。

在为新数据准备数组,或者要缩减数组大小以节省内存时,这样做是非常有用的。有时希望改变数组大小又不丢失数组中的数据。使用具有 Preserve 关键字的 ReDim 语句就可做到这点。例如,使用 UBound 函数引用上界,使数组扩大、增加一个元素,而现有元素的值并未丢失:

ReDim Preserve DynArray (UBound (DynArray) + 1)

在用 Preserve 关键字时,只能改变多维数组中最后一维的上界;如果改变了其它维或最后一维的下界,那么运行时就会出错。所以可这样编程:

ReDim Preserve Matrix (10, UBound (Matrix, 2) + 1)

而不可这样编程:

ReDim Preserve Matrix (UBound (Matrix, 1) + 1, 10)

详细信息 关于动态数组的更详细信息,请参阅语言参考中的“ReDim 函数”。关于对象数组,请参阅“用对象编程”。
zephyr_zhao 2002-07-03
  • 打赏
  • 举报
回复
使用带空圆括号的 Dim 语句来定义动态数组。在定义动态数组后,可以在过程内使用 ReDim 语句来定义该数组的维数和元素。如果试图在 Private,Public 或 Dim 语句中重新定义一个已显式定义了大小的数组的维数时,就会发生错误。
dslbat 2002-07-03
  • 打赏
  • 举报
回复
动态字符窜数组
hydnoahark 2002-07-03
  • 打赏
  • 举报
回复
定义一个不定的字符串数组,如果你想维数组赋值,必须使用先redim
blueer 2002-07-03
  • 打赏
  • 举报
回复
定义数组,元素类型是string
Python 数据挖掘与分析 数据挖掘与分析全文共36页,当前为第1页。 数据处理过程 数据挖掘与分析全文共36页,当前为第2页。 数据获取和收集从数据源获取: From Excel import pandas as pd import numpy as np data1=pd.read_excel("filename.xlsx")#使用pandas读取excel From CSV #ocding:utf-8 import numpy as np import pandas as pd df00=pd.read_csv('20161009.csv',delimiter=';') From 网页: urllib urllib2 httplib httplib2 import urllib import re dBytes = urllib.request.urlopen('http://aaa.bbb.ccc/page').read() dStr = dBytes.decode() #在python3中urllib.read() 语句功能是将dBytes转换成Str m = re.findall('正则解析表达式', dStr) 例如:利用正则表达式解析表格内容 数据挖掘与分析全文共36页,当前为第3页。 获取并连接: #coding:utf-8 import numpy as np import pandas as pd print '===========' lcsv=[] lcsv.append(pd.read_csv('20161009.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161016.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161023.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) lcsv.append(pd.read_csv('20161030.csv',delimiter=';',names=['date','val','name','cop','acter','directer','type'])) print '-------------' nf=pd.concat(lcsv) print nf 原理与要点: Concat的参数是一个 "列表" 扩展:利用OS,浏览目录,获得 Filename List,利用遍历 Filename List, 打开多个文件 数据挖掘与分析全文共36页,当前为第4页。 数据整理例如:整理、去空、去重、合并、选取、数据准备: 重要准备:index,header,columns header-1 header-2 header-3 header-4 …… index-0 index-1 index-2 index-3 index-4 index-5 index-6 index-7 …… 显示各要素: 显示索引 显示列名 显示数据的值 显示数据描述 数据挖掘与分析全文共36页,当前为第5页。 数据清洗和整理例如:去空、去重、合并、选取、数据准备: 显示各要素: 显示索引 df.index 显示列名 df.columns 显示数据的值 df.values 可以重构一个DataFrame 扩展:rdf=pd.DataFrame(data,index=inxlst,columns=colst) 显示数据描述 df.describe ,简报 数据挖掘与分析全文共36页,当前为第6页。 数据清洗和整理去空、处理缺失: isnull(),notnull() #测试空(not null)值,返回True,False dropna() #dropna(axis=1,how='all'),按列删除 all Na,缺省为axis=0,即按行 df.fillna() #填充,inpalce,不产生副本 #fillna(0)填充0,fillna({c1:v1,cx:vx})利用字典x列填充v #可以利用函数:mean、random.randon等等 数据挖掘与分析全文共36页,当前为第7页。 数据清洗和整理去重: duplicated() #测试重值,返回True,False drop_duplicates () #填充,inpalce,不产生

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧