Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Trasferire 'singole' parole tra diversi 'contenitori' (tipo Textbox)
Forum - Visual Basic 6 - Trasferire 'singole' parole tra diversi 'contenitori' (tipo Textbox)

Avatar
Progy (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/10/2018

Segnala al moderatore
Postato alle 13:04
Sabato, 20/10/2018
Di nuovo un saluto a tutti.

Vi espongo il mio problema.

Avrei la necessità, nel mio programma, di far si che le parole presenti in una
Textbox (oppure in una RichTextBox), vengano passate ad un differente
contenitore (un altra Textbox, oppure una Listbox).
Ovviamente, si potrebbe dire: "e che ci vuole?"
Ci vuole!
Perchè il mio problema consiste nel fatto, che le parole, non devono essere
sottoposte ad un trasferimento globale, ma piuttosto, ad una
selezione manuale (o successivamente, voglio provvedere ad automatizzare
il processo) e scandita da una temporizzazione.
In un primo momento (quello di cui ho bisogno adesso), dovrei far si che ad ogni
Click di un Command Button, le parole presenti in (diciamo) Textbox1,
siano copiate o anche trasferite ad una Textbox2, rispettando ovviamente
l'ordine di immissione (ovvero: rispettando il Testo, così come era in origine)

pero idi essere stato chiaro, e mi auguro che a qualcuno possa interessare la cosa,
anche per un possibile aiuto!

Grazie, e ciao!!

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 13:30
Sabato, 20/10/2018
Non sei stato per nulla chiaro.

Dato che la risposta come

Text1.text = Text1.text & Text2.Text

è veramente banale e non credo tu voglia questo, vuol dire che non ti sei spiegato.


P.S. Sei sicuro di utilizzare VB6? Mi sa che non ti è chiara la versione di linguaggio con cui lavori ...

Ultima modifica effettuata da nessuno il 20/10/2018 alle 13:42


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Progy (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/10/2018

Segnala al moderatore
Postato alle 23:29
Sabato, 20/10/2018
Allora...

Hum... Forse non sono stato chiaro, perchè a volte è meglio essere sintetici,
però siccome, quì si richiede di descrivere il problema, mi sono dilungato...
Forse nel modo errato.

OK!
Ci riprovo!

Innanzitutto, sono sicuro che sia Visual Basic 6... Perchè è quello che mi esce
scritto quando apro il programma...
Poi, per quello che mi  servirebbe  fare:

HO (in fase di prova, solo per quanto concerne questa funzione):

1) Textbox1
2) Textbox2
3) Command1

- Carico un file di testo in Textbox1
--- (per esempio:)
------- "Oggi è davvero una bella giornata!"

- Textbox2 è vuoto;

- Clicco (ogni volta che ne ho voglia!) su Command1...

E quello che vorrei ottenere e che in Textbox2 vengano  passati
in modo consecutivo, le parole della frase:

1° Click  --> Textbox2 = "Oggi"
2° Click  --> Textbox2 = "è"
3° Click  --> Textbox2 = "proprio"
4° Click  --> Textbox2 = "una"
5° Click  --> Textbox2 = "bella"
6° Click  --> Textbox2 = "giornata!"

Ovviamente, come dicevo precedentemente, la funzione del click, può essere automatizzata
magari con un timer, quindi, non dovrei stare a clikkare 100 volte per completare una frase più
lunga!

