+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut Lecture page web -> ok mais pas pour toutes les pages (?)

    Bonjour

    J'essaie de charger une page web dans une variable finale de type string ;
    Et passer un filtre dessus pour y supprimer les lignes vides, tabulations etc.

    Sur la page melenchon tout semble fonctionner (a part la suppression des TAB) ...
    Sur la page leboncoin rien n'est stocké !!

    Je perds espoir...


    Edit : j'ai l'impresssion que le script patine lorsque la premiere ligne du fichier html est vide (au lieu de <DOCTYPE ...> ou <html>)

    Chargement de la page web -> ok
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    edit_urlDepart.Text:= 'http://www.jean-luc-melenchon.fr/';
    //edit_urlDepart.Text:= 'http://www.leboncoin.fr/annonces/offres/?f=a&th=1';
     
    with THttpSend.Create do
    try
      HTTPMethod('GET', edit_urlDepart.Text);
      case Resultcode of
        100..200 : memo_debogage.Lines.Add('Url page de depart : lecture ok');
        301,302,307 : memo_debogage.Lines.Add('Url page de depart : erreur : ERREUR REDIRECTION DE PAGE');
        500 : memo_debogage.Lines.Add('Url page de depart : erreur : VERIFIEZ VOTRE CONNECTION INTERNET OU L''URL DE DEPART');
      else
        raise EInOutError.Create('ERREUR FATALE '+inttostr(ResultCode)+' ('+ResultString+')');
      end;
      with TFileStream.Create(fichier_urlDepart_nom,fmCreate or fmOpenWrite) do
      try
        Seek(0, soFromBeginning);
        CopyFrom(Document, 0);
      finally
        Free;
      end;
    finally
      Free;
    end;
    Traitement de la page web et stockage du code source dans une variable
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    i := 1;
    AssignFile(fichier_urlDepart,fichier_urlDepart_nom);
    reset(fichier_urlDepart);
    SetLength(temp_txt_array,i);
    repeat
      Readln(fichier_urlDepart,temp_txt);
      if (temp_txt <> '') then begin
        SetLength(temp_txt_array,i+1);
        temp_txt_array[i] := TrimLeft(temp_txt);
        temp_txt_array[i] := TrimRight(temp_txt);
        temp_txt_array[i] := Trim(temp_txt);
        temp_txt_array[i] := StringReplace(temp_txt,'"','',[rfReplaceAll]);
        temp_txt_array[i] := StringReplace(temp_txt,#9,'',[rfReplaceAll]);
        temp_txt_array[i] := StringReplace(temp_txt,'#13','',[rfReplaceAll]);
        temp_txt_array[i] := StringReplace(temp_txt,'#10','',[rfReplaceAll]);
        temp_txt_array[i] := temp_txt;
        i := i+1 ;
      end;
    until EOF(fichier_urlDepart);
     
    for i := 1 to Length(temp_txt_array)-1 do
    if (i = 1) then temp_concat:= temp_txt_array[i] else temp_concat := concat(temp_concat,temp_txt_array[i]);
     
    memo_debogage.Lines.Add(temp_concat);
    Sur la page melenchon, j'obtiens bien le code source épuré ( a part la suppression des TABULATIONS et des ESPACES entres les balises )
    Code :
    &#65279;<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head profile="http://gmpg.org/xfn/11"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=10" /><title>Le blog de Jean-Luc Mélenchon</title><meta name="generator" content="WordPress 3.5.1" /> <!-- leave this for stats --><link rel="apple-touch-icon" href="/apple-touch-icon.png"/> <link rel="stylesheet" href="http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/style.css" type="text/css" media="all" /><link rel="stylesheet" href="http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/print.css" type="text/css" media="print" /><script type="text/javascript" src="/scriptaculous/prototype.js"></script><script type="text/javascript" src="/scriptaculous/scriptaculous.js?load=effects"></script><!-- Sidebar docking boxes (dbx) by Brothercake - http://www.brothercake.com/ --><script type="text/javascript" src="http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/dbx.js"></script><script type="text/javascript" src="http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/dbx-key.js"></script><link rel="stylesheet" type="text/css" href="http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/dbx.css" media="screen, projection" /><!--[if lt IE 7.]><script defer type="text/javascript" src="/pngfix.js"></script><![endif]--><link rel="alternate" type="application/rss+xml" title="Le blog de Jean-Luc Mélenchon Le fil RSS" href="http://www.jean-luc-melenchon.fr/feed/" /><link rel="alternate" type="application/rss+xml" title="Le blog de Jean-Luc Mélenchon Le fil des commentaires" href="http://www.jean-luc-melenchon.fr/comments/feed/" /><link rel="pingback" href="http://www.jean-luc-melenchon.fr/xmlrpc.php" /><link rel='stylesheet' id='aperciteSteelsheets-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/apercite/css/style.css?ver=3.5.1' type='text/css' media='all' /><link rel='stylesheet' id='NextGEN-css'  href='http://www.jean-luc-melenchon.fr/wp-content/themes/infoservice/nggallery.css?ver=1.0.0' type='text/css' media='screen' /><link rel='stylesheet' id='wp-email-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-email/email-css.css?ver=2.60' type='text/css' media='all' /><link rel='stylesheet' id='cntctfrmStylesheet-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/contact-form-plugin/css/style.css?ver=3.5.1' type='text/css' media='all' /><link rel='stylesheet' id='wp-stats-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-stats/stats-css.css?ver=2.50' type='text/css' media='all' /><link rel='stylesheet' id='jquery.lightbox.min.css-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-jquery-lightbox/styles/lightbox.min.css?ver=1.4' type='text/css' media='all' /><link rel='stylesheet' id='podpress_frontend_styles-css'  href='http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/podpress.css?ver=3.5.1' type='text/css' media='all' /><script type="text/javascript">//<![CDATA[var podpressL10 = {	openblogagain : 'back to:',	theblog : 'the blog',	close : 'close',	playbutton : 'Play &gt;'}//]]></script><script type="text/javascript" src="http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/players/1pixelout/1pixelout_audio-player.js"></script><script type="text/javascript">//<![CDATA[	var podPressPlayerFile = "1pixelout_player.swf";	var podPressPopupPlayerOpt = new Object();	podPressPopupPlayerOpt["bg"] = "E5E5E5";	podPressPopupPlayerOpt["text"] = "333333";	podPressPopupPlayerOpt["leftbg"] = "CCCCCC";	podPressPopupPlayerOpt["lefticon"] = "333333";	podPressPopupPlayerOpt["volslider"] = "666666";	podPressPopupPlayerOpt["voltrack"] = "FFFFFF";	podPressPopupPlayerOpt["rightbg"] = "B4B4B4";	podPressPopupPlayerOpt["rightbghover"] = "999999";	podPressPopupPlayerOpt["righticon"] = "333333";	podPressPopupPlayerOpt["righticonhover"] = "FFFFFF";	podPressPopupPlayerOpt["loader"] = "009900";	podPressPopupPlayerOpt["track"] = "FFFFFF";	podPressPopupPlayerOpt["border"] = "CCCCCC";	podPressPopupPlayerOpt["tracker"] = "DDDDDD";	podPressPopupPlayerOpt["skip"] = "666666";	podPressPopupPlayerOpt["slider"] = "666666";	podPressPopupPlayerOpt["initialvolume"] = "70";	podPressPopupPlayerOpt["buffer"] = "5";	podPressPopupPlayerOpt["checkpolicy"] = "no";	podpressAudioPlayer.setup("http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/players/1pixelout/" + podPressPlayerFile, {bg:"E5E5E5", text:"333333", leftbg:"CCCCCC", lefticon:"333333", volslider:"666666", voltrack:"FFFFFF", rightbg:"B4B4B4", rightbghover:"999999", righticon:"333333", righticonhover:"FFFFFF", loader:"009900", track:"FFFFFF", border:"CCCCCC", tracker:"DDDDDD", skip:"666666", slider:"666666", initialvolume:"70", buffer:"5", checkpolicy:"no",  pagebg:"FFFFFF", transparentpagebg:"yes", encode: "no"} );//]]></script><script type="text/javascript">//<![CDATA[var podPressBlogURL = "http://www.jean-luc-melenchon.fr/";var podPressBackendURL = "http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/";var podPressDefaultPreviewImage = "http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/images/vpreview_center.png";var podPressMP3PlayerWrapper = false;var podPress_cortado_signed = false;var podPressOverwriteTitleandArtist = false;var podPressHTML5 = true;var podPressHTML5sec = "66e560d2f5";var podPressHTML5_showplayersdirectly = false;var podPressText_PlayNow = "Play Now";var podPressText_HidePlayer = "Hide Player";//]]></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/font-resizer/js/jquery.cookie.js?ver=3.5.1'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/font-resizer/js/jquery.fontsize.js?ver=3.5.1'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/font-resizer/js/main.js?ver=3.5.1'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/uploads/jw-player-plugin-for-wordpress/player/jwplayer.js?ver=3.5.1'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/message-ticker/message-ticker.js?ver=3.5.1'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/apercite/js/apercite.js?ver=1.0.3'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-includes/js/swfobject.js?ver=2.2-20120417'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/js/podpress.js?ver=3.5.1'></script><link rel="EditURI" type="application/rsd+xml" title="RSD" href="http://www.jean-luc-melenchon.fr/xmlrpc.php?rsd" /><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="http://www.jean-luc-melenchon.fr/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 3.5.1" /><script type="text/javascript">//<![CDATA[var $j = jQuery.noConflict();$j(function(){$j("body").apercite({"workers":Array(".storycontent",".topContent","#content","#content2"),"baseURL":"http://www.jean-luc-melenchon.fr","localLink":"non","sizeX":120,"sizeY":75,"javascript":"oui","java":"oui","ssl":"oui"});});//]]></script><!-- Meta SEO Pack BEGIN --><meta name="description" content="Le blog de Jean-Luc Mélenchon – Le blog de Jean-Luc Mélenchon" /><!-- Meta SEO Pack END --><script type="text/javascript">//<![CDATA[function newsletter_check(f) {    var re = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;    if (!re.test(f.elements["ne"].value)) {        alert("E-mail incorrect.");        return false;    }    if (f.elements["ny"] && !f.elements["ny"].checked) {        alert("");        return false;    }    return true;}//]]></script><style type="text/css"></style><!-- <meta name="NextGEN" version="1.9.6" /> --><!-- ImageLink widget --><link rel='stylesheet' href='http://www.jean-luc-melenchon.fr/wp-content/plugins/simple-image-link/simple-image-link.css' type='text/css' media='screen' /><script type="text/javascript">//<![CDATA[var podpressL10 = {	openblogagain : 'back to:',	theblog : 'the blog',	close : 'close',	playbutton : 'Play &gt;'}//]]></script><script type="text/javascript" src="http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/players/1pixelout/1pixelout_audio-player.js"></script><script type="text/javascript">//<![CDATA[	var podPressPlayerFile = "1pixelout_player.swf";	var podPressPopupPlayerOpt = new Object();	podPressPopupPlayerOpt["bg"] = "E5E5E5";	podPressPopupPlayerOpt["text"] = "333333";	podPressPopupPlayerOpt["leftbg"] = "CCCCCC";	podPressPopupPlayerOpt["lefticon"] = "333333";	podPressPopupPlayerOpt["volslider"] = "666666";	podPressPopupPlayerOpt["voltrack"] = "FFFFFF";	podPressPopupPlayerOpt["rightbg"] = "B4B4B4";	podPressPopupPlayerOpt["rightbghover"] = "999999";	podPressPopupPlayerOpt["righticon"] = "333333";	podPressPopupPlayerOpt["righticonhover"] = "FFFFFF";	podPressPopupPlayerOpt["loader"] = "009900";	podPressPopupPlayerOpt["track"] = "FFFFFF";	podPressPopupPlayerOpt["border"] = "CCCCCC";	podPressPopupPlayerOpt["tracker"] = "DDDDDD";	podPressPopupPlayerOpt["skip"] = "666666";	podPressPopupPlayerOpt["slider"] = "666666";	podPressPopupPlayerOpt["initialvolume"] = "70";	podPressPopupPlayerOpt["buffer"] = "5";	podPressPopupPlayerOpt["checkpolicy"] = "no";	podpressAudioPlayer.setup("http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/players/1pixelout/" + podPressPlayerFile, {bg:"E5E5E5", text:"333333", leftbg:"CCCCCC", lefticon:"333333", volslider:"666666", voltrack:"FFFFFF", rightbg:"B4B4B4", rightbghover:"999999", righticon:"333333", righticonhover:"FFFFFF", loader:"009900", track:"FFFFFF", border:"CCCCCC", tracker:"DDDDDD", skip:"666666", slider:"666666", initialvolume:"70", buffer:"5", checkpolicy:"no",  pagebg:"FFFFFF", transparentpagebg:"yes", encode: "no"} );//]]></script><script type="text/javascript">//<![CDATA[var podPressBlogURL = "http://www.jean-luc-melenchon.fr/";var podPressBackendURL = "http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/";var podPressDefaultPreviewImage = "http://www.jean-luc-melenchon.fr/wp-content/plugins/podpress/images/vpreview_center.png";var podPressMP3PlayerWrapper = false;var podPress_cortado_signed = false;var podPressOverwriteTitleandArtist = false;var podPressHTML5 = true;var podPressHTML5sec = "66e560d2f5";var podPressHTML5_showplayersdirectly = false;var podPressText_PlayNow = "Play Now";var podPressText_HidePlayer = "Hide Player";//]]></script><link rel="alternate" type="application/atom+xml" title="Les Blogcasts de Jean-Luc Mélenchon" href="http://www.jean-luc-melenchon.fr/feed/blogcast/" /></head><body><div id="page">    <div id="header"><a href="/"><img src="/imgs/blanc.gif" width=880 height=147 border=0 style="margin:0px;"></a><div id="access" role="navigation" ><div class="menu-header"><ul id="menu-principal" class="menu"><li id="menu-item-9508" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-9508"><a title="accueil" href="#">Accueil & contact</a><ul class="sub-menu">	<li id="menu-item-9505" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-9505"><a href="http://www.jean-luc-melenchon.fr/">A la une</a></li>	<li id="menu-item-9506" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9506"><a href="http://www.jean-luc-melenchon.fr/contact/">Me contacter…</a></li>	<li id="menu-item-9517" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9517"><a href="http://www.jean-luc-melenchon.fr/agenda/">Mon agenda…</a></li>	<li id="menu-item-9507" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9507"><a href="http://www.jean-luc-melenchon.fr/la-charte-du-blog/">La charte des commentaires</a></li></ul></li><li id="menu-item-9402" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9402"><a href="#">Images</a><ul class="sub-menu">	<li id="menu-item-9404" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-9404"><a href="http://www.jean-luc-melenchon.fr/theme/videos/"><i style="font-weight:normal;font-size:11px;float:right;"> (Chronologie)</i>Vidéos & Podcasts</a></li>	<li id="menu-item-10220" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10220"><a href="#">Les « blogcasts »</a>	<ul class="sub-menu">		<li id="menu-item-10221" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10221"><a href="http://itunes.apple.com/fr/podcast/le-blog-jean-luc-melenchon/id498435700"><img height="20" border="0" align="absmiddle" width="20" title="Blogcasts pour les oreilles" src="/audio/itunes-icon.png"/> Avec Itunes</a></li>		<li id="menu-item-10222" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10222"><a href="http://www.jean-luc-melenchon.fr/feed/blogcast/"><img height="20" border="0" align="absmiddle" width="20" title="Blogcasts pour les oreilles" src="/audio/podcast-icon.png"/> Autres lecteurs</a></li>	</ul></li>	<li id="menu-item-9403" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9403"><a href="http://www.jean-luc-melenchon.fr/videotheque/">Les archives de la vidéothèque</a>	<ul class="sub-menu">		<li id="menu-item-9758" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9758"><a href="http://www.jean-luc-melenchon.fr/videotheque/discours-et-meetings/">Discours et meetings…</a></li>		<li id="menu-item-9759" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9759"><a href="http://www.jean-luc-melenchon.fr/videotheque/dans-les-medias/">Dans les médias…</a></li>		<li id="menu-item-9760" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9760"><a href="http://www.jean-luc-melenchon.fr/videotheque/interventions-diverses/">Interventions diverses…</a></li>	</ul></li>	<li id="menu-item-9405" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9405"><a href="http://www.jean-luc-melenchon.fr/loeil-de-la-campagne/">L&rsquo;œil militant</a></li>	<li id="menu-item-9406" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9406"><a href="http://www.jean-luc-melenchon.fr/illustrez-mes-prochains-billets-du-blog/">Illustrez mes prochains billets…</a></li></ul></li><li id="menu-item-9407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-9407"><a href="#">Documents</a><ul class="sub-menu">	<li id="menu-item-12866" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12866"><a href="http://jean-luc-melenchon.fr">Législatives 2012 : les archives</a>	<ul class="sub-menu">		<li id="menu-item-12293" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-12293"><a href="http://www.jean-luc-melenchon.fr/theme/revue-de-presse/">Revue de presse de campagne</a></li>		<li id="menu-item-12865" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12865"><a href="http://www.jean-luc-melenchon.fr/les-tracts-et-affiches/">Les tracts et affiches</a></li>	</ul></li>	<li id="menu-item-12640" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-12640"><a href="http://www.jean-luc-melenchon.fr/theme/revue-de-presse-internationale/">Revue de presse internationale</a>	<ul class="sub-menu">		<li id="menu-item-12539" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-12539"><a href="http://www.jean-luc-melenchon.fr/revues-de-presse-internationales/">Retour sur l&rsquo;élection présidentielle</a></li>		<li id="menu-item-12538" class="mes</em> &raquo;. Il pr&eacute;tend ainsi op&eacute;rer une captation de l&rsquo;autorit&eacute; r&eacute;volutionnaire d&rsquo;autant plus insupportable que ni lui, ni Ennahda, n'ont jou&eacute; le moindre r&ocirc;le dans la chute de Ben Ali en janvier 2011.</p><p><span class=sttr>Venons-en maintenant au contexte dans lequel le personnage &eacute;volue en Tunisie.</span> La ligne Ghannouchi est fortement discut&eacute;e au sein m&ecirc;me du mouvement Ennahda. Alors m&ecirc;me que la d&eacute;l&eacute;gation parlementaire conduite par le PS rencontrait son leader sulfureux, le num&eacute;ro 2 de ce parti, Abdelfattah Mourou, fondateur lui aussi du mouvement, appelait au d&eacute;part de Ghannouchi en des termes particuli&egrave;rement virulents dans un entretien publi&eacute; par Marianne : &laquo; <em>Rached Ghannouchi doit quitter Ennahda ! il m&egrave;ne le parti et le pays au d&eacute;sastre !</em> &raquo; [&hellip;] &laquo; <em>Les salafistes m&rsquo;ont agress&eacute; et Ennahda ne m&rsquo;a pas d&eacute;fendu. Je d&eacute;nonce le laxisme qui a permis toutes ces violences. Je d&eacute;nonce ce qu&rsquo;on est en train de faire de la mouvance islamiste. Elle est mon &oelig;uvre ! Ce que je demande, depuis le d&eacute;but, c&rsquo;est l&rsquo;islam dans son essence. L&rsquo;islam sans d&eacute;veloppement civilisationnel et sans croissance, ce n&rsquo;est pas l&rsquo;islam. La culture de Rached Ghannouchi et de ses partisans est une monoculture. Or nous sommes multiculturels en Tunisie, nous sommes le produit de 25 civilisations. Quand un pr&eacute;dicateur saoudien est venu avec des petites filles voil&eacute;es, je lui ai dit : ce que vous faites en Tunisie n&rsquo;est pas acceptable pour les Tunisiens. Je lui ai dit cela &agrave; la t&eacute;l&eacute;vision</em> &raquo; Cette prise de position du num&eacute;ro 2 d'Ennahda intervient alors que le premier ministre issu du m&ecirc;me parti est lui-m&ecirc;me entr&eacute; dans un bras de fer avec Ghannouchi pour imposer un gouvernement de personnalit&eacute;s ind&eacute;pendantes qui remplaceraient notamment les ministres r&eacute;galiens membres d'Ennahda. Refusant un tel gouvernement, Ghannouchi a appel&eacute; &agrave; une manifestation nationale samedi &agrave; Tunis pour affirmer la l&eacute;gitimit&eacute; populaire d'Ennahda &agrave; diriger le pays. Un manifestation qui fut un &eacute;chec puisque seulement 15 000 personnes se sont rassembl&eacute;es &agrave; Tunis autour de Ghannouchi, entour&eacute; pour l'occasion de responsables salafistes et de d&eacute;put&eacute;s de l'aile dure de son parti, dont un &eacute;nergum&egrave;ne qui a r&eacute;clam&eacute; &agrave; l'Assembl&eacute;e l'interdiction de la vente d'alcool en Tunisie.</p><p><span class=sttr>Selon moi donc dans ces conditions, une d&eacute;l&eacute;gation parlementaire fran&ccedil;aise</span> avait tout int&eacute;r&ecirc;t &agrave; ne pas afficher ce qui est une l&eacute;gitimation de fait dans cette situation de crise. Elle devait se contenter de rencontrer des responsables ayant une fonction institutionnelle dans les institutions tunisiennes. Elle devait donc &eacute;viter de rencontrer Ghannouchi. Pourquoi ne l&rsquo;a-t-elle pas fait&nbsp;? Parce que la veille Manuel Valls avait trait&eacute; les islamistes de fascistes et souhait&eacute; la victoire de leurs adversaires aux prochaines &eacute;lections. Probl&egrave;me&nbsp;: en Tunisie le parti fr&egrave;re du PS gouverne avec les islamistes d&rsquo;Ennahda&nbsp;! Ce que tout ce petit monde se garde bien de dire ici en France.&nbsp;La d&eacute;claration de Valls tombait en plein dans la p&eacute;riode de crise gouvernementale. Elle revenait &agrave; dire que les parrains fran&ccedil;ais l&acirc;chaient la coalition. D&rsquo;o&ugrave; le grand num&eacute;ro pour manifester&nbsp;le grand jeu du respect au chef d&rsquo;Ennahda. On voit que ce n&rsquo;est gu&egrave;re avouable. Comme d&rsquo;habitude, le PS a jou&eacute; le grand jeu de l&rsquo;indignation. R&ocirc;le attribu&eacute; comme chaque fois dans ce cas &agrave; quelqu&rsquo;un qui est cens&eacute; &ecirc;tre de mon bord. Pour mieux montrer mon &laquo;&nbsp;isolement&nbsp;&raquo; et mes &laquo;&nbsp;outrances&nbsp;&raquo;. C&rsquo;est en g&eacute;n&eacute;ral le r&ocirc;le principal des <em>hamonistes</em> sur la sc&egrave;ne du d&eacute;bat de la gauche en dehors de la bataille contre les lasagnes au cheval. Ici c&rsquo;est donc Pouria Amirshahi, d&eacute;put&eacute; hamoniste des fran&ccedil;ais de l&rsquo;&eacute;tranger dans cette zone, qui vint me jeter sa pierre.&nbsp;Rien que du banal. On attend juste qu&rsquo;Amirshahi condamne la participation de ses camarades &agrave; un gouvernement avec les islamistes. &Ccedil;a serait plus courageux, et surtout plus n&eacute;cessaire.</p></p></div></div><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jean-luc-melenchon.fr/2013/02/20/la-semaine-du-choc/' addthis:title='La semaine du choc '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><br clear=all>				</div><!--/entry -->			</div><!--/post -->													<div class="post" id="post-15098">				<div class="date"><span>fév 13</span> 15</div>				<div class="title"><div class="surtitre">Casablanca, Conférence HEM Rabat</div>					<h2><a href="http://www.jean-luc-melenchon.fr/2013/02/15/au-maroc-lecosocialisme-et-la-mediterranee/" rel="bookmark" title="Lien permanent vers Au Maroc, l&rsquo;écosocialisme et la Méditerranée">Au Maroc, l&rsquo;écosocialisme et la Méditerranée</a></h2><div class="postviews"><span class=views>Ce billet a été lu 13 454 fois.</span></div>				<div class="postdata"><span class="comments"><a href="http://www.jean-luc-melenchon.fr/2013/02/15/au-maroc-lecosocialisme-et-la-mediterranee/#comments" title="Commentaire sur Au Maroc, l&rsquo;écosocialisme et la Méditerranée">65 commentaires</a></span></div>				</div>				<div class="entry">					<p><a href="http://www.jean-luc-melenchon.fr/wp-content/uploads/IMG_2042.jpg" rel="lightbox[15098]"><img alt="IMG_2042" class="alignright size-large wp-image-15118" height="240" src="http://www.jean-luc-melenchon.fr/wp-content/uploads/IMG_2042-320x240.jpg" width="320" /></a><strong>R&eacute;cit du voyage de Jean-Luc M&eacute;lenchon au Maroc, par <a href="http://www.lespetitspoissontrouges.org/" target="_blank" class="extlink" target="_blank">Corinne Morel-Darleux</a>.</strong></p><p><span class=lttr>A</span></p><p>rriv&eacute;e au Maroc accueillie par un croissant de lune mercredi soir, le sourire aux l&egrave;vres. Voyager, c'est &agrave; chaque fois d&eacute;caler un peu le temps et l'esprit, prendre une grande inspiration, faire le pas de c&ocirc;t&eacute; essentiel pour se d&eacute;coller le nez. Confronter aussi ses pr&eacute;suppos&eacute;s &agrave; la r&eacute;alit&eacute;… Et au Maroc, tous les ingr&eacute;dients sont r&eacute;unis pour donner envie d'aller y voir de plus pr&egrave;s. </p><p>	Ici, sur les rives de la M&eacute;diterran&eacute;e, flotte encore le parfum du printemps arabe et du mouvement marocain du 20 f&eacute;vrier. Ses r&eacute;percussions politiques, comme en t&eacute;moigneront les repr&eacute;sentants de la soci&eacute;t&eacute; civile, syndicalistes, associatifs, repr&eacute;sentants d'Attac et militants des droits de l'homme, politiques de gauche que nous allons rencontrer, n'ont pas fini de secouer la soci&eacute;t&eacute; marocaine. La parole des syndicalistes et associatifs se lib&egrave;re, l'autre gauche se rassemble et s'organise, des probl&eacute;matiques &eacute;cologiques et sociales comme l'acc&egrave;s &agrave; l'eau et sa gestion publique grandissent. Ajoutez &agrave; cela qu'ici les deux tiers de la population a moins de 30 ans, que le pays est dirig&eacute; par un monarque et un gouvernement avec le parti islamiste PJD, et vous aurez une id&eacute;e des raisons pour lesquelles nous faisons l'analyse que le Maroc est un des lieux o&ugrave; peut na&icirc;tre et grandir la r&eacute;volution citoyenne. Le tout sur fond de mimosas, de palmiers et d'eucalyptus… Bref, bien d&eacute;cid&eacute;e &agrave; ouvrir grands le regard, l'esprit et le c&oelig;ur, &agrave; ne pas en perdre une miette.</p><p>	 <a href="http://www.jean-luc-melenchon.fr/2013/02/15/au-maroc-lecosocialisme-et-la-mediterranee/#more-15098" class="more-link">Lire la suite &raquo;</a></p><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jean-luc-melenchon.fr/2013/02/15/au-maroc-lecosocialisme-et-la-mediterranee/' addthis:title='Au Maroc, l&rsquo;écosocialisme et la Méditerranée '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><br clear=all>				</div><!--/entry -->			</div><!--/post -->													<div class="post" id="post-15051">				<div class="date"><span>fév 13</span> 13</div>				<div class="title"><div class="surtitre">UGTT, mobilisations de la société civile, conférence à Tunis</div>					<h2><a href="http://www.jean-luc-melenchon.fr/2013/02/13/en-tunisie-de-la-revolution-citoyenne-a-lecosocialisme-22/" rel="bookmark" title="Lien permanent vers En Tunisie, de la révolution citoyenne à l&rsquo;écosocialisme (2/2)">En Tunisie, de la révolution citoyenne à l&rsquo;écosocialisme (2/2)</a></h2><div class="postviews"><span class=views>Ce billet a été lu 9 722 fois.</span></div>				<div class="postdata"><span class="comments"><a href="http://www.jean-luc-melenchon.fr/2013/02/13/en-tunisie-de-la-revolution-citoyenne-a-lecosocialisme-22/#comments" title="Commentaire sur En Tunisie, de la révolution citoyenne à l&rsquo;écosocialisme (2/2)">46 commentaires</a></span></div>				</div>				<div class="entry">					<div class="insert"><p class="ith2">Communiqu&eacute; du 15 f&eacute;vrier 2013</p><p class="itb2" style="font-size:16px;">PS / Ennahda : l&rsquo;inacceptable rencontre</p><p style="margin-bottom:5px;"><span class=lttr>J'</span>apprends avec stup&eacute;faction qu'une mission parlementaire fran&ccedil;aise dirig&eacute;e par le PS a rencontr&eacute; hier officiellement Rached Ghannouchi &agrave; Tunis dans le bureau de ce dernier.</p><p style="margin-bottom:5px;">Je d&eacute;plore le soutien ainsi apport&eacute; &agrave; un parti d'extr&ecirc;me droite religieuse dont le chef n'a aucune fonction officielle dans les institutions tunisiennes.</p><p style="margin-bottom:0px;"><a href="http://www.jean-luc-melenchon.fr/2013/02/15/ps-ennahda-linacceptable-rencontre/"class="more-link" >Lire la suite &raquo;</a></p></div><p><a href="http://www.jean-luc-melenchon.fr/wp-content/uploads/banderole-maison-culture-ibn-rachiq.jpg" rel="lightbox[15051]"><img alt="banderole maison culture ibn rachiq" class="alignright size-large wp-image-15052" height="240" src="http://www.jean-luc-melenchon.fr/wp-content/uploads/banderole-maison-culture-ibn-rachiq-320x240.jpg" width="320" /></a><b>Suite du r&eacute;cit du voyage de Jean-Luc M&eacute;lenchon en Tunisie, par Laurent Maffe&iuml;s.</b></p><p><span class=lttr>C</span>ette deuxi&egrave;me journ&eacute;e du lundi 11 f&eacute;vrier fut particuli&egrave;rement dense par le nombre et la qualit&eacute; des militants et personnalit&eacute;s rencontr&eacute;s. Le tout dans une ambiance &agrave; la fois grave et chaleureuse, en raison des mobilisations incessantes qui voient se rejoindre tous les jours dans la rue et les r&eacute;unions unitaires les militants des diff&eacute;rents partis et associations. La matin&eacute;e a &eacute;t&eacute; consacr&eacute;e &agrave; des rencontres avec le mouvement social (UGTT) et la soci&eacute;t&eacute; civile tunisienne. Avant que Jean-Luc ne prononce une conf&eacute;rence sur l'&eacute;co-socialisme que l'affluence record et le contexte r&eacute;volutionnaire ont transform&eacute; en meeting. Une journ&eacute;e militante termin&eacute;e par un d&icirc;ner avec des dirigeants de la quasi totalit&eacute; des partis progressistes tunisiens.</p><p> <a href="http://www.jean-luc-melenchon.fr/2013/02/13/en-tunisie-de-la-revolution-citoyenne-a-lecosocialisme-22/#more-15051" class="more-link">Lire la suite &raquo;</a></p><div class="addthis_toolbox addthis_default_style " addthis:url='http://www.jean-luc-melenchon.fr/2013/02/13/en-tunisie-de-la-revolution-citoyenne-a-lecosocialisme-22/' addthis:title='En Tunisie, de la révolution citoyenne à l&rsquo;écosocialisme (2/2) '  ><a class="addthis_button_facebook_like" fb:like:layout="button_count"></a><a class="addthis_button_tweet"></a><a class="addthis_button_google_plusone" g:plusone:size="medium"></a><a class="addthis_counter addthis_pill_style"></a></div><br clear=all>				</div><!--/entry -->			</div><!--/post -->		<BR>					<div class="post-nav">			<span class="previous"><a href="http://www.jean-luc-melenchon.fr/page/2/" >&laquo; Articles plus anciens</a></span>			<span class="next"></span>		</div>			</div><!--content-->	<hr class="hidden" />&#65279;    <hr class="hidden" /><div style="text-align:center;font-size:10px;">Blog bas&eacute; sur <a href="http://wordpress.org/" title="Propulsé par WordPress">Wordpress</a> &copy; 2009/2013 INFO Service - V3</div>	</div><!--/page -->	<div id="footer" style="height:50px;"><!--<a href="http://placeaupeuple2012.fr/" target=_blank>--><img src="/wp-content/themes/infoservice/images/pg.gif" align=right style="margin:0px; margin-right:10px;"><img src="/wp-content/themes/infoservice/images/gue2.gif" align=right style="margin:0px;display:none;"><!--</a>-->	</div><div id="fixedmenu"><ul>    <li><a id="home" href="/" title="Accueil"> </a></li>  <li><a onclick="var effet1=new Effect.ScrollTo('header',{duration:1.0});return false;" id="up" href="" title="Haut de page"> </a></li><!--<li><a onclick="var effet2=new Effect.ScrollTo('comments',{duration:1.0});return false;" id="down" href="" title="Lire les commentaires"> </a></li><li><a onclick="var effet3=new Effect.ScrollTo('respond',{duration:1.0});return false;" id="down2" href="" title="Laisser un commentaire"> </a></li> -->  <script language=JavaScript>if (document.getElementById('comments')){document.write('<li><a onclick="var effet2=new Effect.ScrollTo(\'comments\',{duration:1.0});return false;" id="down" href="" title="Lire les commentaires"> </a></li>');}if (document.getElementById('respond')){document.write('<li><a onclick="var effet3=new Effect.ScrollTo(\'respond\',{duration:1.0});return false;" id="down2" href="" title="Laisser un commentaire"> </a></li>');}</script>	<li><a id="rss" href="http://www.jean-luc-melenchon.fr/feed/" title="S'abonner au fil RSS"> </a></li><li><a id="rss2" href="http://www.jean-luc-melenchon.fr/comments/feed/" title="S'abonner au fil RSS des commentaires"> </a></li>          <li><a id="favoris" href="javascript:if(window.sidebar){window.sidebar.addPanel('Le blog de Jean-Luc Mélenchon', 'http://www.jean-luc-melenchon.fr','');}else if( window.external ) {window.external.AddFavorite('http://www.jean-luc-melenchon.fr', 'Le blog de Jean-Luc Mélenchon');}" title="Ajouter ce blog à vos favoris"> </a></li><li><li class="fontResizer" style="text-align: left; font-weight: bold;"><a class="fontResizer_minus" title="Diminuer la taille du texte" style="font-size: 1.2em;">A-</a> <a class="fontResizer_reset" title="Taille par d&eacute;faut" style="font-size: 1.2em;">A&nbsp;</a> <a class="fontResizer_add" title="Augmenter la taille du texte" style="font-size: 1.2em;">A+</a> <input type="hidden" id="fontResizer_value" value="ownelement" /><input type="hidden" id="fontResizer_ownid" value="content" /><input type="hidden" id="fontResizer_ownelement" value="div.scalable" /><input type="hidden" id="fontResizer_resizeSteps" value="1" /><input type="hidden" id="fontResizer_cookieTime" value="31" /></li></li></ul></div><div id="bas"></div>	<script type="text/javascript">var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type="text/javascript">try {var pageTracker = _gat._getTracker("UA-10314579-1");pageTracker._trackPageview();} catch(err) {}</script><div id="apercite-thumbnail"><a href="http://www.apercite.fr/" title="Aperçu de site">Aperçu de site</a></div><script type="text/javascript">var addthis_config = {"data_track_clickback":false,"data_track_addressbar":false,"data_track_textcopy":false,"ui_atversion":"300"};var addthis_product = 'wpp-3.0.2';</script><script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=9ddb9d2d4f9a68a318baa6d8ab27594d"></script><script type="text/javascript"></script><script type='text/javascript'>/* <![CDATA[ */var emailL10n = {"ajax_url":"http:\/\/www.jean-luc-melenchon.fr\/wp-admin\/admin-ajax.php","max_allowed":"5","text_error":"The Following Error Occurs:","text_name_invalid":"- Your Name is empty\/invalid","text_email_invalid":"- Your Email is empty\/invalid","text_remarks_invalid":"- Your Remarks is invalid","text_friend_names_empty":"- Friend Name(s) is empty","text_friend_name_invalid":"- Friend Name is empty\/invalid: ","text_max_friend_names_allowed":"- Maximum 5 Friend Names allowed","text_friend_emails_empty":"- Friend Email(s) is empty","text_friend_email_invalid":"- Friend Email is invalid: ","text_max_friend_emails_allowed":"- Maximum 5 Friend Emails allowed","text_friends_tally":"- Friend Name(s) count does not tally with Friend Email(s) count","text_image_verify_empty":"- Image Verification is empty"};/* ]]> */</script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-email/email-js.js?ver=2.60'></script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-jquery-lightbox/jquery.touchwipe.min.js?ver=1.4'></script><script type='text/javascript'>/* <![CDATA[ */var JQLBSettings = {"fitToScreen":"1","resizeSpeed":"250","displayDownloadLink":"1","navbarOnTop":"0","resizeCenter":"","marginSize":"0","linkTarget":"_self","slideshowSpeed":"4000","help":"","prevLinkTitle":"Image pr\u00e9c\u00e9dente","nextLinkTitle":"Image suivante","closeTitle":"fermer la galerie","image":"Image ","of":" sur ","download":"T\u00e9l\u00e9charger","pause":"(pause slideshow)","play":"(play slideshow)"};var JQLBSettings = {"fitToScreen":"1","resizeSpeed":"250","displayDownloadLink":"1","navbarOnTop":"0","resizeCenter":"","marginSize":"0","linkTarget":"_self","slideshowSpeed":"4000","help":"","prevLinkTitle":"Image pr\u00e9c\u00e9dente","nextLinkTitle":"Image suivante","closeTitle":"fermer la galerie","image":"Image ","of":" sur ","download":"T\u00e9l\u00e9charger","pause":"(pause slideshow)","play":"(play slideshow)"};/* ]]> */</script><script type='text/javascript' src='http://www.jean-luc-melenchon.fr/wp-content/plugins/wp-jquery-lightbox/jquery.lightbox.min.js?ver=1.4'></script><!--wp_footer--></body></html><!-- Dynamic Page Served (once) in 0,528 seconds --><!-- Cached page served by WP-Cache -->
    Sur la page bon coin, je n'obtiens rien ( temp_concat = vide )

  2. #2
    Membre expérimenté
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 306
    Points : 516
    Points
    516

    Par défaut

    Bonjour

    Il y a plusieurs erreurs graves dans le code.

    Notamment, c'est absurde d'écrire ceci :

    Code :
    1
    2
    3
     
      temp_txt_array[i] := TrimLeft(temp_txt);   
      temp_txt_array[i] := TrimRight(temp_txt);
    Il faudrait mieux éviter d'écraser temp_txt_array[i] après l'avoir assigné !

    Code :
    1
    2
    3
     
     temp_txt := TrimLeft(temp_txt);    
     temp_txt_array[i] :=     TrimRight(temp_txt);
    Ou plus simplement :

    Code :
    1
    2
     
        temp_txt_array[i] := Trim(temp_txt);
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et à la développer.

  3. #3
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    Merci d'avoir lu mon post.

    Du coup j'ai décidé de recommencer ce script ...
    Il est un peu mieux ficelé je pense ...

    Par contre j'ai toujours ce "bug" en fonction de l’URL !
    C'est dingue, j'y ai passé la journée et je n'avance pas.



    Code :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
      ComCtrls, httpsend;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        btn_go: TButton;
        edit_urlDepart: TEdit;
        memo_debogage: TMemo;
        procedure btn_goClick(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form1: TForm1;
      f_pageDepart : TextFile;
      str_f_pageDepart : string = 'pageDepart.htm';
      str_pageDepart : String;
      array_str_pageDepart: array of string;
      int_temp: Integer;
      str_temp: String;
     
    implementation
     
    {$R *.lfm}
     
    { TForm1 }
     
    procedure TForm1.btn_goClick(Sender: TObject);
    begin
     
      {##########################################################################
      INITIALISATION
      ##########################################################################}
     
      // Test
     
      // Ces pages de depart fonctionnent
     
      //edit_urlDepart.Text := 'http://www.leblogdudd.fr/2012/12/03/la-macroeconomie-ca-ne-se-mange-pas/';
      //edit_urlDepart.Text:= 'http://gbackstage.fr/post/36130485031/ecologie-environnement-classement-des-shortlistes';
      //edit_urlDepart.Text := 'http://projet.pcf.fr/14721';
      //edit_urlDepart.Text:='http://pierrecarles.org/';
      //edit_urlDepart.Text:='http://tronicspace.fr/index.php/electronique/tuto-circuit-imprime';
      edit_urlDepart.Text:='http://mirrors.iwi.me/lazarus/';
      //edit_urlDepart.Text:='http://www.instructables.com/tag/?sort=none&limit:type:id=on&q=microscope';
      //edit_urlDepart.Text:='http://www.sculpteo.com/fr/order/design/evKTbmwSuvD?uuid=DH8tVHrQIGBVwpcZiY09Ke';
     
     
      // Ces pages de depart ne fonctionnent pas
     
      //edit_urlDepart.Text:= 'http://www.developpez.net/forums/d1312878/autres-langages/pascal/lazarus/lecture-page-web-ok-toutes-pages/';
      //edit_urlDepart.Text:= 'http://www.leboncoin.fr/annonces/offres/?f=a&th=1';
     
      // Debogage
      memo_debogage.Lines.Add('##############################################');
      memo_debogage.Lines.Add('Demarrage');
      memo_debogage.Lines.Add('##############################################');
      memo_debogage.Lines.Add('');
     
      {##########################################################################
      PAGE DE DEPART
      ##########################################################################}
     
      // Debogage
      memo_debogage.Lines.Add('#########################');
      memo_debogage.Lines.Add('PAGE DE DEPART');
      memo_debogage.Lines.Add('#########################');
      memo_debogage.Lines.Add('Page de depart (URL) : '+edit_urlDepart.Text);
     
      // Recuperation du code source htm de la page de depart
      with THttpSend.Create do
        try
          HTTPMethod('GET', edit_urlDepart.Text);
          case Resultcode of
            100..200 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : OK');
            301,302,307 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : ERREUR REDIRECTION DE PAGE');
            500 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : VERIFIEZ VOTRE CONNECTION INTERNET OU L''URL DE DEPART');
            else
              raise EInOutError.Create('Récupération du code source de la page de depart : ERREUR FATALE '+inttostr(ResultCode)+' ('+ResultString+')');
          end;
          // ecriture du code source de la page de depart dans le fichier adequat
          with TFileStream.Create(str_f_pageDepart,fmCreate or fmOpenWrite) do
            try
              Seek(0, soFromBeginning);
              CopyFrom(Document, 0);
            finally
              Free;
            end;
        finally
          Free;
        end;
     
      // suite ici
     
     // C'est tres bizarre ce comportement en fonction de la page web
     
      AssignFile(f_pageDepart,str_f_pageDepart);
      reset(f_pageDepart);
      repeat
        SetLength(array_str_pageDepart, int_temp+1);
        Readln(f_pageDepart, array_str_pageDepart[int_temp]);
        str_pageDepart := str_pageDepart+array_str_pageDepart[int_temp];
        int_temp := int_temp + 1;
      until EOF(f_pageDepart);
      memo_debogage.Lines.Add(str_pageDepart);
    end;
     
    end.
    A ++

  4. #4
    Membre expérimenté
    Développeur informatique
    Inscrit en
    janvier 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2010
    Messages : 306
    Points : 516
    Points
    516

    Par défaut

    Bonjour

    Ton code est inutilement compliqué, pas très logique, et comporte encore des erreurs.

    Pour garder ta méthode, ce serait déjà mieux comme ça :


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      AssignFile(f_pageDepart,str_f_pageDepart); 
      reset(f_pageDepart);
      int_temp := 0 ;
      while not eof(f_pageDepart)   do
      begin    
           int_temp := int_temp + 1;
           SetLength(array_str_pageDepart, int_temp);     
           Readln(f_pageDepart,   array_str_pageDepart[int_temp-1]); 
      end ;
    Mais le tableau ne sert à rien, et pour lire un fichier dans un mémo, il y a plus simple !

    Code :
    memo_debogage.Lines.LoadFromFile (str_f_pageDepart);
    Tu peux ensuite traiter la chaîne de caractères

    Code :
     memo_debogage.Lines.text ;
    Quand tu n'auras plus besoin d'un mémo de débogage, tu pourras remplacer Memo_debogage.lines par une TStringList instanciée au début du traitement et libérée à la fin.

    Bon courage !
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Elle est en cours de développement, avec Lazarus. Vous pouvez peut-être aider à la tester, la traduire et à la développer.

  5. #5
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par tintinux Voir le message
    Quand tu n'auras plus besoin d'un mémo de débogage, tu pourras remplacer Memo_debogage.lines par une TStringList instanciée au début du traitement et libérée à la fin.
    Je vois ce que tu veux me dire ...
    J'ai donc réecris mon code ... encore ... lol
    Le but etant de stoker dans une variable finale (var str: string) toutes les lignes du tstrinlist concaténées.

    Code :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    unit Unit1;
     
    {$mode objfpc}{$H+}
     
    interface
     
    uses
      Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
      ComCtrls, httpsend;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
        btn_go: TButton;
        edit_urlDepart: TEdit;
        memo_debogage: TMemo;
        memo_htmPage1: TMemo;
        procedure btn_goClick(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end;
     
    var
      Form1: TForm1;
      f_pageDepart : TextFile;
      str_f_pageDepart : string = 'pageDepart.htm';
      int_temp : Integer;
      htm_pageDepart : TStringList;
      str : String;
     
    implementation
     
    {$R *.lfm}
     
    { TForm1 }
     
    procedure TForm1.btn_goClick(Sender: TObject);
    begin
     
      {##########################################################################
      INITIALISATION
      ##########################################################################}
     
      // Tests
     
      //edit_urlDepart.Text := 'http://www.leblogdudd.fr/2012/12/03/la-macroeconomie-ca-ne-se-mange-pas/';
      //edit_urlDepart.Text:= 'http://gbackstage.fr/post/36130485031/ecologie-environnement-classement-des-shortlistes';
      //edit_urlDepart.Text := 'http://projet.pcf.fr/14721';
      //edit_urlDepart.Text:='http://pierrecarles.org/';
      //edit_urlDepart.Text:='http://tronicspace.fr/index.php/electronique/tuto-circuit-imprime';
      //edit_urlDepart.Text:='http://mirrors.iwi.me/lazarus/';
      //edit_urlDepart.Text:='http://www.instructables.com/tag/?sort=none&limit:type:id=on&q=microscope';
      //edit_urlDepart.Text:='http://www.sculpteo.com/fr/order/design/evKTbmwSuvD?uuid=DH8tVHrQIGBVwpcZiY09Ke';
      edit_urlDepart.Text:= 'http://www.developpez.net/forums/d1312878/autres-langages/pascal/lazarus/lecture-page-web-ok-toutes-pages/';
     
      // Debogage
      memo_debogage.Lines.Add('##############################################');
      memo_debogage.Lines.Add('Bienvenue');
      memo_debogage.Lines.Add('##############################################');
      memo_debogage.Lines.Add('');
     
      {##########################################################################
      PAGE DE DEPART
      ##########################################################################}
     
      // Debogage
      memo_debogage.Lines.Add('#########################');
      memo_debogage.Lines.Add('PAGE DE DEPART');
      memo_debogage.Lines.Add('#########################');
      memo_debogage.Lines.Add('Page de depart (URL) : '+edit_urlDepart.Text);
     
      // Lecture de la page web
      // Et récupération du code source htm de la page de depart
      with THttpSend.Create do
        try
          HTTPMethod('GET', edit_urlDepart.Text);
          case Resultcode of
            100..200 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : OK');
            301,302,307 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : ERREUR REDIRECTION DE PAGE');
            500 : memo_debogage.Lines.Add('Récupération du code source de la page de depart : VERIFIEZ VOTRE CONNECTION INTERNET OU L''URL DE DEPART');
            else
              raise EInOutError.Create('Récupération du code source de la page de depart : ERREUR FATALE '+inttostr(ResultCode)+' ('+ResultString+')');
          end;
          // ecriture du code source de la page de depart dans le fichier adequat
          with TFileStream.Create(str_f_pageDepart,fmCreate or fmOpenWrite) do
            try
              Seek(0, soFromBeginning);
              CopyFrom(Document, 0);
            finally
              Free;
            end;
        finally
          Free;
        end;
     
      // Chargement du fichier pageDepart dans le tstringlist
      AssignFile(f_pageDepart,str_f_pageDepart);
      reset(f_pageDepart);
      htm_pageDepart := TStringList.Create;
      htm_pageDepart.LoadFromFile(str_f_pageDepart);
     
      // Purger les lignes du tstinglist
      for int_temp := 0 to htm_pageDepart.Count-1 do
        begin
          htm_pageDepart.Strings[int_temp] := Trim(htm_pageDepart.Strings[int_temp]);
          htm_pageDepart.Strings[int_temp] := StringReplace(htm_pageDepart.Strings[int_temp],'"','',[rfReplaceAll]);
          htm_pageDepart.Strings[int_temp] := StringReplace(htm_pageDepart.Strings[int_temp],'''','',[rfReplaceAll]);
          htm_pageDepart.Strings[int_temp] := StringReplace(htm_pageDepart.Strings[int_temp],#9,'',[rfReplaceAll]);
          htm_pageDepart.Strings[int_temp] := StringReplace(htm_pageDepart.Strings[int_temp],#13,'',[rfReplaceAll]);
          htm_pageDepart.Strings[int_temp] := StringReplace(htm_pageDepart.Strings[int_temp],#10,'',[rfReplaceAll]);
        end;
     
      // Supprimer les lignes vides du stinglist
      for int_temp:= htm_pageDepart.Count -1 downto 0 do
        begin
          if htm_pageDepart.Strings[int_temp] = '' then htm_pageDepart.Delete(int_temp);
        end;
     
      // Afficher dans le mémo le contenu ligne par ligne du tstringlist
      for int_temp := 0 to htm_pageDepart.Count-1 do
        begin
          memo_debogage.Lines.Add(htm_pageDepart.Strings[int_temp]);
        end;
     
      // Concaténer toutes les lignes du tstringlist dans une seule variable
      // Puis l'afficher dans un deuxième mémo
      for int_temp := 0 to htm_pageDepart.Count-1 do
        begin
          str := Concat(str, htm_pageDepart.Strings[int_temp]);
        end;
      memo_htmPage1.Lines.Add(str);
     
      end;
    end.
    En l'état actuel de mes connaissances, je n'ai pas trouvé mieux.
    Je suis certain qu'on peut faire mieux, plus logique et plus court.

    Merci pour ton soutien, tu m'as fait faire un bon pas en avant...


    EDIT : ça recommence, le script ne fonctionne pas en fonction de l'url
    ( leboncoin fait de la resistance !!!)



    A++

  6. #6
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    EDIT : ça recommence, le script ne fonctionne pas en fonction de l'url
    ( leboncoin fait de la resistance !!!)


    Heu l'erreur semblerai provenir de la façon dont je concatène le tstrinlist pour obtenir le string final.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
      // Concatener toutes les lignes du tstringlist dans une seule variable
      // Puis l'afficher dans le memo1
      for int_temp := 0 to htm_pageDepart.Count-1 do
        begin
          //memo_htmPage2.Lines.Add(htm_pageDepart.Strings[int_temp]);
          str := Concat(str, htm_pageDepart.Strings[int_temp]);
        end;
      memo_htmPage1.Lines.Add(str);

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    mars 2005
    Messages
    2 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : mars 2005
    Messages : 2 273
    Points : 5 158
    Points
    5 158

    Par défaut

    ceci doit pouvoir se simplifier en
    Code :
    memo_htmPage1.Lines.Add(htm_pageDepart.Text);
    La propriété Text du StringList correspond justement à la concaténation de ses lignes.
    Delphi 5 Pro et Code Typhon 4.41 sous Win 7 64 bits - Code Typhon 4.50 sous Ubuntu 14.04 64 bits et 12.04 64 bits (VM)

  8. #8
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    Citation Envoyé par tourlourou Voir le message
    La propriété Text du StringList correspond justement à la concaténation de ses lignes.
    Cela veut dire que la propriete Text du stringlist correspond a l'ensemble de ses lignes non concaténées entre elles ? Qu'avec cette propriete on economise une boucle ?

    Soit le tsringlist suivant :
    tsringlist[0] = "<html>"
    tsringlist[1] = "<head>"
    tsringlist[2] = "<title>"
    tsringlist[3] = "coucou"
    tsringlist[4] = "</title>"

    Je cherche a obtenir un string d'une ligne equivalent à :
    var str: string;

    str = '<html><head><title>coucou</title>'

    Pour le moment je ne vois que concat() pour faire cela.

  9. #9
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    Heu la page du boncoin fait 2500 lignes ?
    Est ce trop grand pour str ?

    Avant la concatenation, je verifie bien (dans un énième mémo) que le stringlist existe bien -> tout est ok même pour le stringlist du boncoin

    Par contre lorsque je lui demande de concaténer l'ensemble des lignes du stringlist dans une simple variable string (str) , il n'y a que les 2500 lignes du stringlist du boncoin qui me résiste !

    Je trouve ca dingue lol !

    NB : je suis obligé de concatener l'ensemble de toutes les lignes dans un simple string (pour un futur regex dessus)

  10. #10
    Nouveau Membre du Club
    Inscrit en
    novembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : novembre 2006
    Messages : 79
    Points : 29
    Points
    29

    Par défaut

    En déclarant str comme widestring ou UnicodeString, cela fonctionne meme pour le bon coin.
    Je vais continuer comme cela ... Et vais plonger dans de la doc, si j'en trouve...

    Le débutant que je suis vous salue
    Merci à vous - je laisse ouvert le post un peu, au cas ou ...

    Bye

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •