Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi
Abbiamo assemblato e provato la Fiido Nomads Pro, evoluzione del modello da trekking già presente nella gamma, che migliora in tutto, soprattutto grazie al motore centrale, fluido e potente. Ottima app, costruzione solida e prezzo ok completano il quadro
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto
Lo chassis in Ceraluminium è il cuore di questo notebook in edizione 2026, un modello pensato per garantire produttività con le tipiche applicazioni di produttività personale e capace di offrire un'autonomia di funzionamento lontano dalla presa di corrente da riferimento. Potenza, facilità di trasporto e costruzione robusta tutto in un notebook compatto.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-06-2008, 11:50   #1
luxe
Member
 
L'Avatar di luxe
 
Iscritto dal: Dec 2003
Città: Spoleto (PG)
Messaggi: 293
[VB 2005] Dividere contenuto di una TextBox

Salve gente, avrei un problemino, è un giorno intero che ci sbatto la testa, ma nada. Dunque, in una textbox ho il seguente contenuto:

(i dati sono di esempio)

Gruppo1, Matricola 1213, Dominio: NT
Gruppo1, Matricola 1215, Dominio: NT
Gruppo1, Matricola 1218, Dominio: NT
Gruppo2, Matricola 1312, Dominio: NT
Gruppo2, Matricola 1511, Dominio: NT
Gruppo2, Matricola 1616, Dominio: NT
Gruppo3, Matricola 1111, Dominio: NT
Gruppo3, Matricola 1414, Dominio: NT
Gruppo3, Matricola 1614, Dominio: NT

ok? bene, a me servirebbe trasformare il contenuto di questa text cosi:

Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT

Gruppo2
Matricola 1312, Dominio: NT
Matricola 1511, Dominio: NT
Matricola 1616, Dominio: NT

Gruppo3
Matricola 1111, Dominio: NT
Matricola 1414, Dominio: NT
Matricola 1614, Dominio: NT

come posso fare ?

