PDA

View Full Version : RECEPIRE TESTO DI UNA TEXTBOX IN Visual Basic


Splacchj
05-07-2011, 15:38
salve a tutti... sto cercando l'equivalente del comando readln, quello de delphi e del pascal, per visual basic... in pratica mi servirebbe un codice che , dopo aver inserito un testo in una textbox, memorizzi ( proprio come farebbe il readln del delphi) il dato... avete qualche idea su come fare?

kevinpirola
05-07-2011, 15:43
devi prendere il parametro text se non mi sbaglio e assegnarlo ad una variabile.

21-5-73
05-07-2011, 19:24
Dovrebbe essere così se non ricordo male:
nomeVariabile = textbox1.text (ipotizzando sia la prima textbox creata) se inoltre il valore contenuto nella textbox è un numero che deve essere elaborato bisogna anteporre Val a textbox1.text.
Prova oppure aspetta qualcuno più competente :)

Splacchj
05-07-2011, 23:30
mi da un errore... l'errore è questo

Value of type 'system.windows.forms.textbox' cannot be converted to 'string'

il codice che ho scritto è questo :
Public Class Form1
Dim a As String


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
a = TextBox1.text
End Sub

Private Sub Button1_Click()
a = TextBox1.text
Me.OnPrint(*qui vorrei scrivere qualcuso ma non mi fa scrivere*)
End Sub
End Class

21-5-73
05-07-2011, 23:44
Textbox1 è il nome del componente, ma a te serve una sua proprietà che è text (chiedo scusa ai programmatori per l' agghiacciante spiegazione :D) devi nel caso scrivere a = textbox1.text, assegni ad a in pratica quello che verrà scritto nella casella di testo Textbox1. Riguardo quella roba Me.onPrint non ho idea di cosa sia..... Tu vuoi immettere dei dati o li vuoi visualizzare? Nel primo caso potresti usare una InputBox nel secondo una MessageBox. Spiega meglio cosa vuoi fare e vedo se le mie scarsissime conoscenze possono aiutarti.

Edit: lol ho visto adesso che hai aggiunto .text :) Allora non è li il problema, spiega meglio

Splacchj
05-07-2011, 23:56
Textbox1 è il nome del componente, ma a te serve una sua proprietà che è text (chiedo scusa ai programmatori per l' agghiacciante spiegazione :D) devi nel caso scrivere a = textbox1.text, assegni ad a in pratica quello che verrà scritto nella casella di testo Textbox1. Riguardo quella roba Me.onPrint non ho idea di cosa sia..... Tu vuoi immettere dei dati o li vuoi visualizzare? Nel primo caso potresti usare una InputBox nel secondo una MessageBox. Spiega meglio cosa vuoi fare e vedo se le mie scarsissime conoscenze possono aiutarti.

Edit: lol ho visto adesso che hai aggiunto .text :) Allora non è li il problema, spiega meglio

no no ho risolto la lettura dei dati... adesso vorrei chiedervi una cosa del tutto diversa... è possibile creare un file .txt tramite visual basic e scriverci dentro i valori delle variabili??
tipo ad esempio creo una textbox in cui scrivo qualcosa, e vorrei che quel qualcosa fosse salvato in un file.txt..
è possibile??

21-5-73
05-07-2011, 23:57
Visto che non ho sonno mi porto avanti..... :) Se per esempio a te servisse scrivere in un TextBox una stringa, memorizzarla in una variabile e poi premendo un pulsante stampare quella variabile in una (per esempio) ListBox, una volta creato un form con questi 3 componenti dovresti semplicemente scrivere così:

Public Class Form1
Dim testo As String

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
testo = TextBox1.Text
ListBox1.Items.Add(testo)
End Sub
End Class

21-5-73
06-07-2011, 00:02
Lol è destino che scriviamo in asincrono.... Cmq si è ovviamente fattibile. A te serve che quel file sia sempre lo stesso (e quindi nessuna sovrascrittura) oppure no?

Splacchj
06-07-2011, 00:02
si ma a me servirebbe salvare un fiel di testo che contenga i valori delle variabili..
cmq giusto per curiosità la voce Handles Button1.Click cosa significa precisamente??

21-5-73
06-07-2011, 00:15
si ma a me servirebbe salvare un fiel di testo che contenga i valori delle variabili..
cmq giusto per curiosità la voce Handles Button1.Click cosa significa precisamente??

La riga che parte da private la mette in automatico l' IDE, non ho le conoscenze per spiegartela, per ora mi limito a lasciarla com'è (ovviamente in base all' evento di cui necessito). Ho capito che devi salvare in un file quelle variabili, ma ti interessa che il file sia sempre lo stesso e quindi una scrittura sequenziale oppure non ti interessa e ogni volta che scrivi, i nuovi dati sovrascriveranno i vecchi? Te lo chiedo perchè nel primo caso al massimo ti posso postare un esercizio che ho fatto e che ti dovrai riadattare, nel secondo è più facile ma ovviamente è quasi useless :) Oppure terza via aspetti qualche vero programmatore che qui su base .net c'è ne sono di validissimi e ti fai spiegare bene da loro.

AngeL)
06-07-2011, 09:23
si ma a me servirebbe salvare un fiel di testo che contenga i valori delle variabili..
cmq giusto per curiosità la voce Handles Button1.Click cosa significa precisamente??

