vb寫將二維陣列寫入到中要求列對齊

2022-06-24 22:07:16 字數 5799 閱讀 5096

1樓:吹花

樓上的都有道理,不過對於「vbtab連線資料」方法有點瑕疵。

因為如果有過長的字串會影響效果,導致一個字串佔兩列,後邊的資料被依次挪位。

所以最好還是用 xjnzhidao 先生的方法,應該先獲取每列最大寬度

我給你寫了一個函式,可先建工程測試,看看效果。

以下是完整**

private sub form_click()

dim a(5, 7) as string, i as integer, j as integer

randomize '為測試陣列賦隨機值

for i = 0 to ubound(a, 1) '列

for j = 0 to ubound(a, 2) '行

a(i, j) = string(int(9 * rnd + 1), "*")

next j

next i

'以上**供測試用

writefile a() '主函式呼叫

end sub

'主函式,引數為string型二維陣列

public function writefile(ary() as string) as long

dim sfilename as string, i as integer, j as integer

dim itp() as integer, stemp as string

redim itp(ubound(ary, 2)) '確定臨時陣列大小

sfilename = "c:\documents and settings\administrator\桌面\test.txt"

open sfilename for output as #121

for i = 0 to ubound(ary, 2) '列遍歷****獲取各列寬

itp(i) = len(ary(0, i)) '賦初值

for j = 0 to ubound(ary, 1) '行遍歷

if itp(i) < len(ary(j, i)) then itp(i) = len(ary(j, i)) '取列寬

next j

next i '獲取列寬完畢

for i = 0 to ubound(ary, 1) '行

stemp = cstr(i + 1) '清除

for j = 0 to ubound(ary, 2) '列

stemp = stemp & " " & format(ary(i, j), "!" & string(itp(j), "@"))

next j

print #121, stemp '寫入檔案

next i

close #121

end function

2樓:

你可以仔細看看format函式的用法,可以解決你的問題,舉例:

text1 = format(1, "!@@@") & format(1233, "!@@@@@@@@") & format(2343245, "!

@@@@@@@@") & format(12, "!@@@@@@@@")

text1 = text1 & vbcrlf & format(2, "!@@@") & format(434, "!@@@@@@@@") & format(2234, "!

@@@@@@@@") & format(12344, "!@@@@@@@@")

3樓:陳

用製表符vbtab連線資料。換行符vbcrlf

4樓:匿名使用者

private sub command1_click()dim a(9, 3) as singlefor i = 0 to 9

for j = 0 to 3

a(i, j) = i * j

next j

next i

open "c:\1.txt" for output as #1x = ""

for i = 0 to 9

for j = 0 to 3

x = x & a(i, j) & vbtabnext j

x = x & vbcrlf

next i

print #1, x

close #1

shell "notepad.exe c:\1.txt", vbnormalfocus

end sub

5樓:匿名使用者

這是窗體使用的控制元件

執行時的介面

txt中的儲存結果

源程式dim a(3, 3) as string

private sub command1_click()

dim array_a(9) as integer

for i = 0 to 2

for j = 0 to 2

array_a(k) = len(a(i, j))

k = k + 1

next j

next i

for i = 0 to 8

if array_a(i) > array_a(i + 1) then

array_a(9) = array_a(i)

array_a(i) = array_a(i + 1)

array_a(i + 1) = array_a(9)

end if

next i

dim max as integer

max = array_a(8) + 2

open dizhi for output as #1    '

for i = 0 to 2

for j = 0 to 2

space_b = max - len(a(i, j))

for k = 0 to space_b - 1

a(i, j) = a(i, j) + " "   '''' 補齊對應的空格

next k

next j

print #1, a(i, j - 3) & a(i, j - 2) & a(i, j - 1)

next i

close #1

end sub

private sub command2_click()

randomize

for i = 0 to 2

for j = 0 to 2

a(i, j) = int(rnd * 99999) * int(rnd * 3) + int(rnd * 99 + 1)

text1(k).text = a(i, j)

k = k + 1

next j

next i

end sub

希望對你有幫助

vb將二維陣列寫入到txt檔案中 , 要求列左對齊

6樓:匿名使用者

1、開啟visual basic 6.0軟體,新建一個標準exe工程;

2、在新建的工程窗體上新增兩個按鈕控制元件,分別命名為產生陣列和寫入檔案;

dim a(10, 10) as integer

dim str as string

private sub command1_click()

dim i, j as integer

for i = 1 to 10

for j = 1 to 10

a(i, j) = int(rnd * 5000)

str = str & a(i, j) & space(7 - len(cstr(a(i, j))))

next j

str = str & vbcrlf

next i

print str;

end sub

private sub command2_click()

'覆蓋寫檔案

open "d:\1234567890.txt" for output as #1

print #1, str

close #1

msgbox ("寫入檔案完成!")

end sub

private sub form_load()

str = ""

end sub

4、點選執行或者按下f5執行工程,點選產生陣列的按鈕,可以看到產生的陣列,且是左對齊的風格;

5、點選寫入檔案,可以成功將陣列寫入檔案;

6、在d盤主目錄下,可以看到產生的檔案,開啟檔案,可以看到陣列被寫入檔案,且是左對齊的格式。

7樓:

用逗號輸出時對齊:

x=1y=124445

a=123

b=23

print #1, x, y, a, b

8樓:匿名使用者

private sub command1_click()dim a(9, 3) as singlefor i = 0 to 9

for j = 0 to 3

a(i, j) = i * j

next j

next i

open "c:\1.txt" for output as #1x = ""

for i = 0 to 9

for j = 0 to 3

x = x & a(i, j) & vbtabnext j

x = x & vbcrlf

next i

print #1, x

close #1

shell "notepad.exe c:\1.txt", vbnormalfocus

end sub

9樓:歸萱

留下通訊方式,我給你寫完了又給滅掉了

------------------------------

按私信已傳送,一看你就會明白怎麼做,前面給你回答的直接給滅了,全自己寫的我也搞不清楚為什麼會這樣。

vb裡怎麼把陣列寫入txt檔案

10樓:頭**

open filename for output as #1for i=lbound(a,1) to ubound(a,1)for j=lbound(a,2) to ubound(a,2)s=""

s=s & a(i,j) & iif(j=ubound(a,2),",",)

print #1, s

next

next

close #1

vc中如何把一個二維陣列的資料寫入txt檔案中

11樓:匿名使用者

#include

#include

#define n 2//資料的行數

using std::ofstream;

using std::endl;

int main(void)

ofs<

}ofs.close(); //關閉檔案return 0;

12樓:風若遠去何人留

可以使用c++的fstream類,將二維陣列中的每個資料逐個寫入txt檔案,並每行換行。

以整型二維陣列寫到txt檔案中為例,**如下:

#include

#include

using namespace std;

int main()

}ofstream out("out.txt");//開啟檔案。

for(i = 0; i < 10; i ++){for(j = 0; j < 10; j ++){out<

matlab中怎樣將三維陣列的維賦給二維如A1)賦給二維的B

1,直接賦值 b a 1 試了一下可以。2.先用次sum求每行元素和,因為要求 每個元素都除以每列之和 所以得用1次for迴圈 1 三維陣列中的各個為也是二維陣列,所以賦值可以直接賦即可!假設a是三維陣列,b是二維陣列 b a 1 b a 2 b a 3 分別把a的三維中的 一 二 三維賦給b。2 ...

matlab如何將二維陣列繪製成影象

1 首先,在工復 作命令視窗 制 mand windows輸入下述命令,用來定義x變數 x 0 0.01 2 pi 其中0.01表示步長,如下圖所示 2 其次,我們利用上述例題中的函式關係定義y與x之間的關係,輸入 y 2 exp 0.5 x cos 4 pi x error using mtime...

二維陣列元素個數怎麼算啊vb語言的,求

陣列 arr x to y,n to m 每一維的個數公式 上界 下界 1 第一維 ubound arr,1 lbound arr,1 1 第二維 ubound arr,2 lbound arr,2 1 總個數 n ubound arr,1 lbound arr,1 1 ubound arr,2 l...