(ho provato con cicli for, do while ecc, ma il risultato al max era:

Gruppo1
Matricola 1213, Dominio: NT
Gruppo1
Matricola 1215, Dominio: NT
Gruppo1
Matricola 1218, Dominio: NT

poiche per ogni occorrenza mi ripeta anche il "gruppo"...
__________________
Affari conclusi con: anomalos, Giankarlo, Gallomail, Muflus, ezekiel22, k|o, ecc...
luxe è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2008, 13:00   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Stai cercando di fare un albero.
Perche' non usare un componente albero? (TreeView)

Comunque non ho capito dove stia il problema. Sei tu che ordini e ristampi le cose no?
E' sufficiente stampare "Gruppo X" solo se X e' diversa dal valore precedente.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 04-06-2008, 14:20   #3
luxe
Member
 
L'Avatar di luxe
 
Iscritto dal: Dec 2003
Città: Spoleto (PG)
Messaggi: 293
Alura,
Perche mi servono i dati nell'altra maniera ?

Come dice all'inizio, i dati erano fittizi

Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT

i dati mi servono cosi per fare il dump su una active directory e debbono per forza essere cosi.

il dato FINALE sarebbe una cosa di questo genere:

dn: CN=Gruppo1 ,CN=Users,DC=locale,DC=Roma,DC=it
changetype: modify
replace: member
member: CN=1213,CN=Users,DC=locale,DC=Roma,DC=it
member: CN=1518,CN=Users,DC=locale,DC=Roma,DC=it


mentre io ho questo dato:

Gruppo1 member: CN=1213,CN=Users,DC=locale,DC=Roma,DC=it
Gruppo1 member: CN=1518,CN=Users,DC=locale,DC=Roma,DC=it
__________________
Affari conclusi con: anomalos, Giankarlo, Gallomail, Muflus, ezekiel22, k|o, ecc...

Ultima modifica di luxe : 05-06-2008 alle 07:32.
luxe è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 07:33   #4
luxe
Member
 
L'Avatar di luxe
 
Iscritto dal: Dec 2003
Città: Spoleto (PG)
Messaggi: 293
up !.....qualche help !
__________________
Affari conclusi con: anomalos, Giankarlo, Gallomail, Muflus, ezekiel22, k|o, ecc...
luxe è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 07:50   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Non capisco davvero il problema.
Hai detto che hai:
Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT




qualcosa tipo
Codice:
for (su tutte le righe)
{
  If (inizia con Gruppo) 
       Scrivi "dn: CN Gruppo, CN Users, ....)

  Else if (inizia con matricola)
       Scrivi "member:CN=qualcosa"

  Else Errore
}
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 08:58   #6
luxe
Member
 
L'Avatar di luxe
 
Iscritto dal: Dec 2003
Città: Spoleto (PG)
Messaggi: 293
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Non capisco davvero il problema.
Hai detto che hai:
Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT




qualcosa tipo
Codice:
for (su tutte le righe)
{
  If (inizia con Gruppo) 
       Scrivi "dn: CN Gruppo, CN Users, ....)

  Else if (inizia con matricola)
       Scrivi "member:CN=qualcosa"

  Else Errore
}
Ciao gugoXX, innanzitutto ti ringrazio,

quello che ho io non è

Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT

ma bensi:

Gruppo1, Matricola 1213, Dominio: NT
Gruppo1, Matricola 1215, Dominio: NT
Gruppo1, Matricola 1218, Dominio: NT
Gruppo2, Matricola 1312, Dominio: NT
Gruppo2, Matricola 1511, Dominio: NT
Gruppo2, Matricola 1616, Dominio: NT
Gruppo3, Matricola 1111, Dominio: NT
Gruppo3, Matricola 1414, Dominio: NT
Gruppo3, Matricola 1614, Dominio: NT


è il risultato finale che dovrebbe essere:

Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT

Gruppo2
ecc...
ecc...

non so se mi sono spiegato bene !

Ti ringrazio infinitamente :-)
__________________
Affari conclusi con: anomalos, Giankarlo, Gallomail, Muflus, ezekiel22, k|o, ecc...
luxe è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 09:32   #7
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Una soluzione l'avevo gia' proposta

Codice:
vecchiogruppo="";
for(su tutte le righe)
{
  questogruppo=prendo il gruppo della riga corrente con substring

  if (questogruppo!=vecchiogruppo)
      Write "Gruppo="+QuestoGruppo

  Write RestanteParteDellaRiga con Substring

  vecchiogruppo=questogruppo
}
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 10:58   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da luxe Guarda i messaggi
Salve gente, avrei un problemino, è un giorno intero che ci sbatto la testa, ma nada. Dunque, in una textbox ho il seguente contenuto:

(i dati sono di esempio)

Gruppo1, Matricola 1213, Dominio: NT
Gruppo1, Matricola 1215, Dominio: NT
Gruppo1, Matricola 1218, Dominio: NT
Gruppo2, Matricola 1312, Dominio: NT
Gruppo2, Matricola 1511, Dominio: NT
Gruppo2, Matricola 1616, Dominio: NT
Gruppo3, Matricola 1111, Dominio: NT
Gruppo3, Matricola 1414, Dominio: NT
Gruppo3, Matricola 1614, Dominio: NT

ok? bene, a me servirebbe trasformare il contenuto di questa text cosi:

Gruppo1
Matricola 1213, Dominio: NT
Matricola 1215, Dominio: NT
Matricola 1218, Dominio: NT

Gruppo2
Matricola 1312, Dominio: NT
Matricola 1511, Dominio: NT
Matricola 1616, Dominio: NT

Gruppo3
Matricola 1111, Dominio: NT
Matricola 1414, Dominio: NT
Matricola 1614, Dominio: NT

come posso fare ?
...
Io farei così : nel mio esempio ci sono 2 textbox, la prima contiene la stringa di partenza, come l'hai postata tu, mentre la TextBox2 è destinata a contenere il risultato.
Il codice è il seguente ( sicuramente può essere ottimizzato e snellito, ma l'ho buttato giù di getto in pochi min. perciò... accontentati ) :

Codice:
        Dim strPre As String
        strPre = TextBox1.Text

        Dim strPost As String = ""
        Dim testPre As String = "_"
        Dim arrayStr() As String
        arrayStr = stringa.Split(vbCrLf)
        Dim i As Integer = 0
        For i = 0 To arrayStr.GetUpperBound(0)
            Dim strLinea As String = CStr(arrayStr(i)).Trim
            If strLinea.StartsWith(vbCrLf) Then strLinea = Mid(strLinea, 2, strLinea.Length - 1)
            Dim test As String = Mid(strLinea, 1, 7)
            If test.Equals(testPre) Then
                strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
            Else
                If Not strPost.Equals("") Then
                    strPost = strPost & vbCrLf & vbCrLf
                    strPost = strPost & test
                    strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
                Else
                    strPost = strPost & test
                    strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
                End If
            End If
            testPre = test
        Next
        TextBox2.Text = strPost
Intanto prova...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 15:56   #9
luxe
Member
 
L'Avatar di luxe
 
Iscritto dal: Dec 2003
Città: Spoleto (PG)
Messaggi: 293
Ciao Marco, grazie
ho provato, ma mi da errore qui:

arrayStr = stringa.Split(vbCrLf)

mi dice che stringa non è stato dichiarato
__________________
Affari conclusi con: anomalos, Giankarlo, Gallomail, Muflus, ezekiel22, k|o, ecc...
luxe è offline   Rispondi citando il messaggio o parte di esso
Old 05-06-2008, 22:29   #10
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da luxe Guarda i messaggi
Ciao Marco, grazie
ho provato, ma mi da errore qui:

arrayStr = stringa.Split(vbCrLf)

mi dice che stringa non è stato dichiarato

Errore mio, ( eehhh, quando si fanno le cose di fretta... ) ma si rimedia subito :

Codice:
        Dim strPre As String
        strPre = TextBox1.Text
        Dim strPost As String = ""
        Dim testPre As String = "_"
        Dim arrayStr() As String
        arrayStr = strPre.Split(vbCrLf)
        Dim i As Integer = 0
        For i = 0 To arrayStr.GetUpperBound(0)
            Dim strLinea As String = CStr(arrayStr(i)).Trim
            If strLinea.StartsWith(vbCrLf) Then strLinea = Mid(strLinea, 2, strLinea.Length - 1)
            Dim test As String = Mid(strLinea, 1, 7)
            If test.Equals(testPre) Then
                strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
            Else
                If Not strPost.Equals("") Then
                    strPost = strPost & vbCrLf & vbCrLf
                    strPost = strPost & test
                    strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
                Else
                    strPost = strPost & test
                    strPost = strPost & vbCrLf & Mid(strLinea, test.Length + 3, strLinea.Length - (test.Length + 2))
                End If
            End If
            testPre = test
        Next
        TextBox2.Text = strPost
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare MSI PRO MAX: QD-OLED ultrawide per lavorare, cre...
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
Intel presenta le GPU D-Series fino a 48...
Un attacco informatico può far ma...
AMD Helion, fino a 32.768 core Zen 6 per...
Chiamate con numeri falsi: AGCOM sanzion...
Il radiotelescopio cinese FAST ha scoper...
Certificati TLS più brevi, Let's ...
Milano si candida a sede Onu per la gove...
Dopo Groq e Hugging Face, NVIDIA guarda ...
Thomas Zurbuchen entra in Blue Origin ne...
Qualcomm porta servizi e sicurezza nel g...
Microsoft porta l'inferenza IA sul propr...
Blue Origin aiuterà la NASA nella...
Scoperto pianeta 'ribelle': orbita al co...
smart #2 debutta a Parigi: batteria da 3...
Un certificato in scadenza può la...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:15.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v