Recherche et remplacement sous dos dans un fichier

x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004 - 20 oct. 2004 à 11:35
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

60 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 22:36
Merci, merci, comme je ne savais pas ton niveau j'ai tout détaillé au cas où

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 22:55
J'ai une autre version pour toi, elle est beaucoup mieux :

DIM Filename AS STRING  'Déclaration
DIM OutFile AS STRING
DIM Infos AS STRING
DIM p1 AS INTEGER
DIM Valueoffile
DIM resteoffile   'Fin des déclaration

CLS   'Effacement de l'écran
PRINT "Entrez le nom du fichier dans lequel faire la recherche"  'Affichage du texte de la question
INPUT Filename  'Demande à l'utilisateur une information qui sera stockée dans FileName
PRINT ""  'Ligne Vide
PRINT "Entrez le nom du fichier de sortie"  'La Question suivante
INPUT OutFile   'Stockage de la réponse dans OutFile
PRINT ""  'Ligne Vide
PRINT "Entrez l'information à rechercher"   'Encore une question
INPUT Infos  'Encore un stockage

OPEN Filename FOR INPUT AS #1  'Ouverture du Fichier FileName pour faire la recherche
        INPUT #1, Valueoffile$
CLOSE #1
p1 = INSTR(Valueoffile$, Infos)  'Recherche de Infos dans ValueOfFile
resteoffile$ = MID$(Valueoffile$, p1 + LEN(Infos))  'Sélection de tout après Infos

OPEN OutFile FOR OUTPUT AS #1   'Ouverture du fichier OutFile pour y écrire les infos
        PRINT #1, resteoffile$
CLOSE #1

END   'Fin du programme


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
20 oct. 2004 à 22:57
ouaip tout ce qu'il me faut
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:00
Si cela marche Valide la réponse. sinon apparement on peux pas utiliser les argument de la ligne de commande, c'est C..

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
20 oct. 2004 à 23:00
tiens tu l'as posté pendant que je te répondais, bon j'etudie la chose
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:04
ensuite il te suffit de la compiler en EXE et c'est règler.
Si tu n'arrive pas à le compiler en EXE, tu peux essayé de faire :

qbasic /run toto.bas

Il doit y avoir une autre ligne de commande pour quitter automatiquement QB mais avec un EXE le pb ne se pose même pas.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
20 oct. 2004 à 23:22
j'ai fait un test avec un fichier fictif que j'ai nommé essai.txt
et dedans

passesattention attention 5510 319 2705 89801
c_cacao001487 2356987 000065

et je cherche a obtenir les chiffres après c_cacao

mais là il m'a donné dans le fichier une partie de la première ligne
.. en résultat ?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:35
Sorry, je suis un peu rouillé :

remplace : INPUT #1, Valueoffile$
par : ValueOfFile$ = INPUT$(LOF(1), #1)

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:38
ValueOfFile$ = INPUT$(LOF(1), #1)

Je demande à mettre le contenu du fichier dans la variable ValueOfFile, pour ce faire QB/VB demande la longueur, donc je lui dit de faire une variable aussi grande que le fichier 1 : LOF(1) qui veux dire : Lenght Of File.,

Input$( Longueur, N° du fichier)

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
20 oct. 2004 à 23:45
ah c'est peut être pour ca que j'ai eu un message d'erreur " out of capacity" quand j'ai voulu tester avec un fichier plus conséquent.. sinon ca marche nickel sur un petit fichier
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:49
Ah oui j'ai pas mis de gestion d'erreur, mais je crois que cela ce fait avec un On Error ....

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
20 oct. 2004 à 23:51
là j'ai compilé et retesté, maintenant j'ai appel de fonction interdit dans module à l'adresse 0f7e:010c
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 oct. 2004 à 23:56
??? heu là je ne sais pas.

Met ceci dedant :

p1 = INSTR(Valueoffile$, Infos)  'Recherche l'infos

if p1=0 then end   'Si l'infos n'a pas été trouver Instr retourne 0 donc on test si p1=0 et si c'est le cas on sort du programme.


Cela viens ptetre de là.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
21 oct. 2004 à 00:05
nan nan ce n'est pas ca, la j'ai depassement de capacité
je pense que c'est parce que le programme doit prendre tout ce qui est apprès le mot recherché et comme l'info est dans le milieu d'un fichier de 65K ca doit faire beaucoup, je t'envoi sur ton mail un fichier concret si tu veux...
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
21 oct. 2004 à 00:08
Oui vas y je vais voir cela.
peut-être pas ce soir, mais demain à la première heure oui.
enfin un petitpeu quand même ce soir, juste pour voir.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
21 oct. 2004 à 00:13
c'est parti
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
21 oct. 2004 à 00:21
Cherche plus, regarde ce que j'ai trouver dans QB :

                             Maximum Minimum
                             ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ   ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
 Longueur nom de variable    40 caract?res             1 caract?re
 Longueur cha?ne de car.     32 767 caract?res         0 caract?res
 Entiers                     32 767                   -32 768
 Entiers longs               2 147 483 647            -2 147 483 648
 Nombres simple pr?cision :
   Positifs                  3,402823E+38              2,802597E-45
   Negatifs                 -2,802597E-45             -3,402823E+38
 Nombres double pr?cision :
   Positifs                  1,79769313486231D+308     4,940656458412465D-324
   Negatifs                 -4,940656458412465D-324   -1,79769313486231D+308


Une string ne peux pas faire plus de 32Ko, il faut que je réfléchissent comment faire un truc pour contourner ça, a mon avis un tableau devrais faire l'affaire. un tableau avec des plage de 32k.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
21 oct. 2004 à 00:26
ah ben là je suis dépassé........faire un tableau ??

je crois que tu devrais allé faire un gros dodo, te fatigue pas inutilement, c'est déjà pas mal ce que tu as fait, je commence un pue a pigé en tout cas grace a toi
0
x505 Messages postés 28 Date d'inscription samedi 15 novembre 2003 Statut Membre Dernière intervention 21 octobre 2004
21 oct. 2004 à 00:31
mais un truc me chiffone, le problème vien d'ou , du fait que le fichier soit trop gros ou que l'on essaye de recuperer une info trop grosse, sachant que c'est l'info qui est juste après le mot clé qui m'intéresse et non tout le reste du fichier
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
21 oct. 2004 à 00:46
Ouais c'est tout à fait ça.

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