E poi (ma questo non l'ho menzionato sopra) aggiungerò una cosa extra, perchè dopo aver fatto
questo processo, mi sarebbe semplicissimo realizzare una ulteriore textbox, dove il testo vi ci finisce
per intero una volta finito, ovvero come era stato suggerito:

Text3.text = Text2.text
Text3.text = Text3.text & Text2.Text

o via di lì, a seconda di come voglio ultimarlo, infatti:

Nel processo sopra descritto, o si potrebbe semplicemente far leggere la textbox1, senza apportare
alcun tipo di modifica, o in maniera alternativa, si potrebbe rimuovere ogni parola, una volta letta.

Questo è il mio problema!
Spero di aver reso al meglio il quadro!


PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 9:04
Domenica, 21/10/2018
Una cosa del genere ti può servire come spunto, ma devi adattarla a quello che ti serve ed aggiungere la parte del trasferimento (che lascio a te)

Codice sorgente - presumibilmente VB.NET

  1. Dim pos As Long
  2.  
  3. Private Sub Command1_Click()
  4.     Text2.Text = SingolaParola(Text1.Text, pos)
  5. End Sub
  6.  
  7. Private Function SingolaParola(frase As String, opos As Long) As String
  8.     Dim wrd As String
  9.    
  10.     wrd = ""
  11.    
  12.     If Len(frase) Then
  13.         Dim pos As Long
  14.        
  15.         pos = InStr(opos, frase, " ")
  16.         If pos Then
  17.             wrd = Mid(frase, opos, pos - opos)
  18.             opos = pos + 1
  19.         Else
  20.             If opos > pos Then
  21.                 wrd = Mid(frase, opos)
  22.                 opos = 1
  23.             End If
  24.         End If
  25.     End If
  26.    
  27.     SingolaParola = wrd
  28. End Function
  29.  
  30. Private Sub Form_Load()
  31.     pos = 1
  32. End Sub



Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Progy (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/10/2018

Segnala al moderatore
Postato alle 10:57
Lunedì, 22/10/2018
Innanzitutto: Grazie per la risposta e per il suggerimento!

In questo preciso momento, non ho tempo per farlo, ma più tardi,
darò un occhiata al codice per esaminarlo e vedere se posso
estrapolare qualcosa per 'la mia abbisogna' !!!

Ti faccio sapere.

PM Quote
Avatar
Progy (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/10/2018

Segnala al moderatore
Postato alle 13:18
Lunedì, 22/10/2018
:k:

Hai colto nel segno!

Infatti questa funzione fa esattamente quanto avevo chiesto!

Ho potuto testarla, è ho visto come funziona.
Ho riscontrato un problema sull'utilizzo, nel momento in cui si trova ad
affrontare un punto e a capo!!

(Ovvero: con una frase finita - a capo - riga vuota - inizio nuova riga,
in cui trova la soluzione di ripetere un pezzo per intero:
ultima parola. - spazio vuoto - Prima parola del rigo successivo
poichè, ovviamente, la funzione si va a cercare gli spazi vuoti!
Ma ci posso lavorare ovviamente!)

Io avevo trovato una soluzione alternativa, come avevo accennato in un primo momento,
ovvero:

Creare una contenitore che 'duplicava' il testo, e poi lo selezionava/sezionava una parola alla volta,
eliminandola, perchè in questo modo non mi calcolava i 'vuoti'



Comunque Grazie ancora!

Avere DUE soluzioni, è senz'altro meglio che non averne NESSUNA! :rofl:

PM Quote
Avatar
Progy (Normal User)
Newbie


Messaggi: 8
Iscritto: 20/10/2018

Segnala al moderatore
Postato alle 13:18
Lunedì, 22/10/2018
:k:

Hai colto nel segno!

Infatti questa funzione fa esattamente quanto avevo chiesto!

Ho potuto testarla, è ho visto come funziona.
Ho riscontrato un problema sull'utilizzo, nel momento in cui si trova ad
affrontare un punto e a capo!!

(Ovvero: con una frase finita - a capo - riga vuota - inizio nuova riga,
in cui trova la soluzione di ripetere un pezzo per intero:
ultima parola. - spazio vuoto - Prima parola del rigo successivo
poichè, ovviamente, la funzione si va a cercare gli spazi vuoti!
Ma ci posso lavorare ovviamente!)

Io avevo trovato una soluzione alternativa, come avevo accennato in un primo momento,
ovvero:

Creare una contenitore che 'duplicava' il testo, e poi lo selezionava/sezionava una parola alla volta,
eliminandola, perchè in questo modo non mi calcolava i 'vuoti'



Comunque Grazie ancora!

Avere DUE soluzioni, è senz'altro meglio che non averne NESSUNA! :rofl:

PM Quote