Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    33

    [VB] estrarre caratteri da una stringa

    Dunque mi spiego...
    ho questa stringa:
    "C:\ciao\blanka\R0000009.ODC"
    e voglio riuscire ad estrarre solo il nome del file..."R0000009.ODC".
    Le lunghezze non sono fisse!
    Avevo pensato a:
    1. calcolare la lunghezza della stringa totale
    2. calcolare la lunghezza della stringa fino all'ultimo "\"
    3. fare una Right(stringa, differenza_tra_le_len)

    voi come fareste?
    grazie e ciao!
    Mantenetevi folli, e comportatevi come persone normali. Correte il rischio di essere diversi, ma imparate a farlo senza attirare l'attenzione.

  2. #2

    Va bene quanto hai scritto....

    Puoi fare ciò così:

    1) Calcoli la lunghezza della stringa con la funzione Len.
    2) Calcoli la posizione dell'ultimo "\" con un ciclo sulla funzione Instr in cui incrementi di volta in volta la posizione di partenza (il primo parametro della funzione per intenderci...).
    3) Con i due valori trovati esegui una funzione Right e estrai la parte che ti interessa.

    Ad ogni modo ecco una funzione che ho scritto che fa quello che richiedi...

    codice:
    Public Function BaseName(Path As String) As String
    Dim posiz As Integer
    Dim LastPos As Integer
    Dim Separator As String 
    Separator = "\"
    LastPos = 0
    BaseName = ""
    posiz = InStr(1, Path, Separator, vbTextCompare)
    While posiz > 0
      LastPos = posiz
      posiz = InStr(posiz + 1, Path, Separator, vbTextCompare)
    Wend
    BaseName = Right(Path, Len(Path) - LastPos)
    End Function
    Spero di averti aiutato, fammi sapere...
    Ciao!
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    33
    Ti ringrazio! provo subito e ti faccio sapere come va!
    Mantenetevi folli, e comportatevi come persone normali. Correte il rischio di essere diversi, ma imparate a farlo senza attirare l'attenzione.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Perchè calcolare la posizione del \ dall'inizio della stringa con Instr quando esiste la funzione InstrRev che ti ritorna direttamente la posizione dell'ultimo \ ?????


    E poi usate sempre le funzioni stringa e non quelle variant perchè quest'ultime sono più lente e causano una conversione implicita in un valore stringa.
    Ans.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    33
    Ho adattato la tua funzione al programma e funziona che è una meraviglia!
    Ti ringrazio ancora tanto!
    Ciao!:gren:
    Mantenetevi folli, e comportatevi come persone normali. Correte il rischio di essere diversi, ma imparate a farlo senza attirare l'attenzione.

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.