IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Lecture fichier htm


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut Lecture fichier htm
    slt

    je m'explique je souhaite réalisé un fichier simple a gérer mais comportant des images des syntaxe particuliere donc j'ia penser au fichier htm qui sont au final qu'un fichier texte bidon ( si vous avez une autre idée je suis prenneur Outils Microsoft office exclus )

    ce que je pensai faire etait de lire mon fichier .htm par une RichEdit puis faire deux trois modif (les modifs sont le remplacement de variable contenu dans le .htm par leur valeur exemple &DIAL1 prendra la valeur de toto)
    puis le réenregistrer

    le hic est le suivant lorsque que je load le fichier il se retrouve avec des caractere de ce type '#$S#$A' et '#$S#$A et si je le sauvegarde tel que la page html traduit ca par :\par
    et en plus eu debut de page j'ai tout un code decrivant je pense la RichEdit
    comment faire pour ne plus avoir ces désagrément

    j'ai essayer dans un 1er tps de remplacer les '#$D#$A' par rien pour celui ci ca fonctionne mais je n'y arrive pas par le '#$D#$A

    voila en gros

    je recapitule

    - une autre idée que le .htm pour fichier de mise en page simpe a gérer avec image

    - comment eviter les ajout visible .htm de la RichEdit (autre composant possible ??)

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    reCompteRenduTestLabels.Clear();
      reCompteRenduTestLabels.Lines.LoadFromFile('C:\Documents and Settings\cerisier\Bureau\Julien\testCRT.htm');
     
      reCompteRenduTestLabels.Lines.Text  := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL1','JULIEN FESSY');
      reCompteRenduTestLabels.Lines.Text  := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL1','toto');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL2','Test CRT .htm');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL2','Test CRT .htm');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL3','ca fonctionne');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL3','ca fonctionne');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL4','nickel');
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceStr(reCompteRenduTestLabels.Lines.Text,'&DIAL4','nickel');
     
      reCompteRenduTestLabels.Lines.Text := AnsiReplaceText(reCompteRenduTestLabels.Lines.Text,#$D#$A,' ');
     
     
      reCompteRenduTestLabels.Lines.SaveToFile('C:\Documents and Settings\cerisier\Bureau\Julien\testCRT2.htm');
    et voici ma page .htm avant traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <html>
    <body>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 0" bordercolor="#111111" width="100%" id="AutoNumber1">
      <tr>
        <td width="35%" style="border-style: none; border-width: medium">
        <img border="0" src="../../Mes%20documents/Mes%20images/FOND%20ECRAN%20PC%20SYNOR%204.bmp" width="222" height="187"></td>
        <td width="65%" style="border-style: none; border-width: medium" bordercolorlight="#C0C0C0" rowspan="4">
        Test de la fonction CRT :<ul>
          <li>Affichage du commentaire DIAL1 : <font color="#FF0000">&DIAL1</font></li>
          <li>Affichage du commentaire DIAL2 : <font color="#C0C0C0">
          <span style="background-color: #0000FF">&DIAL2</span></font></li>
          <li>Affichage du commentaire DIAL3 : <font size="5">&DIAL3</font></li>
          <li>Affichage du commentaire DIAL4 : <i><u><b>&DIAL4</b></u></i></li>
        </ul>
        <p>&nbsp;</td>
      </tr>
    </table>
    </body>
    </html>
    et apres traitement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [b]{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil MS Sans Serif;}}
    \viewkind4\uc1\pard\f0\fs16 [b]<html> <body> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-width: 0" bordercolor="#111111" width="100%" id="AutoNumber1">   <tr>     <td width="35%" style="border-style: none; border-width: medium">     <img border="0" src="../../Mes%20documents/Mes%20images/FOND%20ECRAN%20PC%20SYNOR%204.bmp" width="222" height="187"></td>     <td width="65%" style="border-style: none; border-width: medium" bordercolorlight="#C0C0C0" rowspan="4">     Test de la fonction CRT :<ul>       <li>Affichage du commentaire DIAL1 : <font color="#FF0000">toto</font></li>       <li>Affichage du commentaire DIAL2 : <font color="#C0C0C0">       <span style="background-color: #0000FF">Test CRT .htm</span></font></li>       <li>Affichage du commentaire DIAL3 : <font size="5">ca fonctionne</font></li>       <li>Affichage du commentaire DIAL4 : <i><u><b>nickel</b></u></i></li>     </ul>     <p>&nbsp;</td>   </tr> </table> </body> </html> 
    [b]
    \par 
    \par }[/b]
    entre et les ajouts qui me deplaise


    GRAND merci pr les coups de main d'avance

  2. #2
    Membre confirmé
    Avatar de Manopower
    Inscrit en
    Décembre 2003
    Messages
    516
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 516
    Points : 453
    Points
    453
    Par défaut
    Bonjour,
    j'ai du mal à comprendre le but recherché.

    tu cherches a créér un fichier texte simple avec liens vers des images pour pouvoir l'ouvrir sous Delphi dans un RichEdit ?

    si c'est le cas, le TRichEdit n'est pas le bon composant à utiliser
    Cherche plutot dans les tutoriaux sur les TWebBrowser qui interprètent les fichiers Html et conserve ton fichier Htm.

    si tu es anti office, il y a toujours les suites lotus, les fichiers Works, et la suite gratuite OpenOffice.

    en espérant d'avoir fait avancé !

    bon courage.

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Passe par un Memo, car il charge le fichier tel quel, puis utilise la petite procédure que je te fourni

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Procedure ReplaceBalise(Memo : TMemo;sBalise : String;sText : String; BCharToOem : Boolean);
    var
      SelPos: Integer;
      NotFound : boolean;
      PDest : PChar;
    begin
      NotFound := false;
      repeat
        SelPos := Pos(sBalise, Memo.Lines.Text);
        if SelPos > 0 then
        begin
          Memo.SelStart := SelPos - 1;
          Memo.SelLength := Length(sBalise);
          if bCharToOem then
          begin
            GetMem(PDest, Length(sText)+1);
            CharToOem(PChar(sText),PDest);
            Memo.SelText := StrPas(PDest);
            Memo.SelText := sText;
            FreeMem(PDest);
          end
          else
            Memo.SelText := sText;
        end
        else
          NotFound := true;
      until NotFound;
    end;
    Apres il te reste plus qu'a entrer cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ReplaceBalise(Memo,'&DIAL1','JULIEN FESSY',False);
    J'utilise tres souvent cette fonction et ca marche tres bien

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 282
    Points : 102
    Points
    102
    Par défaut
    dc le but pour le 1er message c'est de juste prendre un fichier pour remplacer des variables par leur valeur mais ce fichier dans gérer des images donc j'ai penser un fichier .htm

    pour le 2ime message merci pr l'info du memo ca devrai etre plus simple mais les ansiReplaceStr fonctionne donc je ne voi pas l'utiliter dans mon cas de ta fonction sauf erreur de ma par ce ki est tres probable

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ifstream] pb lecture fichier non sequentielle
    Par bludo dans le forum SL & STL
    Réponses: 3
    Dernier message: 10/02/2005, 22h30
  2. [LG]probleme lecture fichier
    Par yp036871 dans le forum Langage
    Réponses: 2
    Dernier message: 28/01/2004, 20h22
  3. Afficher tous les fichiers .htm du dd
    Par neo4010 dans le forum Linux
    Réponses: 3
    Dernier message: 20/01/2004, 14h25
  4. [LG]Probleme lecture fichier file of ....
    Par John_win dans le forum Langage
    Réponses: 11
    Dernier message: 11/11/2003, 19h53
  5. [langage] prob lecture fichier .txt
    Par martijan dans le forum Langage
    Réponses: 3
    Dernier message: 16/07/2003, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo