Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Sostituire caratteri in visual basic 2008
Forum - C# / VB.NET - Sostituire caratteri in visual basic 2008

Avatar
AndreaCosci (Normal User)
Newbie


Messaggi: 2
Iscritto: 08/02/2010

Segnala al moderatore
Postato alle 19:00
Lunedì, 08/02/2010
Salve sono nuovo del forum,
Mi chiedevo come in visualbasic si potessero sostituire i prmi 7 caratteri di ogni riga
di un richtextbox con questo carattere " "
ES:
12312312312313123123123
123123123123123123123123
12312312312312312312312
1231231231231231231232
DIVENTA:
       2312313123123123
       23123123123123123
       2312312312312312
       231231231231232
PS: Dato che non so quali saranno i primi 7 caratteri NON posso usare
RichTextBox1.text.replace("1"," ")

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 20:24
Lunedì, 08/02/2010
Io non uso visual basic molto spesso e non sono proprio pratico di stringhe... Ma ragionando sul pascal io farei una cosa del genere.
Innanzitutto metterei in una variabile string chiamata per esempio FRASE tutti i caratteri inseriti nella RichTextBox.
Una volta avuta questa stringa io in pascal procedo in questo modo:
Codice sorgente - presumibilmente Delphi

  1. var FRASE1 : string
  2. (*...*)
  3. FRASE1 := '';
  4. For i:= 7 To Length(FRASE) Do FRASE1:= FRASE1 + FRASE[i];
  5. FRASE:= FRASE1



cioè inserirei una nuova variabile FRASE1 vuota e con un contatore che va da 7 alla lunghezza della tua FRASE, questa nuova variabile assumerà tutti i caratteri della vecchia a partire dal 7°. Infine Passi il valore di FRASE1 in FRASE e questa la butti dentro la RichTextBox o ne fai l'uso che vuoi...

Spero di essere stato chiaro altrimenti chiedi

PS: il codice è volutamente pascal proprio perchè non conosco quello VB .NET

PM Quote
Avatar
walker93 (Member)
Expert


Messaggi: 460
Iscritto: 31/01/2010

Segnala al moderatore
Postato alle 20:56
Lunedì, 08/02/2010
provo a convertirlo io

Codice sorgente - presumibilmente VB.NET

  1. dim frase1 as string = ""
  2. for i=7 to len(frase)
  3. frase1= frase1 & mid(frase,i,1)
  4. next
  5. frase= frase1


e questo per una riga quindi dovrai assegnare 'frase' alla riga da prendere tramite un altro ciclo

Ultima modifica effettuata da walker93 il 08/02/2010 alle 20:58


Il software è come il sesso, è meglio quando è libero.
Linus Torvalds, Conferenza della Free Software Foundation, 1996 (attribuito)

Non provare mai a spiegare il computer a un profano. È più facile spiegare il sesso a una vergine.
Robert Anson Heinle
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 965
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 0:23
Martedì, 09/02/2010
Ciao AndreaCosci!

Come mai hai iniziato due topic con lo stesso messaggio?


Nulla va più veloce della luce, quindi rilassati.
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:04
Martedì, 09/02/2010
Più semplicemente, data la stringa che rappresenta una linea, puoi ottenere la nuova stringa così:
Codice sorgente - presumibilmente VB.NET

  1. Dim Line As String = ...
  2. Dim NewLine As String = (New String(" ", 7)) & Line.SubString(7)


Ossia il carattere " " ripetuto 7 volte, seguito dalla parte di stringa che inizia alla posizione 7 (ossia tutta la linea tranne i primi 7 caratteri).


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote