Autor Thema: Fortschrittsbalken  (Gelesen 1812 mal)

Offline bikerboy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.155
  • Geschlecht: Männlich
Fortschrittsbalken
« am: 30.04.07 - 09:44:47 »
Hallo sehr geehrte Gemeinde,

war lange nicht mehr hier. Habe mich ein bisschen weiter gebildet viele Bücher und PDFs gelesen und hoffe ein bisschen ist hängen geblieben.  ;D

Ich würde gerne einen Fortschrittsbalken realisieren. Habe hier einen Agenten der aus einem riesigen Textblog viele Dokumente nach einem bestimmten Aufbau generiert. Der Agent funktioniert auch wunderbar. Ich würde aber gerne dem Benutzer ein Fenster aufmachen in dem Steht wie viele Dokumente er erstellt hat und wenn es geht wie weit er ist, das ganze am besten mit einem Balken zur schönen Visualisierung. Also so wie das Fenster beim Kopieren in Windows.

Meine Boardsuche hat wie immer nichts gebracht, deswegen wäre ich euch dankbar wenn ihr was für mich habt.

Gruß Robert
Robert Kreutzer

Anwendungsentwicklung

"Jeder Idiot kann was kompliziertes bauen, es Bedarf eines Genie für etwas einfaches"

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Fortschrittsbalken
« Antwort #1 am: 30.04.07 - 09:49:05 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline just.do.it

  • Junior Mitglied
  • **
  • Beiträge: 61
  • Geschlecht: Männlich
Re: Fortschrittsbalken
« Antwort #2 am: 30.04.07 - 09:52:57 »
Hallo,

ich sehe da Prinzipiell zwei Möglichkeiten. Die eine ist, daß der Agent so eingestellt ist, daß er in einem separatem Thread läuft. Das hat den Vorteil, daß der Notes-Client nicht blockiert ist.

Die andere ist die Verwendung einiger Funktionen aus der nnotesws.dll.

Code
' ---> ################################### PROGRESS BAR ######################################
'Source: Somewhere from the www ...... :-)
'Works with R5 and R6

'We need two lines on the progress bar
Const NPB_TWOLINE = 3
Const NPB_ONELINE = 2

'Declare:
Declare Public Function NEMProgressBegin Lib "nnotesws.dll" ( Byval wFlags As Integer ) As Long
Declare Public Sub NEMProgressDeltaPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwIncrement As Long )
Declare Public Sub NEMProgressEnd Lib "nnotesws.dll" ( Byval hwnd As Long )
Declare Public Sub NEMProgressSetBarPos Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwPos As Long)
Declare Public Sub NEMProgressSetBarRange Lib "nnotesws.dll" ( Byval hwnd As Long, Byval dwMax As Long )
Declare Public Sub NEMProgressSetText Lib "nnotesws.dll" ( Byval hwnd As Long, Byval pcszLine1 As String, Byval pcszLine2 As String )


Public Class LNProgressbar
	
	hwnd As Long
	
	Sub New(SecondLineVisible As Integer)
	'Set-up the progress bar on the screen
		If SecondLineVisible Then
			hwnd = NEMProgressBegin(NPB_TWOLINE)
		Else
			hwnd = NEMProgressBegin(NPB_ONELINE)
		End If
	End Sub
	
	Sub SetText(FirstLineText As String,SecondLineText As String)
	'Display the text in progress bar
		NemProgressSetText hwnd, FirstLineTExt,SecondLineText
	End Sub
	
	Sub SetProgressPos(Progresspos As Long)
		NEMProgressSetBarPos hwnd, ProgressPos
	End Sub
	
	Sub SetProgressRange(ProgressMaxElements As Long)
	'Set-up the max elements in the progress bar, if you have a list with 230 elements then set the MAX to 230 elements.
	'For every element you proceed increase the SetProgressPos by one to reached 230
		
		NEMProgressSetBarRange hwnd, ProgressMaxElements
		
	End Sub
	
	Sub DeltaPos(DPos As Long)
	' This function adds the number in DPOS to the current ProgressPos
		NEMProgressDeltaPos hwnd, DPos
	End Sub
	
	Sub Delete
		'Terminate the progress bar on the screen
		NEMProgressEnd hwnd
	End Sub
End Class
'< --- ################################### PROGRESS BAR ######################################

Gruß
Dirk

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz