Αναζήτηση αυτού του ιστολογίου

Τετάρτη 12 Φεβρουαρίου 2014

Σχεδιάστε γραμμές στο Visual Basic.

Στο σημερινό project θα φτιάξουμε ένα πρόγραμμα που μπορεί να δημιουργεί ευθείες γραμμές, Συγκεκριμένα στο πρόγραμμα που θα φτιάξω θα δημιουργό γραμμές μέσα σε ένα picturebox εσείς όμως μπορείτε να το χρησιμοποιήσετε όπως θέλετε και όπου θέλετε! Όπως πάνω σε μια φωτογραφία μέσα στο form ή και στην επιφάνεια εργασίας. Συγκεκριμένα εγώ θα σας δείξω τις βασικές δυνατότητες, Το συγκεκριμένο project είναι κάπως δύσκολο γιαυτο δείξτε προσοχή στο τι λέω!

Σε αυτό το project θα χρειαστούμε:
1 Button
4 Textbox
4 Label
1 PictureBox

Επίσης θα χρειαστείτε το powerpack της microsoft...

Εγώ τα σύνταξα κάπως έτσι(button1..etc)




















Ο Πρώτος και βασικότερος κωδικός για να λειτουργήσει αυτή η δυνατότητα είναι ο παρακάτω 'Imports Microsoft.VisualBasic.PowerPacks' ο οποιος μπαίνει στην πρώτη σειρά τον κωδίκων!!



Άμεσος μετά πηγαίνουμε Project -> Add reference -> (διπλό click στο) Microsoft.VisualBasic.PowerPacks
Ώστε να εισαχθεί η δυνατότητα στο project μας!


Τώρα είμαστε έτοιμη να ξεκινήσουμε το ενδιαφέρον κομμάτι.
Στο button1_click βάζουμε τον εξής κωδικό

   Dim canvas As New ShapeContainer
        Dim theLine As New LineShape

        canvas.Parent = PictureBox1

        theLine.Parent = canvas

        theLine.StartPoint = New System.Drawing.Point(TextBox1.Text, TextBox2.Text)

        theLine.EndPoint = New System.Drawing.Point(TextBox3.Text, TextBox4.Text)

Εξήγηση: με τα dim δημιουργούμε την δυνατότητα σχεδίασης στο form
Canvas.parent = Picturebox1 .. Σε πιο αντικείμενο να σχεδιάζουμε γραμμές εγώ έχω επιλέξει το picturebox γίαυτό είναι γραμμένο
theLine.StartPoint = New System.Drawing.Point(TextBox1.Text, TextBox2.Text) .. 
Σιμενι πως ξεκινάμε μια γραμμα απο τα σιμια Α Καθετα & Β Οριζοντιας της οθονης μας
Συγκεκριμένα εγς χρησιμοποίησα τησ σιντενταγμενες τον textbox1 και 2..  η οπιες ειναι η σιντεταγμενες του ποντικιού το ιδιο πραγμα και με το   theLine.EndPoint = New System.Drawing.Point(TextBox3.Text, TextBox4.Text)  που θα τελειώνει η γραμμη μας! χαρείς της συντεταγμενες... 



Αυτό που πρέπει να κάνουμε τώρα είναι πως όταν κάνουμε click στο picturebox να παίρνουμε τις ακριβές συντεταγμένες του ποντικιού ώστε η γραμμή μας να βγαίνει σαφείς.


Εαν θέλουμε να περνούμε της σηντεταγμενες την στιγμή που χρισιμοπειουμε το προγραμμα
Βαζουμε ενα picturebox1_MouseMove και στο mousemove βαζουμε τον εξεις κοδικο

    Dim phx As String
        Dim phy As String
        phx = Me.Location.X + 8
        phy = Me.Location.Y + 90
     Dim mousex As String
        Dim mousey As String
        mousex = MousePosition.X
        mousey = MousePosition.Y

        Label1.Text = mousex - phx
        Label2.Text = mousey - phy


Γιαυτον το λόγο εγώ δημιουργήσει δυο συντεταγμένες mousex και mousey ώστε να περνώ την ακριβής θέση του ποντικιού στην οθόνη ..

Δυο συντεταγμένες phx και phy για να κάνω την αφαίρεση τις τοποθεσίας του παραθυρου με την τοποθεσία του ποντικιού στην οθόνη. Με αυτόν το τρόπο που βλέπετε με το +8 και +90 ρυθμίζω ώστε η θέση του ποντικιού 0* στην θέση του παραθυρου... Δηλαδή η κανονική θέση 0* του ποντικιού είναι στην μια γωνια της οθόνης μας έως την άλλοι με αυτόν το τρόπο κάνω την γωνια του παραθύρου μου ως 0* θέση του ποντικιού ώστε να εμφανίζεται σωστά η γραμμή,,,
περίπλοκο; ANYWAY  το tutorial τελειώνει εδώ παιξτε με τα +8 και +90 οστε η θεσει του ποντικιού 0 να βρίσκετε στην γονια του παραθύρου  









Πέμπτη 16 Ιανουαρίου 2014

Πως να φορτώσετε και να αποθηκεύσετε αρχεία κείμενου στο Vb(FileDialog).

Πως να ανοίξετε αρχεία κειμένου και όχι μονο, Φτιάχνοντας μια εφαρμογή Visual Basic.
Για παράδειγμα όπως το σημειωματάριο τον windows κάτι τέτοιο θα φτιάξουμε και εμείς σήμερα, φυσικά δεν είναι υποχρεωτικό να το κάνετε όπως το κάνω εγώ διότι το Openfile Dialog και το Savefile Dialog μπορούν να χρησιμοποιηθούν με χιλιάδες τρόπους.. απλά να έχετε ιδέες!






Για αυτό το project χρειαζόμαστε.

2X Button's (button1,button2)
Openfiledialog

Savefiledialog
Textbox
Label

Τα συντονίζουμε κάπως έτσι. Παρεπιπτόντως το label1 δεν φαίνεται διότι δεν έχει τίποτα γραμμένο στο text, το label βρίσκετε ακριβώς διπλα από το button2(save file).

To textbox1 πρέπει να είναι "multiply" ώστε να έχουμε πολλές σιρες και όχι μονο μια.. το button1 το ονόμασα "open file" και το button2 "save file"  ακριβώς από διπλα είναι το label1 με κενό text.



Με διπλό click στο button1 και στο button2 δίνουμε τις εξής εντολές.

 SaveFileDialog1.ShowDialog() = Εμφάνισε τον διάλογο αποθήκευσης αρχείου.
 OpenFileDialog1.ShowDialog() = Εμφάνισε τον διάλογο φόρτωσης αρχείου.



Τώρα, για να βλέπουμε την διαδρομή του αρχείου που επιλέξαμε βάζουμε ακριβώς κάτω από το "openfiledialog.showdialog()" τον εξής κώδικα   "Label1.Text = OpenFileDialog1.FileName"
Δηλαδή δίνουμε στο text του label1 την διαδρομή του αρχείου που επέλεξε το openfiledialog.

OpenFiledialog1.FileName = Η Διαδρομή του αρχείου (String)

Με αποτέλεσμα αυτό:


Για να μεταφέρουμε το κείμενο του αρχείου που επιλέξαμε στο textbox πρέπει να δώσουμε τον εξής κώδικα...

Dim objReader As New System.IO.StreamReader('diadromi tou arxiou, eipame prin pos tin vriskoume')
to antikimeno pou tha exei to text.text = objReader.ReadToEnd
objReader.Close()



Και το τελευταίο βήμα είναι πως να αποθηκεύσουμε το αρχείο.
Προσθέτουμε στο button2 το έξεις.... (''My.Computer.......")
SaveFileDialog1.FileName =  Το αρχείο που επιλέξαμε προς αποθήκευση(η φτιάξαμε).
Textbox1.text = Τι να αποθήκευση στο αρχείο.

   My.Computer.FileSystem.WriteAllText(diadromi arxiou.FileName, ti na apothikefti.Text, False)



Κάτι τελευταίο, ώστε το αρχείο να αποθηκεύεται ως txt. πρέπει να βάλουμε filters στο savefiledialog.
Κάνουμε το εξής πάμε στα properties του savefiledialog, κατεβαίνουμε μέρχι να βρούμε το filter
Βάζουμε: Text files (*.txt)|*.txt|All files (*.*)|*.* και είμαστε έτυμη.