|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
[VB.NET 2010] Scrivere listbox su file txt
ciao ragazzi
allora io ho un form con una listbox che ci compila di items (10-15 items) in base a delle istruzioni che fa la form , perciò è tutto automatico la listbox è una specie di log eventi del programma , tiene traccia di ciò che fa il programma. fin qui funziona tutto solo che ora vorrei che alla chiusura del form tutti gli items della listbox vengano salvati su un file (txt) con - nome file = data_ora - contenuto = tutti gli items della listbox per ora ho fatto questo Codice:
Private Sub EsciToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EsciToolStripMenuItem.Click For Each messaggio In LogBox.Items Next End Sub ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Codice:
Dim testoFile As New System.Text.StringBuilder Dim nomeFile As String = DateTime.Now.ToString.Replace("/", "-") & ".txt" For i As Integer = 0 To ListBox1.Items.Count - 1 testoFile.Append(ListBox1.Items(i).ToString & vbCrLf) Next My.Computer.FileSystem.WriteAllText(percorso & nomeFile, testoFile.ToString, False) ![]()
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Quote:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() l'unica cosa che "percorso" non esiste e se provo a farlo diventare una variabile (contenente il path che mi server) mi dice che Testfile viene utilizzata prima di ricevere un valore Ultima modifica di Ludo237 : 22-12-2010 alle 09:06. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Ma esattamente DOVE inizializzi percorso rispetto al mio codice ?
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Quote:
allora la dichiaro prima di tutte. Codice:
dim percorso as string = "C:/...." |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Ah, ok.
Probabilmente rompe perchè non gli piace che testoFile sia vuoto. Per maggior sicurezza risolvi così : Codice:
Dim percorso As String = Application.StartupPath & "\" Dim testoFile As New System.Text.StringBuilder("") Dim nomeFile As String = DateTime.Now.ToString.Replace("/", "-") & ".txt" For i As Integer = 0 To ListBox1.Items.Count - 1 testoFile.Append(ListBox1.Items(i).ToString & vbCrLf) Next If testoFile.ToString <> "" Then My.Computer.FileSystem.WriteAllText(percorso & nomeFile, testoFile.ToString, False) ![]()
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
se aggiungo
Codice:
("") ![]() EDIT : NO SCUSA ho sbagliato a scrivere io il codice -.- MEA CULPA |
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
l'unico problema che ho è il nome del file , sembra che 22-10-2010 12:03:00.txt per lui non sia corretto
![]() |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Non puoi mettere i due-punti nel nome file. Nel mio caso invece mette il punto come separatore orario e funziona. Tra un po' ti posto una mia Function ( appena la trovo ) che genera la stringa giusta a partire dalla data, e che taglia la testa al toro... ![]()
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Ok, trovata ( non mi andava di riscriverla da capo... oggi mi sento pigro
![]() Codice:
Public Function GetNomeFileTxt(ByVal D As DateTime) As String Dim S As String Dim Yr As String = D.Year.ToString Dim Mh As String = D.Month.ToString.PadLeft(2, "0") Dim Dy As String = D.Day.ToString.PadLeft(2, "0") Dim hh As String = D.Hour.ToString.PadLeft(2, "0") Dim mm As String = D.Minute.ToString.PadLeft(2, "0") Dim ss As String = D.Second.ToString.PadLeft(2, "0") S = Yr & "-" & Mh & "-" & Dy & "_" & hh & "." & mm & "." & ss & ".txt" Return S End Function Codice:
Dim nomeFile As String = GetNomeFileTxt(DateTime.Now) ![]()
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
![]() |
![]() |
![]() |
#11 | |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Quote:
![]() Grazie mille (di nuovo) ![]() |
|
![]() |
![]() |
![]() |
#12 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Preferisco andare un attimo OT piuttosto che aprire un nuovo 3D solo per una domandina idiota
su una combobox dinamica creata in questo modo Codice:
Dim Email_ComboTable As New DataTable() Connessione_SmsPanel.Open() Adapter_Dirette_SmsPanel.Fill(Email_ComboTable) Connessione_SmsPanel.Close() Email_ComboBox.DataSource = Email_ComboTable Email_ComboBox.DisplayMember = "email" Email_ComboBox.ValueMember = "id_email" Codice:
Dim id_email As Integer = Email_ComboBox.SelectedValue perchè cosi come scritto sopra io prelevo l'id_email ma se volessi anche prelevare l'effettiva email ? spero di essere stato chiaro |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Se parli di .SelectedValue ti riferisci all'item selezionato, perciò dal momento che la ComboBox, una volta eseguita la selezione "si chiude", la proprietà giusta dovrebbe essere semplicemente .Text .
__________________
Contattami su FaceBook --> [ ::: MarcoGG su FaceBook ::: ] Visita il mio Blog --> [ ::: Il Blog di MarcoGG ::: ] |
![]() |
![]() |
![]() |
#14 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
yea it works
![]() ![]() |
![]() |
![]() |
![]() |
#15 |
Member
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
|
Ora sto facendo il procedimento inverso .. ovvero voglio caricare un file TXT e visualizzarlo
Utilizzo la classe OpenFileDialog ma non so come far visualizzare il file txt ... cioè posso utilizzare una listbox??? oppure c'è qualche altro metodo??? il codice che ho fatto per ora è questo Codice:
Private Sub Sfoglia_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Sfoglia_Button.Click Dim myStream As Stream Dim openFileDialog1 As New OpenFileDialog() openFileDialog1.InitialDirectory = Application.StartupPath & "\" openFileDialog1.Filter = "txt files (*.txt)|*.txt" If openFileDialog1.ShowDialog() = DialogResult.OK Then NomeFile_TextBox.Text = openFileDialog1.FileName SmsPanel.LogBox.Items.Add(Now() & " Aperto il log eventi : " & openFileDialog1.FileName) myStream = openFileDialog1.OpenFile() If Not (myStream Is Nothing) Then myStream.Close() End If End If End Sub nel "NomeFile_Textbox" mi mostra tutto il path , è possibile far vedere solo il nome del file? Ultima modifica di Ludo237 : 23-12-2010 alle 18:53. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:35.