Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 17:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB.NET] ProgressBars (Simple) für Anfänger

Discussion on [VB.NET] ProgressBars (Simple) für Anfänger within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
iSam34's Avatar
 
elite*gold: 0
Join Date: Nov 2013
Posts: 42
Received Thanks: 15
[VB.NET] ProgressBars (Simple) für Anfänger

Einleitung

Hallo liebe e*pvp Community! Ich muss sagen, ich bin selber noch nicht wirklich ein Über-Pro im Bereich VB.NET. Ich scheitere auch hin und wieder an eigentlich einfachen Aufgaben durch simple Logikfehler wie eigentlich jeder normale Mensch . Als ich mich dazu entschlossen habe, VB.NET zu lernen bzw einige Grundlagen zu lernen hatte ich erst keinen Plan was ich mit dem ganzen Visual Basic Kram anfangen soll. Das erste was ich "programmieren" wollte, ist ein simpler Keylogger. (Imma pro hacker -nicht). Als ich einige sachen in die Form geworfen habe, dachte ich mir "In einen guten Keylogger gehört eine ProgressBar rein! Das sieht legit aus (nicht) und schindet eindruck bei den naiven Leuten, die dieses Tool nutzen!". Und da währen wir auch schon :

Wie zum Geier benutzt man eine ProgressBar?

Benötigte sachen :
  • Button
  • ProgressBar
  • Timer

Kann in etwa so aussehen :



Als erstes machen wir einen Doppelklick auf den Button.
-> Jetzt sieht man den Tab "Form1.vb" mit dem Programm Code Drinnen.

Unter "Private Sub bla bla " Schreiben wir folgendes :

Code:
Timer1.Start()
Mit diesem Befehl, wird per Knopfdruck der Timer gestartet.

Diesen stellen wir nun ein :

Zurück auf den Tab "Form1.vb [Entwurf]" und einen Doppelklick auf Timer1.
-> Wir befinden uns nun wieder im Tab "Form1.vb"

Folgender Code wird nun eingefügt :

Code:
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = 100
ProgressBar1.Step = 3
Progressbar1.PerformStep()
Erklärung:

ProgressBar1.Minimum = 0 :
Legt fest, wie viel der Wert der ProgressBar mindestens sein muss

ProgressBar1.Maximum = 100 :
Legt fest, wie viel der Wert der ProgressBar Maximal ist

ProgressBar1.Step = 3 :
Legt fest, wie viel dem Wert der ProgressBar pro "Schritt" hinzufügt

ProgressBar1.PerformStep() :
Führt einen Schritt aus (Wert der ProgressBar + 3). Da es ein Timer ist, werden mehrere Schritte ausgeführt!

Nun können wir noch Optional einen Code einfügen, der bestimmt was passiert wenn die Progressbar voll ist.

Also fügen wir folgenden Code ein :

Code:
If ProgressBar1.Value = 100 Then
            Timer1.Stop()
            MessageBox.Show("ProgressBar vollständig ausgefüllt!", "Meldung")
        End If
Erklärung :

Wenn der Wert der ProgressBar 100 entspricht, wird der Timer angehalten und eine Benachrichtigung wird auf deinem Bildschirm erscheinen.

Beachte dabei :



Abschluss

Danke fürs lesen und ich hoffe ich konnte euch bei dieser Grund-Funktion Hilfe geben. Ich weiß es ist nix Professionelles oder gar Cooles. Es soll einfach nur zeigen, wie man eine Progressbar benutzt!

Wenn ich euch geholfen habe, lasst doch ein Thanks da

~Sam
iSam34 is offline  
Thanks
1 User
Old 02/06/2014, 15:25   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
oh gott nein. wer benutzt eine progressbar in einem timer ? vorallem woher soll die dann wissen wie weit sie ausgefüllt werden soll?
Ein keylogger mit progress?

Das tut bringt nichts sry
YatoDev is offline  
Thanks
2 Users
Old 02/06/2014, 16:33   #3
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
scheitere auch hin und wieder an eigentlich einfachen Aufgaben
Hm...
Quote:
Das erste was ich "programmieren" wollte, ist ein simpler Keylogger
Woot?
Quote:
Benötigte sachen :
Button
ProgressBar
Timer
Nicht benötigt, in deinem Falle ja aber kriegt man schöner und besser hin.
Quote:
Unter "Private Sub bla bla " Schreiben wir folgendes :
Sehr professionell.

