johnykim Δημοσ. 6 Ιανουαρίου 2010 Δημοσ. 6 Ιανουαρίου 2010 Καλημέρα και καλή χρονιά! Θα ήθελα αν μπορείτε να με βοηθήσετε λίγο με την visual basic. Δίνω δεδομένα σε combobox και textbox, και μεταφέρονται με ένα κουμί add σε ένα listbox.Αυτο που θα ήθελα είναι να μαζεύονται ορισμένα δεδομένα στο listbox και μετά απο ένα όριο να βγάζει μήνυμα οτι είναι full.Δημιούργησα έναν πίνακα και προσπάθησα τα παρακάτω : for i=0 to ubound(pinakas) alltext=alltext+i listbox1.items.add(alltext) next ------------ Private Function full(ByVal elegxosfull As Integer) As Boolean If elegxosfull = UBound(pinakas) Then elegxosfull = True Else elegxosfull = False End If End Function ------------- Private Sub add(ByRef subpinakas As String, ByVal alltext As String) subpinakas = subpinakas + 1 pinakas(subpinakas) = alltext End Sub --------- alltext=textbox1.text+combobox1.text Εχω κάνει καποιες δοκιμές με τα παραπάνω, χωρίς αποτέλεσμα.Δεν είναι κώδικας με την σειρά, αλλά κομμάτια.Exω μπερδευτεί λίγο.Αν μου προτέινατε και κάποιον καλό οδηγό για την visual basic ,ακόμα καλύτερα!
pigeon Δημοσ. 6 Ιανουαρίου 2010 Δημοσ. 6 Ιανουαρίου 2010 Καλημέρα και καλή χρονιά! Θα ήθελα αν μπορείτε να με βοηθήσετε λίγο με την visual basic. Δίνω δεδομένα σε combobox και textbox, και μεταφέρονται με ένα κουμί add σε ένα listbox.Αυτο που θα ήθελα είναι να μαζεύονται ορισμένα δεδομένα στο listbox και μετά απο ένα όριο να βγάζει μήνυμα οτι είναι full.Δημιούργησα έναν πίνακα και προσπάθησα τα παρακάτω : Βασικα απ'οτι μας εχεις δώσει, δεν εχω καταλάβει τι θελεις να κάνεις.. for i=0 to ubound(pinakas) alltext=alltext+i listbox1.items.add(alltext) next Σωστά το εχεις αλλα το alltext τι ειναι, String; Πρεπει να βαλεις alltext=alltext+cstr(i) Private Function full(ByVal elegxosfull As Integer) As Boolean If elegxosfull = UBound(pinakas) Then elegxosfull = True Else elegxosfull = False End If End Function Εχεις λάθος εδω. Δεν ξερω τι τιμη δινεις απ'εξω το elegxosfull αλλα λογικά για να δουλέψει πρεπει να ειναι ετσι: >Private Function full(ByVal elegxosfull As Integer) As Boolean full = (elegxosfull = ubound(pinakas)) End function Εχω κάνει καποιες δοκιμές με τα παραπάνω, χωρίς αποτέλεσμα.Δεν είναι κώδικας με την σειρά, αλλά κομμάτια.Exω μπερδευτεί λίγο.Αν μου προτέινατε και κάποιον καλό οδηγό για την visual basic ,ακόμα καλύτερα! Κατι τέτοιο εννοεις;
johnykim Δημοσ. 7 Ιανουαρίου 2010 Μέλος Δημοσ. 7 Ιανουαρίου 2010 Παιδιά ευχαριστώ για τις απαντήσεις ,αλλά λόγου χρόνου δυστυχώς δεν το κατάφερα. Θα ήθελα να σας ρωτήσω κάτι άλλο όμως αν γνωρίζετε.Όπως σας είπα δίνω δεδομένα σε texbox ,combobox και εμφανίζονται τα αντίστοιχα δεδομένα σε ένα listbox.Απο αυτό το listbox θέλω να αποθηκεύσω τα δεδομένα σε ένα αρχείο .txt.Εχω προσπαθήσει με τον παρακάτω κώδικα: > SaveFileDialog1.Filter SaveFileDialog1.Filter = "(*.txt)|*.txt" SaveFileDialog1.ShowDialog() If SaveFileDialog1.FileName <> "" Then FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output) PrintLine(1, listbox1.text) FileClose(1) End If Ενώ αποθηκεύει ένα αρχείο .txt στον δίσκο, είναι όμως άδειο! Αν στην θέση του listbox1.text, βάλω ένα textbox1.text στο οποίο έχω δώσει δεδομένα, το αρχείο αποθηκεύεται κανονικά σε .txt μαζί με τα δεδομένα που είχα δώσει στο textbox1.text . Απο listbox, γίνεται με κάποιον τρόπο;
pigeon Δημοσ. 8 Ιανουαρίου 2010 Δημοσ. 8 Ιανουαρίου 2010 Απο listbox, γίνεται με κάποιον τρόπο; Αφαιρείς απο FileOpen ως FileClose (3 σειρες) και βάζεις αυτο: Dim i as integer Dim ss as String: ss="" For i = 0 To ListBox1.Items.Count - 1 ss=ss & ListBox1.Items.Item(i) & vbcrlf next My.Computer.FileSystem.WriteAllText(Filename, ss,True) Για κοιτα ομως κάτι λιγο διαφορετικό. Για εγγραφή: > Dim w As IO.StreamWriter Private Sub WriteToListBox Dim i As Integer w = New IO.StreamWriter("c:\test.txt") For i = 0 To ListBox1.Items.Count - 1 w.WriteLine(ListBox1.Items.Item(i)) Next w.Close() End Sub Για ανάγνωση: > Dim r As IO.StreamReader Private Sub ReadToListBox r = New IO.StreamReader("c:\test.txt") While (r.Peek() > -1) ListBox1.Items.Add(r.ReadLine) End While r.Close() End Sub Οπου "c:\test.txt" βάζεις το filename/path σου.
johnykim Δημοσ. 9 Ιανουαρίου 2010 Μέλος Δημοσ. 9 Ιανουαρίου 2010 Φίλε pigeon , ευχαριστώ πολύ για τις απαντήσεις! Με τον πρώτο τρόπο που έκανες προσπαθούσα.. Τελικά χρησιμοποιήθηκε ο παρακάτω κώδικας : > SaveFileDialog1.Filter = "(*.txt)|*.txt" SaveFileDialog1.ShowDialog() If SaveFileDialog1.FileName <> "" Then FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output) For i = 0 To ListBox1.Items.Count - 1 PrintLine(1, ListBox1.Items.Item(i)) Next FileClose(1) End If
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.