PDA

View Full Version : استفاده از ProgressBar



heidar_jd
پنج شنبه 20 بهمن 1384, 19:29 عصر
سلام به دوستان
این سوال رو قبلا پرسیده بودم ولی متاسفانه...

من اگه بخواهم حجم یک فایل مثلا یک فایل دیتا بیس را بدست بیارم و progressBar رو طبق آن مقدار دهی کنم، باید چه عملی انجام شود؟؟؟

لطفا منو راهنمایی کنید...
---------------------------------------------------------

بخدا نگویید مشکلات بزرگی دارم> به مشکلات بگویید خدای بزرگی دارم...

Mehrafrooz
پنج شنبه 20 بهمن 1384, 23:20 عصر
این کد اولی برای اضافه کردن رکورد به دیتا ست است ولی می تونی با تغییرات اونو به اون چیزی که می خوای تبدیل کنی فقط یه راهنمایی است که درا داخل خود msdn هم موجوده


Public Sub CreateNewRecords()
' Sets the progress bar's Maximum property to
' the total number of records to be created.
ProgressBar1.Maximum = 20

' Creates a new record in the dataset.
' NOTE: The code below will not compile, it merely
' illustrates how the progress bar would be used.
Dim anyRow As CustomerRow = DatasetName.ExistingTable.NewRow
anyRow.FirstName = "Stephen"
anyRow.LastName = "James"
ExistingTable.Rows.Add(anyRow)

' Increases the value displayed by the progress bar.
ProgressBar1.Value += 1
' Updates the label to show that a record was read.
Label1.Text = "Records Read = " & ProgressBar1.Value.ToString()
End Sub


یا این دومی که برای کپی کردن تعدادی فایل به کار برده می شه


Private Sub CopyWithProgress(ByVal ParamArray filenames As String())
' Display the ProgressBar control.
pBar1.Visible = True
' Set Minimum to 1 to represent the first file being copied.
pBar1.Minimum = 1
' Set Maximum to the total number of files to copy.
pBar1.Maximum = filenames.Length
' Set the initial value of the ProgressBar.
pBar1.Value = 1
' Set the Step property to a value of 1 to represent each file being copied.
pBar1.Step = 1

' Loop through all files to copy.
Dim x As Integer
for x = 1 To filenames.Length - 1
' Copy the file and increment the ProgressBar if successful.
If CopyFile(filenames(x - 1)) = True Then
' Perform the increment on the ProgressBar.
pBar1.PerformStep()
End If
Next x
End Sub
شاید بتونی با اینها به یه راه حلی برسی

صابر
جمعه 21 بهمن 1384, 20:13 عصر
من اگه بخواهم حجم یک فایل مثلا یک فایل دیتا بیس را بدست بیارم و progressBar رو طبق آن مقدار دهی کنم، باید چه عملی انجام شود؟؟؟

برای بدست آوردن حجم فایل:


If IO.File.Exists(strFilePath) Then
strFileSize = FileLen(strFilePath)
End If

اما منظورتون از اینکه progressBar رو طبق اون مقدار دهی کنید چیه؟
ProgressBar برای نشان دادن پیشرفت یه کاره و حجم رو با اون نشون نمی‌دن،
چون یک مبنا باید داشته باشه، مثلاً اگه فایل شما یک مگابایت باشه چند درصد و اگر پانصد مگابایت باشه چند درصد از ProgressBar باید پر بشه؟!

Mehrafrooz
جمعه 21 بهمن 1384, 21:15 عصر
ببینید منظور من خواندن یک یک رکوردهای یک دیتابیس هستش یعنی اینکه اگر میخواهید یک دیتابیس را بارگذاری گنید می تونید ابتدا کل رکوردهای اون را بدست بیارید و progressbar رو بر اساس اون مقدار دهی کنید و با خواندن هر رکورد یک واحدیه progressbar اضافه کنید اما در مورد منظور شما اطلاعی ندارم شاید با روشی که گفتم البته برای خواندن رکوردهای دیتابیس بشه کاری کرد

sh
جمعه 21 بهمن 1384, 23:43 عصر
دنبالش نگرد هیچ راهی نداره

جز اینکه در زمان لود اطلاعات یک تصویر با فرمت Gif نشان بدی که کاربر بدونه چیزی در حال لود شدن هست

Mehrafrooz
شنبه 22 بهمن 1384, 05:27 صبح
دوست عزیز من مثالی پیدا کردم که کارش کپی یا انتقال یک فایل از یک مکان به مکان دیگس . بسته به حجم فایل انتخاب شده progressbar رو مقدار دهی می کنه و و باپیشرفت عملی به progressbar اضافه می شه و وقتی progressbar به انتها می رسه یعنی کار تموم شده و پیغام اتمام کار رو میده.
خودم هم با دو فایل یکی به حجم 50 مگا بایت و دیگری 600 مگابابت امتحان کردم و دقیقا بسته به حجم فایل progressbar پیشرفت کار رو نشون می داد .
این هم لینکش
http://blogs.wdevs.com/Gootvilig/
این هم خودش

2336

امیدوارم کمکی کرده باشم

heidar_jd
یک شنبه 23 بهمن 1384, 20:49 عصر
از همه دوستان که منو راهنمایی کردن متشکر

parsdarab
چهارشنبه 17 فروردین 1390, 16:31 عصر
من می خوام کد زیر رو با پروسس بار نمایش داده بشه
Public Sub ScanFolder(ByVal folderSpec As String, ByRef currentNode As TreeNode)
Dim thisfolder As String
Dim allfolder() As String
allfolder = IO.Directory.GetDirectories(folderSpec)
For Each thisfolder In allfolder
Dim Nd As TreeNode
Nd = New TreeNode(IO.Path.GetFileName(thisfolder))
currentNode.Nodes.Add(Nd)
folderSpec = thisfolder
ScanFolder(folderSpec, Nd)
'Me.Refresh()
Next
End Sub

محسن شامحمدی
چهارشنبه 17 فروردین 1390, 16:49 عصر
من می خوام کد زیر رو با پروسس بار نمایش داده بشه
Public Sub ScanFolder(ByVal folderSpec As String, ByRef currentNode As TreeNode)
Dim thisfolder As String
Dim allfolder() As String
allfolder = IO.Directory.GetDirectories(folderSpec)
For Each thisfolder In allfolder
Dim Nd As TreeNode
Nd = New TreeNode(IO.Path.GetFileName(thisfolder))
currentNode.Nodes.Add(Nd)
folderSpec = thisfolder
ScanFolder(folderSpec, Nd)
'Me.Refresh()
Next
End Sub
این کد یک تابع بازگشتی است و بدلیل اینکه ما اطلاعاتی از تعداد تکرار اجرای این تایع نداریم ،به همین دلیل نمی توان این کار را با پروگرس بار انجام داد.