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 i statusbar.

Postades av 2002-05-22 13:19:09 - Benni Svensson, i forum visual basic - allmänt, Tråden har 3 Kommentarer och lästs av 515 personer

Jag hittade här på tips och tricks ett kodexemel för progressbar i en statusbar.
Jag är inte säker på att det är just det jag vill ha, men jag tänkte testa.
Vad jag söker efter är, om jag t ex vill hämta info i databasen så tar det trots allt några 10-dels sekund. Då skulle jag vilja ha progressbaren att visa förlopet.
Koden jag hittade ser ut så här:
[kod]
Private Sub ShowProgressInStatusBar(ByVal bShowProgressBar As Boolean)

Dim tRC As RECT

If bShowProgressBar Then

SendMessageAny StatusBar1.hwnd, SB_GETRECT, 1, tRC

With tRC
.Top = (.Top * Screen.TwipsPerPixelY)
.Left = (.Left * Screen.TwipsPerPixelX)
.Bottom = (.Bottom * Screen.TwipsPerPixelY) - .Top
.Right = (.Right * Screen.TwipsPerPixelX) - .Left
End With

With ProgressBar1
SetParent .hwnd, StatusBar1.hwnd
.Move tRC.Left, tRC.Top, tRC.Right, tRC.Bottom
.Visible = True
.Value = 0
End With
Else
SetParent ProgressBar1.hwnd, Me.hwnd
ProgressBar1.Visible = False
End If
End Sub

Modul
Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Public Declare Function SendMessageAny Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

' API

Public Const WM_USER As Long = &H400
Public Const SB_GETRECT As Long = (WM_USER + 10)
[/kod]
Men jag är osäker på hur jag skall koppla det.
Säg att jag kör.

rst=Con.execute(SQL)

då ville jag att när rst körs, så skulle progressbaren vakna till liv, och sommna in så fort som programet har kört färdigt.
Hur gör man detta???


Svara

Sv: Progressbar i statusbar.

Postades av 2002-05-22 19:22:17 - Björn Lindahl

Du får hämta datan från databasen async.

Tex:

<code>
Private WithEvents conn As ADODB.Connection
Private WithEvents rs As ADODB.Recordset
Private iCount As Integer


Private Sub Command1_Click()

Set conn = New ADODB.Connection

Dim sConn As String

sConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb;Persist Security Info=False"

conn.CursorLocation = adUseClient
conn.ConnectionTimeout = 10
conn.Open sConn, , , adAsyncConnect

End Sub


Private Sub Command2_Click()

Set rs = New ADODB.Recordset

With rs
.CursorLocation = adUseClient
.Properties("Initial Fetch Size") = 2
.Properties("Background Fetch Size") = 4
End With

'Få ut antalet poster vi ska hämta
rs.Open "SELECT COUNT(*) FROM Table", conn
iCount = rs.Fields(0)
rs.Close

ProgressBar1.Max = iCount
rs.Open "SELECT * FROM Table", conn, adOpenKeyset, adLockOptimistic, adAsyncFetch

End Sub


Private Sub conn_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
msgbox "We have connection"
End Sub


Private Sub rs_FetchComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
MsgBox "Done"
End Sub


Private Sub rs_FetchProgress(ByVal Progress As Long, ByVal MaxProgress As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
If adStatus = adStatusOK Then
ProgressBar1.Value = Progress
Else
MsgBox "Some error"
End If

</code>


Svara

Sv: Progressbar i statusbar.

Postades av 2002-05-22 21:18:56 - Benni Svensson

Tack så mycket för ditt uttömmande svar, men det blir väll lite fel när jag kör SQL Server??


Svara

Sv: Progressbar i statusbar.

Postades av 2002-05-22 22:31:15 - Björn Lindahl

Ja, du får ändra connection strängen till det du behöver.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 612
27 953
271 709
6 509
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