Προς το περιεχόμενο

Visual Basic και πίνακας


johnykim

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα και καλή χρονιά!

 

Θα ήθελα αν μπορείτε να με βοηθήσετε λίγο με την 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 ,ακόμα καλύτερα!:-)

Δημοσ.
Καλημέρα και καλή χρονιά! Θα ήθελα αν μπορείτε να με βοηθήσετε λίγο με την visual basic. Δίνω δεδομένα σε combobox και textbox, και μεταφέρονται με ένα κουμί add σε ένα listbox.Αυτο που θα ήθελα είναι να μαζεύονται ορισμένα δεδομένα στο listbox και μετά απο ένα όριο να βγάζει μήνυμα οτι είναι full.Δημιούργησα έναν πίνακα και προσπάθησα τα παρακάτω :

 

Βασικα απ'οτι μας εχεις δώσει, δεν εχω καταλάβει τι θελεις να κάνεις.. :o

 

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 ,ακόμα καλύτερα!:-)

 

Κατι τέτοιο εννοεις;

Δημοσ.

Παιδιά ευχαριστώ για τις απαντήσεις ,αλλά λόγου χρόνου δυστυχώς δεν το κατάφερα.:(

 

Θα ήθελα να σας ρωτήσω κάτι άλλο όμως αν γνωρίζετε.Όπως σας είπα δίνω δεδομένα σε 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, γίνεται με κάποιον τρόπο;

Δημοσ.

Απο 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 σου.

Δημοσ.

Φίλε 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

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...