Man kann sich jetzt über das Tutorial streiten aber da du noch Anfänger bist hätte ich dir nicht geraten eins zu schreiben da du möglicherweise einige Leute zum eingeschränkten Denken bringst und nicht mehrere Methoden nennst wie man das noch angehen könnte.
Wenn du an einfachen Sachen scheiterst dann sollte man erst recht kein Tutorial schreiben, sowas sind essentielle Sachen die man einfach draufhaben muss und ohne schreibt man keine halbwegs vernünftigen Tutorials.

Außerdem das nächste Mal erstmal auf Vorschau drücken bevor man etwas absendet.
alpines is offline  
Thanks
3 Users
Old 02/06/2014, 16:36   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Der Logik nach erfüllt sich die Bedingung progress == 100 nie. 0 + 3 + 3 + 3 + 3... = niemals 100. Hm.
snow is offline  
Thanks
9 Users
Old 02/06/2014, 16:41   #5
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by snow911 View Post
Der Logik nach erfüllt sich die Bedingung progress == 100 nie. 0 + 3 + 3 + 3 + 3... = niemals 100. Hm.
Quote:
Ich scheitere auch hin und wieder an eigentlich einfachen Aufgaben durch simple Logikfehler
Stimmt wohl.
alpines is offline  
Thanks
3 Users
Old 02/06/2014, 18:37   #6
 
​Tension's Avatar
 
elite*gold: 110
Join Date: Jun 2013
Posts: 599
Received Thanks: 510
Man sollte keine Tutorials schreiben wenn man die Sprache nicht in einem gewissen Level beherrscht.
​Tension is offline  
Thanks
1 User
Old 02/15/2014, 12:42   #7
 
DeinMud's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 990
Received Thanks: 127
@snow911
Bei Performstep wird intern geprüft ob sich der Wert über MaxValue befindet, wenn ja wird auf MaxValue gesetzt (100), deswegen erfüllt sich die Bedingung schon.
Bei Value += 3 würde die Bedingung nie erfüllt.

Zu dem Tutorial sag ich aber mal gar nix
DeinMud is offline  
Old 04/24/2014, 20:09   #8



 
elite*gold: 35
The Black Market: 110/0/0
Join Date: Dec 2009
Posts: 1,051
Received Thanks: 441
Quote:
Originally Posted by DeinMud View Post
@snow911
Bei Performstep wird intern geprüft ob sich der Wert über MaxValue befindet, wenn ja wird auf MaxValue gesetzt (100), deswegen erfüllt sich die Bedingung schon.
Bei Value += 3 würde die Bedingung nie erfüllt.

Zu dem Tutorial sag ich aber mal gar nix
Das stimmt schon, aber in diversen anderen Sprachen gibt es solche Dinge wie in .NET eben nicht, daher sind das 'bad coding habits', die man Leuten einfach nicht beibringen sollte. Wenn man ein Tutorial macht, sollte man auch schon was davon verstehen. Der Code selbst ist ja nun mal unnötig, dazu will ich nichts sagen, aber angenommen, jemand würde diesen Code tatsächlich nehmen wollen, dann bitte so:
Code:
If ProgressBar1.Value >= 100 Then
            Timer1.Stop()
            MessageBox.Show("ProgressBar vollständig ausgefüllt!", "Meldung")
        End If
Man beachte das >=. Wenn progressbar >= 100 wäre einfach besser, auch wenn es so wie du es gemacht hast in diesem Fall auch gehen würde.
i0N is offline  
Old 04/24/2014, 20:46   #9
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
für progress sollte man am besten prozent verwenden.
wenn die pb bei 4500 also voll ist und der aktuelle wert 3000 ist rechnet man
3000/4500*100 oder jenachdem (3000/4500)*100
YatoDev is offline  
Old 04/24/2014, 21:29   #10
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Da * vor / nicht bevorzugt wird spielt es keine Rolle ob man 3000/4500 * 100 oder (3000/4500)*100 rechnet. Letzteres zieht sogar mehr Rechenleistung da die Klammern geparsed werden müssen, aber das ist unwichtig.
alpines is offline  
Old 04/25/2014, 02:02   #11
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by alpines View Post
Da * vor / nicht bevorzugt wird spielt es keine Rolle ob man 3000/4500 * 100 oder (3000/4500)*100 rechnet. Letzteres zieht sogar mehr Rechenleistung da die Klammern geparsed werden müssen, aber das ist unwichtig.
wir sind hier nicht bei autoit.

