vb字串陣列賦值問題,VB字串和字元陣列的賦值問題

2022-05-24 19:00:04 字數 5639 閱讀 1507

1樓:匿名使用者

dim strarray()

strarray = array("姓名", "性別", "年齡")

2樓:

dim string(20)

string(1)=姓名

string(2)=性別

string(3)=年齡

與普通陣列賦值有什麼區別嗎?

3樓:匿名使用者

工程裡建立乙個模組,然後貼上下邊**:

public type a

sname as string * 6

sgender as string * 1 『這裡為了方便,通常採用boolean形變數,這裡只是為了說明問題用string

sage as integer

end type

form上新增乙個按鈕,貼上**如下:

dim info(10) as a

private sub command1_click()dim i as long

for i = 0 to 10

debug.print info(i).sname & vbtab & info(i).sgender & vbtab & info(i).sage & vbcrlf

next

end sub

private sub form_load()dim i as long

dim x as a

for i = 0 to 10

with info(i)

.sname = "name" & i

.sgender = "男"

.sage = i

end with

next

end sub

執行後,點按鈕在debug窗體看執行結果吧。

vb字串和字元陣列的賦值問題

4樓:匿名使用者

dim i as long

dim lngstr as long

lngstr = len(str)

redim strs(lngstr)

for i = 0 to lngstr - 1strs(i) = mid(str, i + 1, 1)next

vb 陣列賦值、定義。

5樓:暴風錘

陣列必須先定義(宣告),然後才能賦值。

下面全面講解陣列的相關知識:

陣列的概念

1.引例

求100個學生的平均成績及超過平均成績的人數。

如果用一般變數來表示成績,需要用100個變數,如:mark1、mary2、……mark100。若用陣列,可以只用乙個來表示mark(1

to 100)。

2.基本概念

陣列:是同型別變數的乙個有序的集合。

如:a(1to 100),表示乙個包含100個陣列元素的名為a的陣列。

陣列元素: 即陣列中的變數。用下標表示陣列中的各個元素。

表示方法:陣列名(p1,p2,……)

其中p1、p2表示元素在陣列中的排列位置,稱為「下標」。

如:a(3,2)代表二維陣列a中第3行第2列上的那個元素。

陣列維數: 由陣列元素中下標的個數決定,乙個下標表示一維陣列,二個下標表示二維陣列。

vb中有一維陣列、二維陣列、……最多60維陣列。

下標: 下標表示順序號,每個陣列有乙個唯一的順序號,下標不能超過陣列宣告時的上、下界範圍。下標可以是整型的常數、變數、表示式,甚至又是乙個陣列元素。

下標的取值範圍是:下界 to 上界 ,預設下界時,系統預設取0。

3.陣列宣告

陣列必須先宣告後使用。宣告陣列就是讓系統在記憶體中分配乙個連續的區域,用來儲存陣列元素。

宣告內容:陣列名、型別、維數、陣列大小。

一般情況下,陣列中各元素型別必須相同,但若陣列為variant時,可包含不同型別的資料。

靜態陣列:宣告時確定了大小的陣列。

動態陣列: 宣告時沒有給定陣列大小(省略了括號中的下標),使用時需要用redim語句重新指出其大小。

靜態陣列及宣告

1. 一維陣列

靜態一維陣列的宣告形式:

dim 陣列名(下標) [as 型別]

說明:(1)下標必須為常數,不可以為表示式或變數;

(2)下標下界最小為-32768,最大上界為32767;省略下界,其預設值為為0,一維陣列的大小為:上界-下界+1

(3) 如果省略型別,則為變體型

例: (1) dim a(10) as integer

宣告了a是陣列名、整型、一維陣列、有11個元素,下標的範圍是0~10。

(2) dim b(-3 to 5) as string*3

宣告了b是陣列名、字串型、一維陣列、有9個元素,下標的範圍是-3~5,每個元素最多存放3個字元。

2.多維陣列

靜態多維陣列的宣告形式:

dim 陣列名(下標1[,下標2…]) [as 型別]

說明: (1)下標個數決定陣列的維數,最多60維。

(2)每一維的大小=上界-下界+1;陣列的大小=每一維大小的乘積。

例:dim c(-1to 5, 4) as long

宣告了c是陣列名、長整型、二維陣列、第一維下標範圍為-1~5,第二維下標的範圍是0~4,佔據7x 5個長整型變數的空間。

3.注意事項

(1)在有些語言中,下界一般從1開始,為了便於使用,在vb的窗體層或標準模組層用option base n 語句可重新設定陣列的下界,如option base 1。

(2) 在陣列宣告中的下標關係到每一維的大小,是陣列說明符,而在程式其他地方出現的下標為陣列元素,兩者寫法相同,但意義不同。

(3) 在陣列宣告時的下標只能是常數,而在其他地方出現的陣列元素的下標可以是變數。

動態陣列及宣告

1. 動態陣列的建立與宣告

建立動態陣列的方法是:利用dim、private、public語句宣告括號內為空的陣列,然後在過程中用redim語句指明該陣列的大小。語法是:

