Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Please βοήθεια με την ProgressBar

Îåêßíçóå áðü ôï ìÝëïò Nikolaos. Τελευταία δημοσίευση από το μέλος Nikolaos στις 13-07-2006, 14:03. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-07-2006, 17:50 14610

    Confused [8-)] Please βοήθεια με την ProgressBar

    Είμαι νέος εδώ στο site.

    Από προγραμματισμό ξέρω αρκετά μπορώ να πω......

    Αλλά όχι αυτό:

    Στην Visual Basic 6...πως χρησιμοποιώ ένα progressbar ?

    π.χ.: Θέλω να κάνω αντιγραφή ενός αρχείου από έναν φάκελο σε κάποιον άλλο και θέλω να βάλω ένα progressbar που να δείχνει την πρόοδο της αντιγραφής...

     

    Ή όταν κάνω εξαγωγή αρχείων από τα Resources και τα αποθηκεύω κάπου....την ώρα της εξαγωγής θέλω ένα progressbar να δείχνει την πρόοδο εξαγωγής.....

     

    Ελπίζω να καταλάβατε τι ζητάω......

     

    Υ.Γ.: Αν γίνεται πείτε μου εύκολο τρόπο, αλλιώς αν δεν γίνεται πείτε μου δύσκολο. Δεν πειράζει.

  •  11-07-2006, 23:10 14619 σε απάντηση της 14610

    Απ: Please βοήθεια με την ProgressBar

    Θα προσπαθήσω να απαντήσω, αλλά δεν έχω πλέον VB6 στο μηχάνημα μου, οπότε τα ονόματα των μεθόδων και των properties μπορεί να είναι λάθος.

    Καταρχήν, το γεμάτο είναι το Progressbar ελέγχεται από το Value. Αυτό μπορεί να πάρει τιμές μεταξύ των property MinValue και MaxValue. Αυτά μπορείς να τα βάλεις σε όποια τιμή θες εσύ. Αν π.χ. έχεις ένα for loop με 46 βήματα μπορείς άνετα να βάλεις το MaxValue=46.
    Κάθε φορά που θέτεις μία νέα τιμή στο Value θα πρέπει να καλείς και την DoEvents για να μπορέσει να ζωγραφιστεί το Progressbar. Διαφορετικά, το progressbar θα ξαναζωγραφιστεί μόνο όταν τελειώσει το loop.

    Τώρα στα ερωτήματα σου. Στην πρώτη περίπτωση, το ProgressBar δεν θα σε βοηθήσει. Ο λόγος είναι ότι η αντιγραφή γίνεται σαν μία ενέργεια, οπότε δεν μπορείς να αλλάξεις την τιμή του progressbar κατά τη διάρκεια της. Αν αντιγράφεις πολλά αρχεία, μπορείς να αλλάξεις το Value κάθε φορά που ολοκληρώνεται μία αντιγραφή. Το ίδιο ισχύει και για την εξαγωγή αρχείων από Resources.

    Ευτυχώς, υπάρχει ένα function του Win32 API, το SHFileOperation το οποίο επιτρέπει την αντιγραφή αρχείων και την εμφάνιση ενός Progressbar ίδιου με αυτού που εμφανίζουν τα Windows κατά τη διάρκεια της αντιγραφής. Θα βρεις ένα λεπτομερές παράδειγμα παρακάτω http://vbnet.mvps.org/index.html?code/shell/shfileopadv.htm


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  13-07-2006, 14:03 14667 σε απάντηση της 14619

    Απ: Please βοήθεια με την ProgressBar

     pkanavos wrote:

    Τώρα στα ερωτήματα σου. Στην πρώτη περίπτωση, το ProgressBar δεν θα σε βοηθήσει. Ο λόγος είναι ότι η αντιγραφή γίνεται σαν μία ενέργεια, οπότε δεν μπορείς να αλλάξεις την τιμή του progressbar κατά τη διάρκεια της. Αν αντιγράφεις πολλά αρχεία, μπορείς να αλλάξεις το Value κάθε φορά που ολοκληρώνεται μία αντιγραφή. Το ίδιο ισχύει και για την εξαγωγή αρχείων από Resources.

     

    Και όμως γίνεται.....έχω κατεβάσει έναν κώδικα που κάνει αντιγραφή με Progressbar....Θα μου πεις

    " και γιατί δεν παίρνεις από εκεί ιδέες ". Δεν μπορώ να καταλάβω το τρόπο που κάνει χρήση της Progressbar...

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems