Discussione:
Casella di testo: scrivere più righe?
(troppo vecchio per rispondere)
Guido
2005-11-07 08:42:22 UTC
Permalink
In una Casella di testo con multilinea=true e scrollbars=3-both non riesco a
scrivere più di una riga.
Private Sub Form_Load()
Dim f As Integer
For f = 1 To 10
Text1.Text = "ciao"
Next f
End Sub
La scritta "ciao" mi compare SOLO sulla prima riga della TextBox e non viene
scritta 10 volte.
Non vorrei usare una RichTextBox (troppo potente, per adesso!) e quindi
vorrei sapere se è possibile usare una TexBox per mostrare più linee di
output diverse tra loro.
Grazie.
(G)
SixaM
2005-11-07 08:50:37 UTC
Permalink
Post by Guido
In una Casella di testo con multilinea=true e scrollbars=3-both non riesco a
scrivere più di una riga.
Private Sub Form_Load()
Dim f As Integer
For f = 1 To 10
Text1.Text = "ciao"
Ti rispondo con una domanda (anche se non si dovrebbe fare): che codice
scriveresti per sommare un valore ad una variabile piu' volte?

Dim f As Integer
dim Totale as integer
Totale = 0 ' <-- Inizializzazione
For f = 1 To 10
Totale = 10
Next f

Che valore ti aspetti di trovare per Totale? E come correggeresti il
codice?

Bye by SixaM 8-]
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Guido
2005-11-07 08:56:55 UTC
Permalink
Post by SixaM
Ti rispondo con una domanda (anche se non si dovrebbe fare): che codice
scriveresti per sommare un valore ad una variabile piu' volte?
Dim f As Integer
dim Totale as integer
Totale = 0 ' <-- Inizializzazione
For f = 1 To 10
Totale = 10
Next f
Che valore ti aspetti di trovare per Totale? E come correggeresti il
codice?
Grazie per avermi risposto.
Nel tuo esempio il Totale sarà sempre e solo 10 per sommare si dovrebbe,
credo, aggiungere all'interno del ciclo for...next q.sa del tipo:
tot=tot+totale
Oppure modificare il tuo precedente "Totale=10" in Totale = Totale + f
o sbaglio?

Dim f As Integer
dim Totale as integer
Totale = 0
For f = 1 To 10
Totale = Totale + f
Next f

(G)
SixaM
2005-11-07 08:59:51 UTC
Permalink
Post by Guido
Oppure modificare il tuo precedente "Totale=10" in Totale = Totale + f
o sbaglio?
Dim f As Integer
dim Totale as integer
Totale = 0
For f = 1 To 10
Totale = Totale + f
Perfetto! Ora, sostituiamo a Totale il tuo text1.text, ed il gioco e'
fatto! Ah, ricordati di far andare a capo la stringa con un bel VbCr...
Post by Guido
Next f
(G)
Bye by SixaM 8-]
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
Guido
2005-11-07 12:21:06 UTC
Permalink
Post by SixaM
Perfetto! Ora, sostituiamo a Totale il tuo text1.text, ed il gioco e'
fatto! Ah, ricordati di far andare a capo la stringa con un bel VbCr...
Grazie per avermi aiutato, sei stato molto gentile
In effetti la stringa siffatta NON mi andava a capo e scriveva tutto su una
riga! :-(
Ciao e grazie ancora.
(G)
Ivan
2005-11-07 11:43:24 UTC
Permalink
Post by Guido
In una Casella di testo con multilinea=true e scrollbars=3-both non riesco a
scrivere più di una riga.
Private Sub Form_Load()
Dim f As Integer
For f = 1 To 10
Text1.Text = "ciao"
Next f
End Sub
La scritta "ciao" mi compare SOLO sulla prima riga della TextBox e non
viene scritta 10 volte.
Non vorrei usare una RichTextBox (troppo potente, per adesso!) e quindi
vorrei sapere se è possibile usare una TexBox per mostrare più linee di
output diverse tra loro.
Grazie.
(G)
Inanzitutto Text1.Text = "Ciao" non aggiunge (che si dice concatenzazione)
ma ricarica il "ciao" per 10 volte, per concatenare stringhe si scrive cosi:

Text1.Text = Text1.Text & "Ciao" (Soluzione standard VB che ti consiglio)

oppure:

Text1.Text = Text1.Text + "Ciao" (Soluzione dei vecchi Basic che dovrebbe
accettare anche VB)

Tutta via così facendo aggiungerai la parola ma sempre sulla stessa riga,
per avere piu righe entra in gioco la proprietà Text1.Multiline:

Se attivata la textbox puo contenere piu righe anche in fase di digitazione
non solo da codice: Text1.Multiline = True

Se disattivata, (come di default in VB6) allora la textbox accetta un'unica
riga, anche in fase di digitazione non solo da codice : Text1.Multiline =
False

Quindi attivala o in fase di progettazione dalle proprietà del textbox,
oppure da codice con Text1.Multiline = True

Per andare a capo da codice aggiungi alla tua stringa sempre Cr+Lf esempio
Chr$(13) & Chr$(10)

Per andare a capo da digitazione nella textbox stessa in runtime basta dare
invio

Ivan
Guido
2005-11-07 12:19:50 UTC
Permalink
Post by Ivan
Inanzitutto Text1.Text = "Ciao" non aggiunge (che si dice concatenzazione)
Text1.Text = Text1.Text & "Ciao" (Soluzione standard VB che ti consiglio)
CUT
Ti ringrazio veramente molto per la disponibilità, adesso comincio a capire
qualcosa del VB.
Sei sempre molto gentile, grazie ancora.
(G)
Guido
2005-11-07 12:59:34 UTC
Permalink
Approfitto della tua cortesia per chiederti una informazione:
spesso, nei programmi Windows, la casella che mostra - come nel mio caso -
un determinato elenco di dati ha la possibilità di ordinarli alfabeticamente
cliccando la prima riga della casella stessa, tipicamente grigia.
E' questo un comando stand-alone del VB6 e facilmente implmentabile oppure
si deve scrivere un codice di ordinamento?
Grazie.
(G)
Manuel T
2005-11-07 13:06:13 UTC
Permalink
Post by Guido
spesso, nei programmi Windows, la casella che mostra - come nel mio caso -
un determinato elenco di dati ha la possibilità di ordinarli alfabeticamente
cliccando la prima riga della casella stessa, tipicamente grigia.
E' questo un comando stand-alone del VB6 e facilmente implmentabile oppure
si deve scrivere un codice di ordinamento?
Grazie.
(G)
A parte che dovresti aprire un altro thread...

Ad ogni modo, se i dati li prelevi da una tabella di database, esiste
una utilissima autocomposizione form accesso dati. Se selezioni lo stile
MSHFlexGrid potrai cliccare sulle colonne e ordinare i dati secondo la
colonna scelta.
--
Emanuele Torrenti
http://torrenti.altervista.org

Per favore non mandatemi allegati in Word o PowerPoint.
Please, don't send me Word or PowerPoint attachments.

Si veda: Look at:
http://www.gnu.org/philosophy/no-word-attachments.html
Guido
2005-11-07 13:20:26 UTC
Permalink
"Manuel T" <***@t.gov> ha scritto nel messaggio news:dknjga$b4r$***@area.cu.mi.it...

Grazie per avermi risposto.
Post by Manuel T
A parte che dovresti aprire un altro thread...
Hai ragione ma temo di "incasinare" il NG, turbandone l'equilibrio, come mi
è stato fatto notare ieri a proposito della mia richiesta su GET e PUT.
Post by Manuel T
Ad ogni modo, se i dati li prelevi da una tabella di database, esiste una
utilissima autocomposizione form accesso dati. Se selezioni lo stile
MSHFlexGrid potrai cliccare sulle colonne e ordinare i dati secondo la
colonna scelta.
Bene, grazie per l'info.
Per adesso preferisco non pensarci: un passo alla volta....
Ciao.
(G)

Loading...