probleme pour retirer le chemin d'un fichier

probleme pour retirer le chemin d'un fichier - VB/VBA/VBS - Programmation

Marsh Posté le 21-12-2002 à 16:45:03    

bonjour , excusez moi de vou déranger pour une question aussi idiote mais est ce que vous auriez le code pour retirer le chemin d'un fichier d'une listbox ?  
 
Voyez j'ai un ptit programe de recherche celui ci recherche les .wav et les ajoute dans un listbox Mais le probleme est que dans le listbox on voit tout le chemin du fichier + son type : C:\Windows\test.wav
j'aimerais que sur un label soit ecris just le nom du fichier , ex : "test" lorsqu'on selectione un fichier dans la list c possible ?


---------------
•º°) SkabsnowsurF Board Free Style (°º•
Reply

Marsh Posté le 21-12-2002 à 16:45:03   

Reply

Marsh Posté le 21-12-2002 à 17:27:19    

En QB, je fais
texte$ = "c:\windows\test.wav"
 
iPosS% = 0
DO
  ' positon du dernier antislash rencontré
  iPosAv% = iPosS%
  ' recherche du prochain antislash
  iPosS% = INSTR(iPosS% + 1, texte$, "\" )
  ' y en a plus, on quitte
  IF (iPosS% = 0) THEN EXIT DO
LOOP
 
' où est le point d'extension si y a ?
iPosP% = INSTR(iPosAv% + 1, texte$, "." )
' si pas de point, valeur artificielle
if (iPosP% = 0) then iPosP% = LEN(texte$) + 1
Chaine$ = MID$(texte$, iPosAv% + 1, iPosP% - iPosAv% - 1)
' puis pour vérifier l'algo
PRINT Chaine$
 
On peut aussi utiliser certaines API Windows qui extraient le chemin, le nom, .. (je n'ai pas leurs noms sous la main, ni en tête)

Reply

Marsh Posté le 21-12-2002 à 17:31:57    

Spiritu4L a écrit :

bonjour , excusez moi de vou déranger pour une question aussi idiote mais est ce que vous auriez le code pour retirer le chemin d'un fichier d'une listbox ?  
 
Voyez j'ai un ptit programe de recherche celui ci recherche les .wav et les ajoute dans un listbox Mais le probleme est que dans le listbox on voit tout le chemin du fichier + son type : C:\Windows\test.wav
j'aimerais que sur un label soit ecris just le nom du fichier , ex : "test" lorsqu'on selectione un fichier dans la list c possible ?

Sub test()
temp = "c:\windows\toto\test.xls"
c = 0
For i = 1 To Len(temp)
tt = Right(temp, i)
If Left(tt, 1) = "\" Then
cc = i
GoTo sortie
End If
Next
sortie:
cc = cc - 1
resultat = Mid(temp, Len(temp) - cc + 1, cc - 4)
'
MsgBox (resultat)
 
End Sub

Reply

Marsh Posté le 21-12-2002 à 17:37:31    

Oui je suis dacord ca marche , mais moi je voudrais utiliser un code InStr(Left) vous comprennez ? que ca marche pour tout en fait


---------------
•º°) SkabsnowsurF Board Free Style (°º•
Reply

Marsh Posté le 21-12-2002 à 17:57:16    

Spiritu4L a écrit :

Oui je suis dacord ca marche , mais moi je voudrais utiliser un code InStr(Left) vous comprennez ? que ca marche pour tout en fait

comprend pas
 
ça marche pour tout ,tu veux dire avoir un parametre ds ta procedure ?

Reply

Marsh Posté le 21-12-2002 à 18:01:06    

bah non , en fait je veu just que quand on selectionne un fichier dans la list , on voit le labeltitre.caption avec comme caption le titre du wav c tout


---------------
•º°) SkabsnowsurF Board Free Style (°º•
Reply

Marsh Posté le 21-12-2002 à 18:10:10    

Une copie d'écran avec info sur quoi doit être où.
 
Ze comprends pas trop (fatigue trop grande ?).
 
Sub NomIsole$(texte$)
iPosS% = 0
DO
 ' positon du dernier antislash rencontré
 iPosAv% = iPosS%
 ' recherche du prochain antislash
 iPosS% = INSTR(iPosS% + 1, texte$, "\" )
 ' y en a plus, on quitte
 IF (iPosS% = 0) THEN EXIT DO
LOOP
 
' où est le point d'extension si y a ?
iPosP% = INSTR(iPosAv% + 1, texte$, "." )
' si pas de point, valeur artificielle
if (iPosP% = 0) then iPosP% = LEN(texte$) + 1
NomIsole$ = MID$(texte$, iPosAv% + 1, iPosP% - iPosAv% - 1)
END SUB
 
Si on cherche le nom correspondant à la ligne sélectionnée, on récupère le tout, le passe comme paramètre à la fonction NomIsole$ et on a alors le nom tout seul. Suffit de l'afficher où on veut comme caption.
Le labeltitrecaption, c'est la barre de titre de la feuille ???
 
Une copie d'écran, une copie d'écran !!! Vaut mieux un dessin que de longs discours.
 
NB : si le prog n'est pas écrit par soi-même, tintin pour modifier sa façon de se comporter !!


Message édité par Carbon_14 le 21-12-2002 à 18:10:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed