Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να Hook μια γραμμή προόδου για να IO.Stream

Μια γραμμή προόδου στο IO ρεύμα δείχνει την πρόοδο της αποστολή ή λήψη αρχείων . Ένα ρεύμα IO χειρίζεται εισόδου και εξόδου χρησιμοποιώντας τη λειτουργικότητα ρεύματα . Ένα ρεύμα είναι μια αφηρημένη έννοια η οποία αντιπροσωπεύει μια συσκευή όπου η είσοδος και η έξοδος διεξάγονται . Τα ρεύματα που σχετίζονται με μια φυσική πηγή, όπως το πληκτρολόγιο ή μια κονσόλα εισόδου . C + + παρέχει την πρότυπη βιβλιοθήκη iostream συμπεριλαμβανομένων των βασικών προτύπων τάξη , τους τύπους και χειριστές . Οδηγίες
Η

1 Κάντε κλικ στο κουμπί " Έναρξη", " Όλα τα προγράμματα " και " Visual Studio " για να εισάγετε το ολοκληρωμένο περιβάλλον ανάπτυξης . Επιλέξτε τη γλώσσα προγραμματισμού Visual C + + . Κάντε κλικ στο " Form1.cs " για να μεταβείτε στην προβολή σχεδιασμού . " . Button1 " Κάντε κλικ στο " Toolbox " και " κουμπί" για να δημιουργήσετε ένα νέο κουμπί που ονομάζεται 2

Κάντε διπλό κλικ στο button1 και πληκτρολογήστε τον ακόλουθο κώδικα για να λάβετε πληροφορίες σχετικά με το αρχείο εισόδου :

χρησιμοποιώντας Σύστημα? χρησιμοποιώντας System.IOSystem.IO.FileInfo Fileinfo = νέα System.IO.FileInfo ( FileTextBox.Text ) ?
εικόνων 3

Διαβάστε από το αρχείο "c : \\ \\ text1.txt " στη νέα μεταβλητή FileStream " ρεύμα " , χρησιμοποιώντας τον ακόλουθο κώδικα :

χρήση ( ρεύμα System.IO.FileStream = νέα System.IO.FileStream ( " c : \\ \\ text1.txt " , System.IO.FileMode.Open , System.IO.FileAccess.Read ) )

Η χρήση της εκδήλωσης ProgressChanged αναφέρει την πρόοδο της αποστολής . Αποκτήστε την πρόοδο του upload χρησιμοποιώντας vairable

{ χρήση ( StreamWithProgress uploadStreamWithProgress = νέα StreamWithProgress ( ρεύμα ) ) { uploadStreamWithProgress.ProgressChanged + = uploadStreamWithProgress_ProgressChanged " uploadStreamWithProgress . "?
Η 4

διπλό κάντε κλικ form1 . Πάρτε το αρχείο ανεβάσετε πρόοδο μέσω των ακόλουθων λειτουργιών

Καθορισμός μεταβλητής bytesRead : ιδιωτικό μακρύ bytesRead ?

Διαβάστε τις φορτωμένα bytes σε μεταβλητή " bytesRead " σε StreamWithProgress λειτουργία για να

. δημόσια StreamWithProgress ( αρχείο FileStream ) { this.file = file ? μήκος = file.Length ? bytesRead = 0 ? εάν ( ProgressChanged = null ! ) ProgressChanged ( αυτό , νέες ProgressChangedEventArgs ( bytesRead , μήκος) ) ? }

Υπολογίστε και να επιστρέψει την πρόοδο του φορτώματος στη λειτουργία GetProgress : public double GetProgress ( ) { επιστροφή ( ( double ) bytesRead ) /file.Length ? }
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα