Visual basic 6 -besoin d'aide pour la programmation

darkfly001 Messages postés 2 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 11 juin 2004 - 11 juin 2004 à 12:37
darkfly001 Messages postés 2 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 11 juin 2004 - 11 juin 2004 à 18:09
bon voila, je sougaite faire un programme qui pourra fouller dans un document texte et pouvoir detecter les {\k} et lire les valeur qu'il y a dedans, puis les remplacer par autre chose, mais en m'indiquant la ligne de modification.

Ex: il cherche "{\k" et tombe sur "{\k20}" lit la valeur 20 et enregistre la ligne a laquelle il l'a lu, puis remplace le "{\k20}" par "(time 200)" et m'indique la ligne.
si il y avait eu "{\k45}", il aurrait remplacer par "(time 450)".

Voila j'espere avoir des solution a ce probleme car je ne trouve pas de solution.
Meme si ce sont des fonction qui s'en approch se n'est pas grave carelle me seron quand meme surement utile.
Merci d'avance

4 réponses

cs_funseb Messages postés 154 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 28 janvier 2010 1
11 juin 2004 à 13:12
pour le debut tu fais :
i = 0
open "adresse du fichier" for input as #1
while not eof(1)
line input #1,tampon (met la ligne ds la variable tampon)
if instr(tamp, "{\k") then
lire 20 et remplacer (je vois pas comment on peut faire)liste.list(i) i + 1 ((i + 1) num de ligne que l'on place dans une liste)
end if
i = i + 1
wend
close #1

clac-clac
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
11 juin 2004 à 13:21
Dim Ligne as String, i as long, j as long,Idx as long
Open "Monfichier.txt" for input as #1
idx = 1
While not eof(1)
  Line Input #1,Ligne
  i = instr(Ligne,"{\k")
  While i <> 0
     j = instr(Ligne,"}")
     Ligne = left$(Ligne,i-1) & "(time " & mid$(ligne,i+3,j-i-3) & ")" & mid$(ligne,j+1)
     i = instr(Ligne,"{\k")
    Msgbox "La ligne N°" & idx & " a été changé en " & vbcrlf & ligne,vbOkOnly
  Wend
  idx = idx +1
Wend
Close #1

Cela devrait fonctionner ! J'ai supposer que tu pouvais avoir plusieurs "{\k...}" sur la meme ligne. Si ce n'est pas le cas, alors voila le code :
Dim Ligne as String, i as long, j as long,Idx as long
Open "Monfichier.txt" for input as #1
idx = 1
While not eof(1)
  Line Input #1,Ligne
  i = instr(Ligne,"{\k")
  if i <> 0
     j = instr(Ligne,"}")
     Ligne = left$(Ligne,i-1) & "(time " & mid$(ligne,i+3,j-i-3) & ")" & mid$(ligne,j+1)
   Msgbox "La ligne N°" & idx & " a été changé en " & vbcrlf & ligne,vbOkOnly
   End if
   idx = idx +1
Wend
Close #1

Christophe R.
0
cs_the_best Messages postés 212 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 6 avril 2006
11 juin 2004 à 13:22
A part ça met pas "Visual basic 6 -besoin d'aide pour la programmation" mais un descritpion du prob. :shock)
The Best :-p
0
darkfly001 Messages postés 2 Date d'inscription vendredi 11 juin 2004 Statut Membre Dernière intervention 11 juin 2004
11 juin 2004 à 18:09
merci pour les source sa sera super pratique
0
Rejoignez-nous