Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102

    [VB][Array] la mia bestia nera :P

    Ho un arri di stringhe

    codice:
    Dim Nomi()           As String
    Lo inizializzo cosi

    codice:
    ReDim Nomi(0)        As String
    La riempo cosi

    codice:
    ReDim Preserve Nomi(UBound(Nomi) + 1) As String
    Nomi(UBound(Nomi)) = Mauro
    Poi una volta riempita ci guardo dentro (fa molto informatico hghghg)

    codice:
    For i = 1 To UBound(Nome)
    If Nome(i) = Mauro Then
    :master::master::master::master:
    qui dovrei fare in modo di cancellare nel mio arry Mauro
    :master::master::master::master:

    codice:
    next

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Gigi84
    Registrato dal
    May 2001
    Messaggi
    569
    cancelli mauro;
    tutti quelli dopo mauro scalano indietro di una posizione;
    l'ultima posizione è quindi vuota;
    accorci il vettore di 1: Redim Preserve mioarray(ubound-1);

    ..credo!


    ciao!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102
    Purtroppo non mi funziona cosi
    ho provato a fare questo

    codice:
    ReDim Preserve Nomi(UBound(Nomi) - 1) As String
    Ma c'e' un poccolo problema.

    Questa cosa mi ridimensiona il mio array e fin qui funziona
    ma se il miei elementi sono:

    Nomi(1)="paola"
    Nomi(2)="laura"
    Nomi(3)="mauro"
    Nomi(4)="sara"

    e io eseguo sta cosa appena arrivo al mio terzo elemento ("mauro") mi cancella il 4 elemento ("sara")e nn il terzo ("mauro")




    Non ditemi che devo riposizionarmeli tutti plz

    Laufer

  4. #4

    Re: [VB][Array] la mia bestia nera :P

    non ti basta passargli stringa vuota?
    codice:
    For i = 1 To UBound(Nome)
        If Nome(i) = "Mauro" Then
             Nome(i) = ""
        End If
    next
    o tu vuoi proprio ridimensionare l'indice? :master:

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102

    Re: Re: [VB][Array] la mia bestia nera :P

    o tu vuoi proprio ridimensionare l'indice? :master:


    mmmmmmm non ci avevo pensato .


    Spe che vedo se al programma gli garba sta cosa

    .........


    Laufer

  6. #6

    Re: Re: [VB][Array] la mia bestia nera :P

    [supersaibal]Originariamente inviato da ladyBlu
    non ti basta passargli stringa vuota?
    codice:
    For i = 1 To UBound(Nome)
        If Nome(i) = "Mauro" Then
             Nome(i) = ""
        End If
    next
    o tu vuoi proprio ridimensionare l'indice? :master: [/supersaibal]
    Scusa ma perché tenere in memoria una variabile che non viene utilizzata? Sarebbe come usare una variabile globale per una routine...

    Per ridimensionare l'indice é come dice Gigi84, ma prima devi scalare di una posizione quelle precedenti, quindi:

    codice:
    For i = 1 To UBound(Nome)
        If Nome(i) = "Mauro" Then
            'arriva fino al penultimo elemento
            For j = i To UBound(Nome)-1 
                'scala di -1 gli elementi a partire da "mauro"
                Nome(j) = Nome(j+1) 
            Next
            ReDim Preserve Nome(UBound(Nome)-1)
        End If
    next
    Tieni conto che questo codice ti cancella tutti gli elementi chiamati "mauro"!!

    Ciao!
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102

    Re: Re: Re: [VB][Array] la mia bestia nera :P

    Tieni conto che questo codice ti cancella tutti gli elementi chiamati "mauro"!!
    Ciao!

    Purtroppo questo non e' possibile poiche' gli elementi che popolano l'array non sono univoci.



    Laufer

  8. #8

    Re: Re: Re: Re: [VB][Array] la mia bestia nera :P

    [supersaibal]Originariamente inviato da Laufer



    Purtroppo questo non e' possibile poiche' gli elementi che popolano l'array non sono univoci.



    Laufer [/supersaibal]
    Cosa intendi? Proprio per il fatto che gli elementi non sono univoci li cancella tutti :master:

    Ciao
    Cerco ombrello vecchio, nuovo, moderno o antidiluviano; purché protegga da una pioggia che vien giù come Dio la manda. Fate presto che ho l’acqua alla gola. (Noè)

    C# programming and other stuffs

  9. #9

    Re: Re: Re: Re: Re: [VB][Array] la mia bestia nera :P

    [supersaibal]Originariamente inviato da chipdb


    Cosa intendi? Proprio per il fatto che gli elementi non sono univoci li cancella tutti :master:

    Ciao [/supersaibal]
    chipdb, lui non vuole cancellare tutti gli elementi che hanno valore = "Mauro", ma solo quello che gli interessa.
    cioè, se ad esempio l'indice 3 e l'indice 5 del mio array valgono "Mauro", io voglio cancellare solo il "Mauro" in posizione 5 e non quello in posizione 3.
    Almeno così ho capito io.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    102
    Esatto Lady blu

    Nel mio indice ci possono essere + "mauro" e a me interessa solo cancellare il primo che pesca.
    La soluzione di riassegnargli una stringa "" all'indice puo' andarmi bene


    Per chipdb scusa prima nn avevo inteso quello che hai scritto


    Laufer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.