Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

aiuto con Split Visual Basic

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

aiuto con Split Visual Basic

Messaggioda KillerPenguin » mer mar 28, 2012 7:04 pm

ragazzi ho questo:
Codice: Seleziona tutto
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim x() As String
        Dim y() As String
        x = TextBox1.Text.Split(".")
        y = TextBox2.Text.Split(".")
        TextBox3.Text = x(0) + "." + y(1)

    End Sub

nella textbox 1 e 2 ci sono due percosti di 2 file esempio:
Codice: Seleziona tutto
TextBox1.Text = "C:\documenti\ciao.exe"
        TextBox2.Text = "c:\desktop\booom.jpg"

in pratica quando premo sul button 1 mi serve che nella textbox3 venga scritto il percorso del file della textbox1 con l'estenzione del file nella textbox2.
Codice: Seleziona tutto
textbox3.text="C:\documenti\ciao.jpg"


solo che potrebbe capitare che una cartella contenga un segno di punto all'interno del nome e che quindi mi sfalli tutte le variabili.

come risolvo il problema?
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am

Re: aiuto con Split Visual Basic

Messaggioda M@ttia » mer mar 28, 2012 11:04 pm

Potresti, anziché prendere x(0) e y(1), prendere y(lunghezza(y)-1), ecc., dato che il punto dell'estensione è l'ultimo che incontri per definizione (con la x invece x(0)+x(1)+...+x(lunghezza(x)-2)).
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: aiuto con Split Visual Basic

Messaggioda KillerPenguin » gio mar 29, 2012 12:26 pm

più o meno ho capito cosa vuoi dire, ma come faccio? , potresti farmi un esempio per favore?
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am


Re: aiuto con Split Visual Basic

Messaggioda M@ttia » gio mar 29, 2012 6:22 pm

Codice: Seleziona tutto
Dim Testo1 as String
Dim Testo2 as String
Dim TestoRisultato as String

Dim x() As String
Dim y() As String

Testo1 = "C:\percorso.cattivo\nome.ancora.piu.cattivo.exe"
Testo2 = "C:\altro.percorso.sempre.cattivo\nome.meno.cattivo.jpg"
TestoRisultato = ""

x = Testo1.Split(".")
y = Testo2.Split(".")


'Copio Tutto il percorso tranne l'estensione
For i As Integer = 0 To x.Length-2
  String.Concat(TestoRisultato, x(i))
Next

'Aggiungo l'estensione
String.Concat(TestoRisultato, y(y.Length-1))


Nell'esempio sopra si otterrà:

x = ("C:\percorso" , "cattivo\nome" , "ancora" , "piu" , "cattivo" , "exe") con x.Length=6
y = ("C:\altro" , "percorso" , "sempre" , "cattivo\nome" , "meno" , "cattivo" , "jpg") con y.Length=7
TestoRisultato = "C:\percorso.cattivo\nome.ancora.piu.cattivo.jpg"


Gli array vengono però numerati chiamando il primo elemento x(0), ecc. quindi ad esempio per la y() l'ultimo elemento sarà dato da y(6)=y(7-1)=y(y.Length-1) [da qui gli strani -1 e -2 nel codice].


P.S. non ho VB.net sottomano e quindi non ho potuto provarlo e compilarlo (posso aver fatto errori di digitazione o altro...), ma ad occhio dovrebbe andare bene e comunque capisci cosa intendo [^]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: aiuto con Split Visual Basic

Messaggioda KillerPenguin » gio mar 29, 2012 8:45 pm

credo di si... ti ringrazio, lo provo e ti faccio sapere [^]
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am

Re: aiuto con Split Visual Basic

Messaggioda KillerPenguin » gio mar 29, 2012 9:10 pm

mmmm.... allora credo che funzioni, ma ora come faccio a inserire il risultato in una textbox o quantaltro?, ho provato:
Codice: Seleziona tutto
textbox3.text=TestoRisultato

ma non accade nulla. come faccio? [boh]
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am

Re: aiuto con Split Visual Basic

Messaggioda M@ttia » gio mar 29, 2012 11:03 pm

Ehm, sì errore mio, i due String.Concat devono essere così:

Codice: Seleziona tutto
TestoRisultato = String.Concat(TestoRisultato, x(i))
TestoRisultato = String.Concat(TestoRisultato, y(y.Length-1))


sennò ovviamente concatena le cose ma non lo salva (aggiunge) nel TestoRisultato (lo fa e basta senza nessun effetto, e TestoRisultato rimane vuoto come all'inizio, così ti copia quella stringa vuota nella TextBox e tu non vedi nulla e pensi non stia funzionando). [;)]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: aiuto con Split Visual Basic

Messaggioda KillerPenguin » ven mar 30, 2012 2:22 pm

mmmmm... non va... [V]
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am

Re: aiuto con Split Visual Basic

Messaggioda M@ttia » ven mar 30, 2012 2:59 pm

Uhm, ho avuto oggi il compiler sotto mano e confermo che il programma sopra funziona e fa quello che vuoi tu...
A scanso d'equivoci, qui sotto c'è il codice completo; il risultato si trova poi nella stringa TestoRisultato.

Codice: Seleziona tutto
Dim Testo1 as String
Dim Testo2 as String
Dim TestoRisultato as String

Dim x() As String
Dim y() As String

Testo1 = "C:\percorso.cattivo\nome.ancora.piu.cattivo.exe"
Testo2 = "C:\altro.percorso.sempre.cattivo\nome.meno.cattivo.jpg"
TestoRisultato = ""

x = Testo1.Split(".")
y = Testo2.Split(".")

'Copio tutto il percorso, tranne l'estensione
For i As Integer = 0 To x.Length-2
  TestoRisultato = String.Concat(TestoRisultato , x(i) , ".")
Next

'Aggiungo l'estensione
TestoRisultato = String.Concat(TestoRisultato, y(y.Length-1))

(ho aggiunto solo un "." che avevo dimenticato, ma questo ovviamente rende solo il risultato più bello/brutto ma non cambia il fatto che ti vada o no).

Se non ti funziona devi avere tu un qualche problema nel compilatore o nel modo in cui fai l'interfaccia grafica coi textbox, ecc. Per testare che il codice e basta funzioni puoi associare quanto sopra al click di un bottone (button1.click() ) e aggiungere alla fine
Codice: Seleziona tutto
MessageBox.Show(TestoRislutato)

così da stamparti il risultato in una MessageBox (che funziona sempre perché creata al momento). [^]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Re: aiuto con Split Visual Basic

Messaggioda KillerPenguin » ven mar 30, 2012 5:33 pm

Perfetto ora va tutto bene... ti ringrazio tantissimo. ora mi occuperò di adeguare il codice alle operazioni che ho in mente di far fare all'applicazione. ti ringrazio ancora tanto per la pazienza che mi hai dimostrato ( che non è la stessa che mi hanno dimostrato altri utenti del forum) [grazie] [^]
www.TheKillerPenguin.Altervista.org
Avatar utente
KillerPenguin
Bronze Member
Bronze Member
 
Messaggi: 517
Iscritto il: lun feb 14, 2011 6:37 am

Re: aiuto con Split Visual Basic

Messaggioda M@ttia » ven mar 30, 2012 6:13 pm

Prego, sempre pronto a sostenere il VB [:D]
</IE><FIREFOX>
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron
Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising