PDA

View Full Version : سوال: Msflexgrid



zhmzhm
یک شنبه 24 آذر 1387, 22:14 عصر
سلام!بازم به کمک شما احتیاج دارم!میخوام اطلاعات یک فایل تکست رو بخونم و در یک جدول چاپ کنم، این فایل تکست یک سری سطر وستون از اعداد است.کد زیر رو نوشتم.اما مشکلی که دارم اینه که اگر در یک سطر تعداد ستونها کمتر از 7 تا بشه ستونهای باقیمانده سطر را با ستونهای اول سطر بعد پر میکنه و برنامه نمیتونه تشخیص بده که باید بره سطر بعد.لطفاً کمکم کنید برنامه رو درست کنم:ناراحت:

Private Sub jadval
Dim s60(21, 7) As Single
Dim i As Byte, j As Byte
Dim a0 As Single, a1 As Single, a2 As Single, a3 As Single, a4 As Single, a5 As Single, a6 As Single
MSFlexGrid1.Rows = 21
MSFlexGrid1.Cols = 7
'Open "E\New Text Document.txt" For Input As #1
For i = 0 To 20
MSFlexGrid1.Row = i
Input #1, a0, a1, a2, a3, a4, a5, a6
(s60(i, 0) = Val(a0
(s60(i, 1) = Val(a1
(s60(i, 2) = Val(a2
(s60(i, 3) = Val(a3
(s60(i, 4) = Val(a4
(s60(i, 5) = Val(a5
(s60(i, 6) = Val(a6
For j = 0 To 6
MSFlexGrid1.Col = j
((MSFlexGrid1.Text = Val(s60(i, j
Next j
Next i
Close #1
End Sub

3dboy1
یک شنبه 24 آذر 1387, 22:35 عصر
سلام خدمت دوست عزیز

این سورسی که در اختیارت میزارم msflex را به ورد میبره

امیدوارم مشکلت حل بشه

موفق باشی

http://users5.titanichost.com/3dboy/sorce/transfer 2 word.rar

zhmzhm
یک شنبه 24 آذر 1387, 22:41 عصر
ممنون بابت لطفتون اما من میخوام تکست رو به msflexgrid بیارم!

MMR_1344
دوشنبه 25 آذر 1387, 03:35 صبح
دوست عزسز میتونی از دستور "Line Input" برای خوندن هر سطر استفاده کنی و اون رو در يک متغير بریزی سپس مقادير مورد نظر رو اگر با ","یا " " جدا شدن از هم مجزا کنی و اونها رو د يک جدول بریزی

3dboy1
دوشنبه 25 آذر 1387, 05:47 صبح
با سلام
من منظور شما رو متوجه نشدم
اگر فرم مورد نظرتون رو در اینجا بزارین خیلی عالی بود

vbhamed
دوشنبه 25 آذر 1387, 11:34 صبح
سلام
نمونه زير با فرض اينكه اطلاعات با كاما (,) از هم جدا شدن كار مي كنه و تعداد سطرهاي گرايد رو هم خودش تنظيم مي‌كنه



Private Sub jadval()

Dim i%, j%
Dim x$, temp() As String

MSFlexGrid1.Rows = 0
MSFlexGrid1.Cols = 7

Open "E:\New Text Document.txt" For Input As #1

For i = 0 To 20

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Row = i

Line Input #1, x

temp = Split(x, ",")

For j = 0 To UBound(temp)

MSFlexGrid1.Col = j
MSFlexGrid1.Text = Val(temp(j))

Next

Next

Close #1

End Sub

zhmzhm
دوشنبه 25 آذر 1387, 18:47 عصر
از همه دوستانی که جواب سؤالمو دادن ممنونم بخصوصvbhamed . با جوابتون خیلی کمکم کردین.فقط یه مشکله دیگه هم دارم!اونم اینه که اطلاعات با tab جدا شدن.اما تو دستور split نه tab رو تشخیص میده و نه space و با هر دو جواب غلط میده .شاید هم مشکل از قبلشه که وقتی فایل رو میخونه tab رو تشخیص نمیده.به نظر شما مشکل از کجاست؟

zhmzhm
چهارشنبه 27 آذر 1387, 12:07 عصر
کسی نمیتونه کمکم کنه؟

vbhamed
چهارشنبه 18 دی 1387, 10:11 صبح
سلام


Private Sub jadval()

Dim i%, j%
Dim x$, temp() As String

MSFlexGrid1.Rows = 0
MSFlexGrid1.Cols = 7

Open "E:\New Text Document.txt" For Input As #1

For i = 0 To 20

MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Row = i

Line Input #1, x

x = Replace(x, vbTab, ",")

temp = Split(x, ",")

For j = 0 To UBound(temp)

MSFlexGrid1.Col = j
MSFlexGrid1.Text = Val(temp(j))

Next

Next

Close #1

End Sub