Touixi
Messages postés14Date d'inscriptionjeudi 14 février 2013StatutMembreDernière intervention 3 juillet 2008
-
25 juin 2008 à 08:39
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 2014
-
25 juin 2008 à 13:11
Bonjour à tous codeurs chevronnés!
Je réalise actuellement une application qui doit ouvrir automatiquement un fichier. Malheureusement ce fichier n'a pas de nom fixe.
Il se présente sous la forme: blablaa_001.txt
J'aimerais savoir si l'on pouvait faire en sorte de ne pas tenir compte du mot blablaa et ouvrir ce fichier.
Je déclare mon fichier comme un String ( Private fichier As Stream = ("\My Documents\blablaa_001.txt")
J'ai essayé en utilisant la sémantique en remplacant blablaa_001.txt par *_001.* . Mais impossible d'ouvrir ce fichier.
Comment lui donner en paramètres simplement une parti du fichier?
Je vous remercie d'avoir pris du temps de me lire et vous remercie d'avance pour l'aide que vous allez m'apporter!
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 25 juin 2008 à 09:18
Salut touixi !
Je n'ai jamais fait ça, mais il me semble que tu ne peux pas utiliser "*" pour faire appel à ton fichier, car ce symbôle est utilisé pour choisir non pas un seul fichier mais tous !
Par exemple, si tu avais fait "*.txt", tout les fichiers avec l'extension .txt seraient appelés...
De plus tu utilise l'étoile au milieu de ton nom de fichier, alors qu'elle remplace tout le nom, donc forcément ça bloque.
Je ne sais pas comment faire appel à un fichier sans donner directement son nom en entier, mais déjà je pense que tu peux écarter la possibilité d'utiliser une étoile.
Si je ne me trompe pas, tu fait appel à un grand nombre de fichier dans une instruction qui te permet d'en ouvrir un seul, donc c'est impossible.
J'espère que quelqu'un pourra confirmer tout cela, ou même le démentir car je ne suis pas sur à 100% et donc cela permettrait d'être fixé.
En attendant je vais faire quelque recherche pour voir si jamais je trouve une façon de donner une parti de fichier en paramètre.
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 25 juin 2008 à 10:06
Pour ton fichier, peut être est-il possible d'utiliser :
%_001.txt
"%" permet de remplacer une chaîne de caractères de longeur quelconque,donc ici ça remplacerait blablaa.
"_" permet de remplacer un caractère excatement, du coup je pense que tu peux le laisser, mais il remplacera "_" par "_"...mais ce n'est pas très grave^^
Par contre je vois pas très bien comment faire sans l'extension du fichier
Là tu va faire appel au fichier dans lequel se trouve _001.txt dans le nom, avec une chaine de caractère devant.
Du coup, il faut q'un seul fichier est dans son nom _001.txt :
si tu as blablaa_001.txt et jeparle_001.txt, ça ne marcheras pas ( problème d'ouvrir un seul fichier en faisant appel à plusieurs..)
Peace
Vous n’avez pas trouvé la réponse que vous recherchez ?
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 25 juin 2008 à 11:03
Bonjour
Il faut ouvrir explicitement un seul et unique fichier (je ne connais aucune commande qui permet d'utiliser les jokers.
[auteur/GARNIERFLORIAN/1404082.aspx GarnierFlorian], je te corrige, les jokers utilisés pour les nom de fichiers (et l'opérateur Like, mais à vérifier ce sujet) :
* toute chaine (y compris vide)
? un seul caractère
L'ouverture d'esprit ne se limite pas toujours à une fracture du crâne.
VB (6, .NET1&2), C++, C#.Net1
Mo
GarnierFlorian
Messages postés129Date d'inscriptionmardi 27 mai 2008StatutMembreDernière intervention26 juillet 2011 25 juin 2008 à 11:11
Oki merci NHenry, je n'étais vrément pas sur, et j'avais bien raison d'ailleurs^^ Je dois confondre avec les jokers utilisés en SQL :$
En tout cas je me disais bien qu'il étai compliqué d'ouvrir un fichier sans l'appeler explicitement.
Bon courage à toi touixi, et merci encore NHenry.
Touixi
Messages postés14Date d'inscriptionjeudi 14 février 2013StatutMembreDernière intervention 3 juillet 2008 25 juin 2008 à 11:31
@Florian.
Apres quelques modification de ma part, mon application devra ouvrir un fichier .txt de type releve_001.txt
Les 3 chiffres 001 vont bien entendu se modifier selon le numéro de relevé que l'on veut consulter.
Imaginons que je prenne en paramètre le numéro (exemple: 002)
Comment lui indiquer ce 002 dans l'appel du fichier?
j'espère avoir été clair.
En vous remerciantt Florian et NHenry pour votre aide!
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 25 juin 2008 à 11:39
Bonjour
Tu peux utiliser un truc du genre pour lister le fichiers :
Dim ltFiles as string()=io.Directory.GetFiles("releve_???.txt",NomDossier)
(pas sûr de la syntaxe)
Et ensuite pour l'ouvrir :
- Récupérer tout le tecxte (.NET2+) :
Dim lContenu as String=My.Computer.FileSystem.ReadAllText("NomFichier")
(pas sûr de la syntaxe)
- Prendre un Stream :
Dim lStream as io.Stream=io.File.Open("NomFichier")
(pas sûr de la syntaxe)
L'ouverture d'esprit ne se limite pas toujours à une fracture du crâne.
VB (6, .NET1&2), C++, C#.Net1
Mo
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 25 juin 2008 à 13:06
"
Imaginons que je prenne en paramètre le numéro (exemple: 002)
Comment lui indiquer ce 002 dans l'appel du fichier?
"
si tu as le numéro du relevé alors simple
dim NumRef as string ="002"
dim monFichier as String = TonPath & "blabla" & NumRef & ".txt"
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 25 juin 2008 à 13:11
fais un test avec une messagebox pour voir si tu as bien le "" ou utilise dim monFichier as String =FileIO.FileSystem.CombinePath(TonPath, Blabla & Numref & ".txt")