Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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.
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare
MSI PRO MAX: QD-OLED ultrawide per lavorare, creare e giocare
MSI PRO MAX 341QPXW14G è un monitor ultrawide da 34 pollici che porta la tecnologia QD-OLED di quinta generazione in un contesto principalmente orientato alla produttività. La qualità dell'immagine è elevatissima, il formato 21:9 è ideale per il multitasking e la dotazione di porte trasforma il monitor in un vero hub per Mac, PC e dispositivi mobili. Il limite principale è invece il refresh rate di soli 144 Hz, che lo allontana dai giocatori competitivi più esigenti
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


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...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Rivoluzione in arrivo per Xbox su PC: la...
Weekend di offerte Amazon: vano a ruba l...
Quanto costerà la serie Galaxy S2...
Blink ai minimi su Amazon: videocamere M...
Fire TV Stick 4K a 27,99€, Echo Dot a 29...
Samsung e Thierry Henry: svelata la nuov...
Schermo OLED e touch: il MacBook sta per...
Addio conversioni: Google Drive e Docs o...
Arriva il portale di Google che smascher...
Gli iPhone 18 Pro non convincono: Apple ...
NVIDIA torna su macOS con un driver non ...
Engwe ha un modello che è il SUV ...
Le migliori offerte del weekend Amazon: ...
Cina e UE, intesa sulle auto ibride: Pec...
2 lavatrici slim COMFEE’ a 255€ o 280€ s...
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: 22:41.


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