Non sono un esperto di VB, ma credo che serva a specificare l'evento a cui quella funzione risponde: crei una funzione (che è un pezzo di codice), e dici al programma quando invocarla. Fai caso al fatto che tu non invochi mai direttamente Button1_Click(...), quindi se non venisse chiamata in risposta ad un evento non verrebbe mai chiamata!

deus ex machina
06-07-2011, 13:30
che versione di VB stai utilizzando?

di seguito l'esempio per la scrittura di un valore in un file di testo (al quale viene assegnato 1 come filenumber):

open "C:\pippo.txt" for output as #1

print #1, miaVariabile

close #1

Splacchj
06-07-2011, 17:50
che versione di VB stai utilizzando?

di seguito l'esempio per la scrittura di un valore in un file di testo (al quale viene assegnato 1 come filenumber):

open "C:\pippo.txt" for output as #1

print #1, miaVariabile

close #1

visual basic 2010....ti ringrazio per il codice ma vorrei un po' pi di più della pappa pronta.. mi potresti spiegare perchè metti #1??? grazie....


EDIT
ho provato con questo codice, ma non mi scrive niente nel file a.txt

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
VariabileChedeveEsserescritta= TextBox1.Text
My.Computer.FileSystem.WriteAllText("C:\a",
"VariabileChedeveEsserescritta", True)

End Sub

BrutalBass
06-07-2011, 19:09
Per scrivere e salvare un file di testo devi usare lo streamWriter.



using SW as new Io.StreamWriter("C:\miofile.txt")

SR.Writeline(Textbox1.text)

end using



per aprirlo invece usi lo StreamReader

21-5-73
06-07-2011, 19:39
Ipotizzando che tu voglia usare l' evento click di un button per scrivere la tua variabile prelevata da una textBox:
Per prima cosa nel form dove si dichiarano le variabili globali scrivi

Imports system.io.file Poi nel button scrivi

Dim testFile as system.iofile
Dim scrivi as system.iostreamwriter
scrivi = testFile.createtext("c:\prova.txt")
scrivi.writeline(TextBox1.text)
scrivi.close()

Se poi sempre con l' evento click di un button vuoi leggere quel file e visualizzarlo per esempio dentro una listBox devi scrivere

Dim testFile as system.io.file
Dim leggi as system.io.streamreader
leggi = testFile.open.txt("c:\prova.txt")
while leggi.peek <> -1
riga = leggi.readline() //Ricordati di dichiarare riga
listbox1.items.add(riga)
end while
leggi.close()

BrutalBass
06-07-2011, 23:40
Ipotizzando che tu voglia usare l' evento click di un button per scrivere la tua variabile prelevata da una textBox:
Per prima cosa nel form dove si dichiarano le variabili globali scrivi

Imports system.io.file Poi nel button scrivi

Dim testFile as system.iofile
Dim scrivi as system.iostreamwriter
scrivi = testFile.createtext("c:\prova.txt")
scrivi.writeline(TextBox1.text)
scrivi.close()

Se poi sempre con l' evento click di un button vuoi leggere quel file e visualizzarlo per esempio dentro una listBox devi scrivere

Dim testFile as system.io.file
Dim leggi as system.io.streamreader
leggi = testFile.open.txt("c:\prova.txt")
while leggi.peek <> -1
riga = leggi.readline() //Ricordati di dichiarare riga
listbox1.items.add(riga)
end while
leggi.close()


che brutto metodo per aprire un file di testo...

molto meglio usare il seguente...


Using SR as new Io.Streamreader("C:\file.txt")

while SR.EndofStream = false

textbox1.text = SR.Readline

end while

end using

Splacchj
06-07-2011, 23:46
Per scrivere e salvare un file di testo devi usare lo streamWriter.



using SW as new Io.StreamWriter("C:\miofile.txt")

SR.Writeline(Textbox1.text)

end using



per aprirlo invece usi lo StreamReader

grazie mille brutal.. fuzniona.. solo un piccolo accorgimento... hai sbagliato a scrivere la riga "SR.Writeline(Textbox1.text)"
dovrebbe essere "SW.Writeline(Textbox1.text)" vbbè ma questi sono dettagli... ;)

BrutalBass
06-07-2011, 23:48
grazie mille brutal.. fuzniona.. solo un piccolo accorgimento... hai sbagliato a scrivere la riga "SR.Writeline(Textbox1.text)"
dovrebbe essere "SW.Writeline(Textbox1.text)" vbbè ma questi sono dettagli... ;)

Ah si, chiedo perdono :asd: ho sbagliato una corrispondenza