/!\ Ecriture dans fichier existant, j'y arrive pas ... /!\

Signaler
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004
-
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004
-
Salut tout l'monde !

Voilà, j'ai un petit soucis .. Enfin pas si petit que ça ! Je me demande si il est possible d'écrire à un endroit précis dans un fichier car mon problème est le suivant. Je souhaite généré une page HTML mais je ne sais aps combien j'aurais de lignes et de colonne dans le tableau que je vais généré. j'aurais donc besoin d'écrire à plusieurs endroits de mon fichier. Peut-on mettre des paramètres pour écrire à tel ou tel ligne en utilisant la commande

Print #1, " <tr>"
Print #1, " <th scope=""Row"">" & param.Prefixe & "</th>"

Ou faut-il passer par une autre commande ?

Merci de votre aide !

11 réponses

Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

L'instruction Write semble plus approprié d'après la MSDN. Mais je ne vois tjrs pas comment résoudre mon problème :(
Messages postés
79
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
8 juin 2004

Mets ton fichier dans une RichTextBox et effectue les recherches et les modifs à partir d'elle. ca sera bien plus pratique. Et pour sauvegarder après c'est facile avec l'instruction SaveFile.

Ya pleins d'exemples sur le site tu devrais trouver tyon bonheur.
Messages postés
237
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2005
4
Ou sinon tu peux aussi générer le texte dans un tableau dynamique de type string et une fois ton texte généré, tu fais une boucle sur ce tableau pour écrire dans ton fichier texte.
Comme ça ton problème de numéro de ligne est résolu...
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

Je vais essayer de fouiner et si je trouve pas je reviendrais vous demander, car pour l emoment c'est assez flou ;/
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

Tu pourrais m'en dire un peu plus PlaineR, car ton idée a l'air intéressante :)
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

je en vois pas comment générer le texte dans un tableau dynamique de type string .. Désolé, je débute :(
Messages postés
237
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2005
4
Eh bien, d'abord tu créées ta variable de type tableau :
fic_result as string ()

Tu crées également une variable de type integer
nb_ligne as integer
nb_ligne = 0

Ensuite tu écris une ligne dans ton tableau
nb_ligne = nb_ligne +1
redim preserve fic_result(nb_ligne)
fic_result = "<th scope=""Row"">" & param.Prefixe & "</th>"
....

ensuite si tu veux insérer une ligne entre la ligne 4 et 5
tu fais une procédure pour décaler tes lignes à partir d'une ligne donnée :
private sub insertion_ligne (no_lig_ins as integer,
texte_ins as string)
dim i as integer
i = ubound(fic_result)
redim preserve fic_result (i)
' decalage des lignes
do while i > no_lig_ins
fic_result(i+1) = fic_result(i)
loop
fic_result(no_lig_ins) = texte_ins
end sub

tu appelles cette procédure pour insérer une ligne
insertion_ligne (5, "<tr> ....")

Ensuite quand tu veux générer ton fichier tu n'as plus qu'à faire une boucle sur ton tableau et écrire chacune de ses lignes...
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

Merci pour ton aide précieuse, mais je n'arrive pas encore à faire le lien avec mon programme que voici :

Private Sub GenereHtml()

' Séquence de test

Dim col As Integer ' Variable pour le nombre de colonnes
Dim line As Integer ' Variable pour le nombre de ligne
Dim color As Integer ' Variable pour les 3 couleurs (Rouge, Jaune & Vert)
fic_result As String
nb_ligne As Integer
nb_ligne = 0

' Détection du sens dans fichier existant

' Ouverture en écriture sur canal 1

Open "c:\index.html" For Output As #1
nb_ligne = nb_ligne + 1
ReDim Preserve fic_result(nb_ligne)

' Procédure d'insertion de données pour le tableau

Private Sub insertion_ligne(no_lig_ins As Integer, texte_ins As String)

Dim i As Integer
i = UBound(fic_result)
ReDim Preserve fic_result(i)
' Décalage des lignes
Do While i > no_lig_ins
fic_result(i + 1) = fic_result(i)
Loop
fic_result(no_lig_ins) = texte_ins

End Sub

' Tronc commun

Print #1, "
"
Print #1, "\"
Print #1, \"----
\"
Print #1, \"Agts |\"
' Print #1, \"35 |\"
' Print #1, \"AgtsAbsent |\"
' Print #1, \"18 |\"
Print #1, \"\"
Print #1, \"----
\"
Print #1, \"AgtsDispo |\"
' Print #1, \"17 |\"
' Print #1, \"TpsAppel |\"
' Print #1, \"4 |\"
Print #1, \"\"
Print #1, "
"
Print #1, "
"

Close #1

End Sub

Pour infos, les lignes en commentaire sont celle qui seront à inséré par la suite car en fait.

Voilà, je dois avoir pas mal d'erreur à la compilation, je n'ai pas eu le temps de tester .. Si tu as des idées :)
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

Je vais essayer d'expliquer mon problème un peu mieux.

Au départ, j'ai des données qui arrivent avec un certains nombre de paramètres. Toutes ces données doivent être classés dans un tableau (en passant par une feuille HTML classique). Je les récupère bien quand il s'agit de les récupéré à l'horizontal sans modification, c'est à dire de ce genre là

X | Y
-------------------------
Z | W
-------------------------
A | B

A préciser que ces données arrivent toutes les 2s et sont mis à jour toutes les 2s.

Mais ce que je veux faire, c'est pouvoir les organiser comme je veux. Autrement dit, je voudrais pouvoir afficher de cette façon là de la même façon.

X | Z | A
-----------
Y | W | B

Je m'embrouille de plus en plus :( ...
Messages postés
237
Date d'inscription
mercredi 26 novembre 2003
Statut
Membre
Dernière intervention
6 décembre 2005
4
J'ai du mal à voir le rapport entre ton code et ton exemple...
Je vais essayer de résumer ce que j'ai compris :

1. tu as un fichier HTML qui comporte déjà des données
2. tu veux écrire dans ce fichier d'autres données à des endroits précis de ton fichiers HTML, c'est bien ça ?

Par contre après je ne comprends pas ton problème de réorganisation horizontal / vertical ?
Messages postés
59
Date d'inscription
mercredi 26 mai 2004
Statut
Membre
Dernière intervention
19 août 2004

je vais remettre ça au propre pour demain, là j'essaye d'avancer et je trouve des trucs petit à petit.