Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Progressbar Fel

Postades av 2006-03-14 09:46:29 - Lennart Danielsson, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 762 personer

Jag vill lägga till en progressbar som visar fortskridningen av lästa filer.
Det funkar MEN fladdrar hela tiden, den visar inte det rätta förloppet.
Hur GÖR jag???? se koden nedan OBS !!! endast VB 6

Dim ListItem As ListItem

Set ListItem = mListItems.Add(, , FileName)
ListItem.SubItems(1) = Path
ListItem.SubItems(2) = Size
mFileCount = mFileCount + 1
ProgressBar1.Min = 0
ProgressBar1.Max = mFileCount
If mTimeOut < Timer Then
DoEvents
Cancel = mCancel
mTimeOut = Timer + 1

ProgressBar1.Value = mFileCount
ProgressBar1.Refresh
End If


Svara

Sv: Progressbar Fel

Postades av 2006-03-14 09:57:16 - Sven Åke Persson

Ok spånar lite, Flyttar/lägger till DoEvents
Sen funderar jag, skall du verkligen göra < ProgressBar1.Refresh>
efter varje fil,tycker det fattas code kör du detta i en Loop ?
Testa att ta bort <ProgressBar1.Refresh>
<code>
Dim ListItem As ListItem
Dim mFileCount As Long
Set ListItem = mListItems.Add(, , FileName)
ListItem.SubItems(1) = Path
ListItem.SubItems(2) = Size
mFileCount = mFileCount + 1
ProgressBar1.Min = 0
ProgressBar1.Max = mFileCount
If mTimeOut < Timer Then
DoEvents
Cancel = mCancel
mTimeOut = Timer + 1
ProgressBar1.Value = mFileCount
ProgressBar1.Refresh
DoEvents
End If
</code>


Svara

Sv:Progressbar Fel

Postades av 2006-03-14 11:26:32 - Lennart Danielsson

Har testat att tabort refresh
Samma dåliga resultat som innan.

det finns mer code

Private Sub IFindFileCallBack_FindFile(ByVal Path As String, ByVal FileName As String, ByVal Size As Double, ByRef Cancel As Boolean)
Dim ListItem As ListItem
Dim mFileCount As Long
Set ListItem = mListItems.Add(, , FileName)
ListItem.SubItems(1) = Path
ListItem.SubItems(2) = Size
mFileCount = mFileCount + 1
ProgressBar1.Min = 0
ProgressBar1.Max = mFileCount
If mTimeOut < Timer Then
DoEvents
Cancel = mCancel
mTimeOut = Timer + 1
ProgressBar1.Value = mFileCount
'ProgressBar1.Refresh
DoEvents
End If


End Sub

här är koden när jag skall söka fil/er
Private Sub cmdFind_Click()
On Error GoTo cmdFind_Click_Err
If cmdFind.Caption = "Cancel" Then
mCancel = True
Else
cmdFind.Caption = "Cancel"

mFileCount = 0
mFolderCount = 0
Set mListItems = lvwResults.ListItems
mListItems.Clear
FindFilesAPI txtFolder, txtFilter, Me

lblStatus.Caption = ""
cmdFind.Caption = "Find"
mCancel = False
End If

cmdFind_Click_Exit:
Exit Sub

cmdFind_Click_Err:
MsgBox Err.Description, vbCritical
Resume cmdFind_Click_Exit
End Sub


Svara

Sv: Progressbar Fel

Postades av 2006-03-15 10:10:36 - Lennart Danielsson

Har löst problemet


Svara

Sv:Progressbar Fel

Postades av 2006-03-15 12:56:56 - Sven Åke Persson

Men så för helv... berätta för oss HUR !

Fae... det är ju hela pointen med såna här Forum att berättar "FeedBack"
hur man löser olika problem , bra eller dåligt bara det löser ett problem. !!!


Svara

Sv: Progressbar Fel

Postades av 2006-03-16 09:49:49 - Lennart Danielsson

Private Sub IFindFileCallBack_FindFile(ByVal Path As String, ByVal FileName As String, ByVal Size As Double, ByRef Cancel As Boolean)
Dim ListItem As ListItem
Dim mFileCount As Long
Dim x, y As Long
'Timer1.Enabled = True
Set ListItem = mListItems.Add(, , FileName)
ListItem.SubItems(1) = Path
ListItem.SubItems(2) = Size
mFileCount = mFileCount + 1
ProgressBar1.Min = 0
ProgressBar1.Max = mFileCount '
ProgressBar1.Value = 0
If mTimeOut < Timer Then
DoEvents

Cancel = mCancel
mTimeOut = Timer + 1

DoEvents

End If

sleep 500
ProgressBar1.Value = ProgressBar1.Value + 1
End Sub


Svara

Sv:Progressbar Fel

Postades av 2006-03-17 10:24:10 - Andreas Hillqvist

Är det inte lite dumt att sova i en halv sekund? Om du söker och finner 100 filer kommer sökningen ta 100*0.5=50 sekunder extra. En hel minut i onödan.
Dessutom är väl en progressbar helt fel. Eftersom det är en sökning vet du väl inte hur många filler det är från början. Max värdet. Utan du behöver igentlige en animation som visar att den arbetar/söker.


Svara

Sv: Progressbar Fel

Postades av 2006-03-17 11:01:51 - Sven Åke Persson

Exakt Andreas tänkte likadant

Lennart !
Du skall inte skriva Dim x, y As Long
Då blir x Variant och y Long
så här skall det se ut
Dim x As Long, y As Long
Använd <b>Screen.MousePointer = vbHourglass</b> i sådana här kör
<code>
Private Sub IFindFileCallBack_FindFile(ByVal Path As String, ByVal FileName As String, ByVal Size As Double, ByRef Cancel As Boolean)
Dim ListItem As ListItem
Dim mFileCount As Long
Set ListItem = mListItems.Add(, , FileName)
ListItem.SubItems(1) = Path
ListItem.SubItems(2) = Size
Screen.MousePointer = vbHourglass
mFileCount = mFileCount + 1
If mTimeOut < Timer Then
Cancel = mCancel
mTimeOut = Timer + 1
End If
Screen.MousePointer = vbDefault
End Sub
</code>


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 723
27 958
271 751
728
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies