Recherche et remplacement sous dos dans un fichier

Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
- - Dernière réponse : x505
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
- 21 oct. 2004 à 15:15
Voila..

je ne sais pas par ou commencer,

je dois dans un fichier texte sous dos, chercher une chaine
de caractère et recuperer ce qui suit a celle ci,

du style " CACAO 000022 000222 04444 "

je lance la recherche pour qu'il me trouve CACAO et ensuite
il sauvegarde 000022 000222 04444 dans un fichier.

que je réinjecte en faisant l'inverse dans un autre fichier texte.

mais mon gros souci c'est que tout ceci dois se faire sous dos 6.22
et que je ne vois pas du touut par ou commencer et ni comment
m'y prendre....

J'ecoute toute suggestions

Merci
Afficher la suite 

20/60 réponses

Meilleure réponse
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
1
Merci
Tu programme en Basic ou QBasic ?
ou Batch ?

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
ben celui qui sera le plus adapté...

mais si c'est faisable en batch et que cela fonctionne sur un dos 6.2 je suis aussi preneur, a vrai dire je ne sais pas du tout par quel bout commencer déjà ne serai ce que'avec le choix de la programmation sous dos
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Ok, hmm je te donne la réponse ce soir en rentrant à la zonzon, mais tu va utiliser les 2.
Tu va faire un batch pour lancer le programme QBasic, et ensuite en va pouvoir programmer dans QBasic. Enfin quand je dit que l'on va lancer QBasic, on va faire un Batch qui lancera QBasic et éxécutera le programme automatiquement.
J'ai mes cd de Dos à la maison donc ça devrais aller, n'hésite pas à me le rappeler par mail si tu n'a pas de réponse à 20h.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
ok

merci :)
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Sinon si on y arrive pas en QB, je peux t'aider à le faire en Turbo C, mais on vérra déjà en QB, car j'ai pas trop non plus envie de ressortir mes cours de TC.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
déjà que je suis paumé pour l'instant, le C ? bah .....

là je debauche et je rentre chez moi pour l'instant, @ + tard
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Je suis en pleine recherche

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
et moi je cherche de la doc sur qb...
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
regarde à www.qbasic.com
c'est en anglais mais bien

http://www.cybwarrior.com/articles/?id=6

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Juste une question temps que j'y suis :

" CACAO 000022 000222 04444 ", c'est pas toujours Cacao que tu cherche ?
Et le nom du fichier n'est pas toujours le même ?

Sinon j'ai trouver, ça fonctionne, j'ai vu qu'il existe des compilateur pour qbasic.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
oui ca peut aussi etre autre chose que CACAO

mais dans ce cas la longueur de la chaine de caractère a récupérér peut ne pas être de la même longueur

quand au nom du fichier dans lequel je prend et je remet l'info dans mon cas c'est le même mais pas au même endroit ni au meme moment d'ou le besoin de stocker l'info dans un fichier et de la réintroduire dans le nouveau fichier plus tard.

je visite ton lien
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Voici ce que j'avais :

DIM Filename AS STRING
DIM p1 AS INTEGER
DIM Valueoffile
DIM resteoffile

command
Filename = "c:\toto.txt"

OPEN Filename FOR INPUT AS #1
        INPUT #1, Valueoffile$
CLOSE #1
p1 = INSTR(Valueoffile$, "CACAO")
resteoffile$ = MID$(Valueoffile$, p1 + LEN("CACAO"))

OPEN "c:\Toto2.txt" FOR OUTPUT AS #1
        PRINT #1, resteoffile$
CLOSE #1


Par contre je sais que en VB on utilise Command pour récupérer les arguments. Car je voulais faire un fichier type, et à chaque chargement tu aurais mis par exemple :

Prog.exe Toto.txt Toto2.txt CACAO

Prog.exe étant le QBasic compiler, Toto.txt le fichier où l'on va rechercher l'info, Toto2.txt l'infos de sortie "000022...", et CACAO l'info à chercher.

Mais j'arrive pas à trouver comment faire, je sais que en Batch on utilise %1, %2, %3, .....

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Eratum, y'a pas la ligne "Command", à supprimer.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
mmmh moi faudrai que je commence par le debut, pour utiliser ceci il me faut un compilateur,

sur http://quickbasic.free.fr/index.php j'ai trouvé

quickbasic 4.5fr c'est bon ?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Normalement QBasic est fournis avec Dos 6-22, sinon je peux t'envoyé la version que j'ai, au cas où celle que tu as trouver ne marcherais pas.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
version 1.1 sous dos 6.22 tu utilise quel version ?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
1.1 aussi

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
bon j'ai fialement la version 4.5 fr, mais heu pourrais tu me commenter un peu ton code ?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
11
0
Merci
Allright no problem, I comment :

DIM Filename AS STRING   'Je déclare une variable de type String (Texte)
DIM p1 AS INTEGER  'Je déclare une variable de type nombre Integer (Entier)
DIM Valueoffile  'Je déclare une variable sans préciser se quelle sera
DIM resteoffile  'Et une seconde


Les 2 dernières variables n'ont pas été précisées car je ne suis pas sûr du type d'infos que j'y stockerais, donc QB complètera ça tout seul comme un grand.

Filename = "c:\toto.txt"    'Je met le chemin du fichier d'origine dans la variable FileName


OPEN Filename FOR INPUT AS #1   'J'ouvre le fichier FileName en mode lecture et le numérote à "#1"
INPUT #1, Valueoffile$   'Je met les information du fichier N° #1 dans la variable ValueOfFile, le $ c'est car la longueur du texte est variable.
CLOSE #1   'Je referme le fichier


p1 = INSTR(Valueoffile$, "CACAO")  'Je recherche dans ValueOfFile le mot "CACAO", la position de CACAO sera mise dans p1.
resteoffile$ = MID$(Valueoffile$, p1 + LEN("CACAO"))   'Je récupère ce qui suit "CACAO" dans la variable ResteOfFile.


MID$( Texte, PositionDudébut de la sélection, Longueur), dans le code je n'ai pas préciser la longueur de la sélection car je ne la connais pas, enfin je n'ai pas envie de la calculé, je laisse cela à QB. p1 retourne la position du C de CACAO donc il faut ajouter la longueur de CACAO pour se positionner derrière.

OPEN "c:\Toto2.txt" FOR OUTPUT AS #1


'Ouverture d'un fichier toto2.txt pour y écrire des infos, on le nommera aussi #1, car lorsque l'on a fermé le précédent #1, QB à libérer le numéro #1.

PRINT #1, resteoffile$  'On écrit dans le fichier N° #1, le contenu de la variable ResteOfFile
CLOSE #1   'On ferme le fichier


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
28
Date d'inscription
samedi 15 novembre 2003
Statut
Membre
Dernière intervention
21 octobre 2004
0
Merci
yo ca c'est du commantaire :)