redim 陣列名(下標1[,下標2…]) [as 型別]

其中下標可以是常量,也可以是有了確定值的變數,型別可以省略,若不省略,必須與dim中的宣告語句保持一致。

例: dim d() as single

sub form_load()

…… redim d(4,6)

……end sub

2.注意事項

(1)在動態陣列redim語句中的下標可以是常量,也可以是有了確定值的變數;

(2)在過程中可以多次使用redim來改變陣列的大小,也可改變陣列的維數。

(3)每次使用redim語句都會使原來陣列中的值丟失,可以在redim語句後加preserve引數來保留陣列中的資料,但使用preserve只能改變最後一維的大小,前面幾維大小不能改變。

使用動態陣列的優點是根據使用者需要,有效地利用儲存空間,它是在程式執行到redim語句時才分配儲存單元,而靜態陣列是在程式編譯時分配儲存單元。

vb中給陣列元素賦初值

6樓:閃星

有問題請追問,滿意請採納,新年快樂!加油!

7樓:匿名使用者

1、vb6定義陣列時不需要人為初始化陣列,它會自動把數值型陣列的每個元素初始化為0,把字串陣列的每個元素初始化為空串。

2、如果你想象c語言一樣初始化,只能對variant型別的陣列以以下方式賦值:

dim myweek

myweek = array("mon", "tue", "wed", "thu", "fri", "sat", "sun")

3、variant型別陣列和位元組陣列以外的其它型別陣列只能乙個乙個賦值,或用迴圈賦值。

8樓:聽不清啊

for i =1 to 10

a(i)=0

next i

就是先讓i等於1,,然後執行a(1)=0,遇到next i,就自動給i加1,i 變成2,回到上面,未超過10,就再執行a(2)=0,如此這般,一直執行到a(10)=0,自動給i加1,i 變成11,再回到上面,已超過10,就不再執行迴圈體。繼續執行next i這個語句後面的語句(如果還有的話)。

至於picture1.print a(i);'''';,這是在列印a(i)後不換行,再列印乙個" ",這裡面不是什麼也沒有,而是有乙個空格。printf語句後面的分號表示列印後不加入其它內容,下一次緊接著輸出其它的內容。

怎麼給字串陣列賦值

如何給vb陣列賦值?

9樓:文修令恨真

可是,你寫的不是陣列呀。。

看你描述的功能,用控制項陣列處理起來非常簡單。

唉。。我家裡的vb出毛病了打不開。

給這52個label控制項起同乙個名字,記得控制項屬性裡有個index屬性,把第乙個改成0,後面的編號順延。再做click的事件的函式**,應該有個引數是那個控制項的索引。只需在乙個click事件裡,用類似label(index).

visible

=false一句話,就可以控制52張牌了!

明天到公司試試。要是說錯了再來改。

10樓:匿名使用者

和普通變數的賦值一樣。比如:

dim a(5) as integer

for i=1 to 5

a(i)=i;

next i

通過使用迴圈來賦值是很常用的做法。

11樓:匿名使用者

答案補充:這個方法只適用於一維陣列,多維陣列只能乙個乙個分別賦值,沒有簡便方法。

============

**如下。

============

dim a as variant

private sub form_load()a = array(1, 5, 2, 43, 222)end sub

12樓:du瓶邪

例子private sub label1_click()label1.visible = falseend sub

單獨乙個是這樣寫

如果給每個label 都賦上*.visible=false(*為label名字)

13樓:沈苗公巧凡

private

subcommand1_click()

dimdd=

array(array(1,

2,3),

array(4,

5,6),

array(7,

8,9))

dimi

asinteger

dimj

asinteger

fori=0

to2forj=0

to2print

d(i)(j)

next

jnext

iendsub

求vb高手解答,怎麼把乙個字串挨個賦值給陣列。

14樓:匿名使用者

dim i as integer

for i=0 to len(text1.text)-1k(i)=left(text1.text,i,1)next

VB挑出字串陣列中不同元素

private sub command1 click dim stra as string,strb as string,i,j,n as integer stra split 123,211,234324,43,4,123,43,211 stra賦值bai duredim strb 0 strb ...

c語言字串陣列逆序問題,C語言字串陣列逆序問題

第乙個問題 字串陣列的長度不包括最後的 0 第二處問題 1 把 for i 0 str1 i 0 i 後面加上乙個分號 2 把for i 0 str1 i 0 i 後面的花括號去掉 3 再把 puts str1 前面的花括號去掉就可以了 程式如下 include stdio.h int main c...

VB讀取,並將指定字串替換,VB讀取TXT,並將TXT指定字串替換

檢索 然後判斷左邊或右邊是否是你需要替換的字串,如果是,則替換掉 讀一行替換一行 寫入新檔案。不會vb學呀,三天搞定,聰明點的一天。用readline 讀取txt的每一行,然後用 replace 逐行替換。vb 替換txt文字檔案中的指定字串 5 vb如何讀取txt檔案中指定某行的內容到變數中 vb...