könnte mir sogar vorstellen das das wegoptimiert wird wie auch immer^^
YatoDev is offline  
Old 04/25/2014, 02:32   #12

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
Quote:
Originally Posted by »FlutterShy™ View Post
für progress sollte man am besten prozent verwenden.
wenn die pb bei 4500 also voll ist und der aktuelle wert 3000 ist rechnet man
3000/4500*100 oder jenachdem (3000/4500)*100
Bei deinem Code kommt immer 0% raus.

Quote:
Da * vor / nicht bevorzugt wird spielt es keine Rolle ob man 3000/4500 * 100 oder (3000/4500)*100 rechnet
Du weißt nicht wie der Ausdruck geparst wird, was ist, wenn 4500 * 100 zuerst ausgewertet wird?

Quote:
Letzteres zieht sogar mehr Rechenleistung da die Klammern geparsed werden müssen, aber das ist unwichtig.
Mein eigener Compiler berücksichtigt Klammern schon beim Übersetzen, ein Compiler aus dem Hause Microsoft kann das garantiert auch.

Quote:
also bei mir ergibt das 66%




Datentypen 101: Integer / Integer schneidet den Rest ab ohne aufzurunden o.ä. Wenn bei a / b a kleiner ist, kommt folglich 0 raus. (3000 * 1.0f) oder auch ein Cast zu float löst das ganze.
snow is offline  
Old 04/25/2014, 02:51   #13
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Quote:
Originally Posted by snow911 View Post
Bei deinem Code kommt immer 0% raus.
also bei mir ergibt das 66%

Quote:
Originally Posted by snow911 View Post
Datentypen 101: Integer / Integer schneidet den Rest ab ohne aufzurunden o.ä. Wenn bei a / b a kleiner ist, kommt folglich 0 raus. (3000 * 1.0f) oder auch ein Cast zu float löst das ganze.
schon klar das da immer ne kommazahl raus kommt da man immer das kleine durch das große teilen muss.
YatoDev is offline  
Old 04/25/2014, 05:00   #14
 
elite*gold: 0
Join Date: Jan 2012
Posts: 759
Received Thanks: 416
Danke man!

Ich habe nun schon ewig an meinem Projekt gearbeitet und bin schon fast fertig. Es war mir nur immer ein Rätsel, wie diese komische API von der ProgressBar funktioniert, so komplex und lückenhaft dokumentiert sie schließlich ist! Dass man dort drei Attribute setzen muss ... Also eigentlich kann ich mich schon mit der Klassenreferenz alleine in trivial Bliotheken einarbeiten, aber hier bin ich wirklich froh ein Tutorial wie dieses gefunden zu haben!

Danke!!

Kannst du bitte noch mehr solcher Anleitungen machen?
dowhile is offline  
Thanks
3 Users
Old 04/25/2014, 18:35   #15
 
alpines's Avatar
 
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
Quote:
Originally Posted by snow911 View Post
Du weißt nicht wie der Ausdruck geparst wird, was ist, wenn 4500 * 100 zuerst ausgewertet wird?
Liest man nicht normalerweise von links nach rechts?
alpines is offline  
Reply


Similar Threads Similar Threads
[How To]Simple VB Spammer (very simple) [Für Anfänger]
08/10/2012 - Coding Tutorials - 12 Replies
So, da ich mir gedacht habe, warum schreibst du eig keine Tutorials für epvp wollte ich heute mal damit Anfangen welche zu schreiben Ich werde alles mit kleinen Erklärungen im Text erklären. Sie sind mit ' gekennzeichnet. Sie werden von VB nicht mit in den Code einbezogen. So kann man einfach alles stehen lassen und hat im Nachhinein eine komplette Erklärung Was benötigt ihr? -Visual Basic 2008 oder besser -ein kleines bisschen Grundwissen Welche Steuerelemente werden benötigt?



All times are GMT +1. The time now is 17:57.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.