Newsgroup: it.comp.lang.visual-basic
Titolo: Manipolazione di stringhe

Buonasera a tutti,
dovrei estrarre il nome di un database senza estensione da una filelistbox 
il cui pattern è *.mdb
ovviamente in lista mi trovo Pippo.Mdb o Pluto.Mdb
Che funzione dovrei usare per togliere l'estensione Mdb finale ed avere il 
nome puro?
Grazie per il supporto
Manlio 

 nome puro?
Devi individuare dove si trova ".mdb", mediante instrrev e magari anche 
lcase$, e accertarti che sia a Len(stringa)-4.
Poi fai un banale Left$.
Ciao
Alberto
-- 
Fabio Fazio: Se siamo alleati come mai nei nostri bar si vende Coca 
Cola e nei bar americani non si vende l'amaretto di Saronno?

 Alberto
Grazie Alberto.
Ho proprio provato instrrev all'interno dell'istruzione left mala variabile
mi restuisce il nome database con il puntino
E non riesco a venirne a capo.
Bah.,..sarà una disattenzione.
Ci riprovo!
Grazie ancora

Manlio Speciale ha scritto:

left(elemento, elemento.lenght - 4)
saluti MVB

 Devi individuare dove si trova ".mdb", mediante instrrev
Mai usata, ma ad una prima occhiata mi sembra uguale ad Instr.
In cosa sono diverse? perche immagino che qualcosa di diverso ci dve essere 
per forza...
-- 
Greg 

"greg" ha scritto nel messaggio

IN STRing REVerse :-)
InstrRev inizia a cercare dalla fine della stringa andando verso l'inizio.
Bye, G. 

Il 03/04/2008, greg ha detto :

Instr trova la prima occorrenza da sinistra, InstrRev la prima 
occorrenza da destra.
Siccome nei file system del mondo NT, è ammesso un nome file del tipo:
pippo.mdb.ciao.mdb
e la parte da estrarre sarebbe
pippo.mdb.ciao
Nno si può usare Instr, perchè si fermerebbe a 'pippo', perdendosi la 
parte a destra.
Non si può usare un normale Left, perchè se a destra non c'è .mdb, 
occorre che non venga estratto niente.
Ciao
Alberto
-- 
Max Beerbohm: Tutto ciò che è degno di essere fatto è stato fatto 
ripetutamente. Dalle cose mai fatte bisognerebbe tenersi, sospetto, 
molto alla larga.

 mi restuisce il nome database con il puntino
Hai per caso cercato "mdb" anziché ".mdb" ?
Bye, G. 

 occorre che non venga estratto niente.
ma nn è + facile come ho detto io?
left(stringa, stringa.lenght -4)???
saluti MVB

Sembra che v@nb@asten4eveR99 abbia detto :

Come dicevo, se sei sicuro che l'estensione sia '.mdb', puoi partire 
così.
Ma comunque anche col Left, prima devi verificare che l'estensione sia 
.mdb, quindi alla fine cambia poco. Un paio di righe di codice sia in 
un caso che nell'altro.
Personalmente, non uso mai, quando posso, tecniche di parsing 
posizionali, quindi per deformazione professionale io propendo per un 
parsing 'attivo'. Ma è una scelta.
Alberto
-- 
Noi ammazziamo solo per motivi buoni.
E quando sono buoni, sta a noi indicarlo.
[Guccini]

"v@nb@asten4eveR99" ha scritto nel messaggio

Se l'utente clicca su un file non .mdb ?
Se il file non ha l'estensione .mdb ?
Se il file non ha proprio estensione ?
Improbabile, dirai tu. Ma non impossibile, ti dico io: fidati...
Un Paperino che ne ha viste tante che i bastioni di Orione gli fanno un baffo. 

"Paperino" <non...@lo.dico.invalid> ha scritto

ehm, alle tue domande risponde la domanda iniziale:
<<estrarre il nome di un database senza estensione da una filelistbox
il cui pattern è *.mdb>>
quindi ".mdb" in fondo al filename c'e'...
quanto alla risposta di van basten, il concetto anch'io credo sia quello, ma 
essendo un filebox direi si tratti di vb classico, e sia quindi da usare la 
sintassi
fname=left(file1.filename, len(file1.filename)-4).
ciao, a.

 ha scritto nel messaggio 
news:47f52603$0$4796$4faf...@reader4.news.tin.it...

Si, credo sia la soluzione migliore, e mi da il risultato desiderato.
Tuttavia, visto che il post ha sortito una serie di condivisibili 
considerazioni,
volevo precisare che io ho fissato il pattern a Mdb, quindi non è possibile
avere sul filebox altri tipi di files. Oltretutto, l'utente non deve 
interagire
con essa ma attivo un ciclo di compressione database che sono in lista
su quella casella.
Grazie di cuore a tutti
Manlio 

 quindi ".mdb" in fondo al filename c'e'...
Ops, vero. Avevo letto un po' superficialmente il thread e istintivamente
ho pensato ad una commondialog, sulla quale è possibile battere un
*.* al posto del filename e dare invio. E siccome in quel caso ci sono
già capitato, ho imparato da tempo che le vie degli smart user e/o degli
utonti sono infinite.
Chiedo scusa per la confusione :-).
Bye, G.