FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Bataille terrestre
Recettes de cuisine Emptypar Marc Hier à 16:20

» item_index
Recettes de cuisine Emptypar Marc Hier à 16:13

» SineCube
Recettes de cuisine Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Recettes de cuisine Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Recettes de cuisine Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Recettes de cuisine Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Recettes de cuisine Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Recettes de cuisine Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Recettes de cuisine Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Recettes de cuisine Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Recettes de cuisine Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0
Recettes de cuisine Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Recettes de cuisine Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Recettes de cuisine Emptypar Klaus Lun 6 Mai 2024 - 10:23

» @Jack
Recettes de cuisine Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 Recettes de cuisine

Aller en bas 
4 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Recettes de cuisine Empty
MessageSujet: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 15:27

Un programme pas vraiment fini, mais je crois que je vais en rester là, mon épouse s'en accommodera.

Rassurez-vous, ce n'est pas moi, ni le programme, qui invente les recettes, elles sont téléchargées sur un site qui s'appelle CuisineAZ, d'accès libre, anonyme, sans avoir besoin de s'inscrire ni de fournir ses coordonnées.
Les différents fichiers sont téléchargés en html, puis convertis au format texte par une sub assez rustique, qui serait sans doute très améliorable, mais au prix de beaucoup de complication, il y a tellement de particularités. C'est sans doute ça le point faible.

Le principe est de constituer la liste complète des recettes, et à partir de là on peut:
- afficher la liste complète à gauche
- cliquer sur une recette pour l'afficher à droite
- se connecter sur le site pour afficher directement la recette choisie (sous une forme plus sophistiquée, évidemment)
- ou faire une recherche dans la liste avec un ou des mots donnés, par exemple "pintade" qui donnera la liste des recettes correspondantes.

Je précise que c'est en pur Panoramic.
Code:
LABEL Exec,Dir,Vfic,Chargement,Convtxt,Liens,Vliens,Afrec,Cnx,Cherche
DIM url$,i%,j%,k%,cl%,r$,rtm$,sf$,l$,t$,nc%,vi$(50),vr$(50)
DIM f$,fr$,ft$,fll$,a$,b$,x%
r$ = "C:\MATERIEL\FINECOOK\RECETTES": ' <<<<<<<<<< CHEMIN À AJUSTER <<<<<<<<<<<
rtm$ = "C:\TEMP": '                                       IDEM
fll$ = r$+"Liste_liens.txt"
' Caractères spéciaux Html:
a$="&eacute;,é,&egrave;,è,&ecirc;,ê,&ucirc;,û,&agrave;,à,&Eacute;,É,&Agrave;,À,&rsquo;,',"
a$=a$+"&nbsp;, ,<,<,>,>,&amp;,&,","+CHR$(34)+","
a$=a$+"&raquo;,"+CHR$(13)+CHR$(10)+CHR$(187)+",&rsaquo;,>,&lsaquo;,<,"
a$=a$+CHR$(194)+CHR$(189)+",½,"+CHR$(194)+CHR$(208)+",°,"+CHR$(195)+CHR$(136)+",È,"
a$=a$+CHR$(195)+CHR$(137)+",É,"+CHR$(195)+CHR$(155)+",Û,"+CHR$(195)+CHR$(160)+",à,"
a$=a$+CHR$(194)+CHR$(171)+",«,"+CHR$(194)+CHR$(187)+",»,"+CHR$(195)+CHR$(167)+",ç,"
a$=a$+CHR$(195)+CHR$(162)+",â,"+CHR$(195)+CHR$(168)+",ê,"+CHR$(195)+CHR$(169)+",é,"
a$=a$+CHR$(195)+CHR$(170)+",ê,"+CHR$(195)+CHR$(174)+",ï,"+CHR$(195)+CHR$(175)+",ï,"
a$=a$+CHR$(195)+CHR$(180)+",ô,"+CHR$(195)+CHR$(187)+",û,"+CHR$(197)+CHR$(147)+",oe,"
a$=a$+CHR$(226)+CHR$(128)+CHR$(153)+",',"+CHR$(226)+CHR$(130)+CHR$(172)+",€,"
a$=a$+CHR$(226)+CHR$(128)+CHR$(147)+",-,"
a$=a$+"è,è,é,é,ë,ë,î,î,ô,ô,','"
k% = INSTR(a$,",")
WHILE k%>0
    nc% = nc%+1: vi$(nc%) = LEFT$(a$,k%-1): a$ = RIGHT_POS$(a$,k%+1): k% = INSTR(a$,",")
    IF k%=0 THEN vr$(nc%) = a$: EXIT_WHILE
    vr$(nc%) = LEFT$(a$,k%-1)
    a$ = RIGHT_POS$(a$,k%+1): k% = INSTR(a$,",")
END_WHILE

WIDTH 0,300: : HEIGHT 0,380: CAPTION 0,"   -   RECETTES   -"
COLOR 0,180,255,255
BUTTON 1: TOP 1,0: LEFT 1,10: CAPTION 1,"Télécharger"
BUTTON 2: TOP 2,TOP(1): LEFT 2,100: CAPTION 2,"Convertir en txt"
BUTTON 3: TOP 3,TOP(1): LEFT 3,200: CAPTION 3,"Extraire la liste"
BUTTON 4: TOP 4,TOP(1)+40: LEFT 4,LEFT(3): CAPTION 4,"Voir la liste"
FOR i% = 1 TO 4: ON_CLICK i%,Exec: NEXT i%

LIST 10: TOP 10,TOP(2)+30: LEFT 10,0: WIDTH 10,90: HEIGHT 10,HEIGHT(0)-90
ON_CLICK 10,Vfic
LIST 15: TOP 15,TOP(10): LEFT 15,WIDTH(10)+2: WIDTH 15,WIDTH(10): HEIGHT 15,HEIGHT(10)
ON_CLICK 15,Vfic
MEMO 11: HIDE 11: WIDTH 11,400
ALPHA 12: TOP 12,TOP(4)+40: LEFT 12,LEFT(4)
FONT_COLOR 12,255,64,64: FONT_SIZE 12,12: FONT_BOLD 12

ALPHA 16: TOP 16,HEIGHT(0)-54: LEFT 16,5: CAPTION 16,r$

FORM 20: HEIGHT 20,SCREEN_Y-50: WIDTH 20,800: HIDE 20: BORDER_SMALL 20
COLOR 20,180,255,255: CAPTION 20,"   -   LISTE   DES   RECETTES   -"
LIST 21: PARENT 21,20: TOP 21,25: WIDTH 21,350: HEIGHT 21,HEIGHT(20)-60: ON_CLICK 21,Afrec
DLIST 22
BUTTON 23: PARENT 23,20: LEFT 23,WIDTH(21)+120: WIDTH 23,180: HIDE 23
CAPTION 23,"Voir la recette en ligne": ON_CLICK 23,Cnx
MEMO 24: PARENT 24,20: TOP 24,25: LEFT 24,WIDTH(21): WIDTH 24,WIDTH(20)-WIDTH(21)-16
HEIGHT 24,HEIGHT(21)-25: FONT_NAME 24,"Arial": FONT_SIZE 24,10
ALPHA 26: PARENT 26,20: TOP 26,5: FONT_BOLD 26: CAPTION 26,"Chercher:"
EDIT 27: PARENT 27,20: LEFT 27,60: WIDTH 27,240
BUTTON 28: PARENT 28,20: LEFT 28,LEFT(27)+WIDTH(27): WIDTH 28,50: CAPTION 28,"OK"
ON_CLICK 28,Cherche

IF FILE_EXISTS(r$+"Recettes01.htm")=1 THEN sf$="htm": GOSUB Dir
IF FILE_EXISTS(r$+"Recettes01.txt")=1 THEN sf$="txt": GOSUB Dir
END
' ==============================================================================
Exec:
i% = NUMBER_CLICK
SELECT i%
    CASE 1: GOSUB Chargement
    CASE 2: GOSUB Convtxt
    CASE 3: GOSUB Liens
    CASE 4: GOSUB Vliens
END_SELECT
RETURN
' ==============================================================================
Vfic:
j% = 10: IF sf$ = "txt" THEN j% = 15
a$ = r$+ITEM_INDEX$(j%)
EXECUTE_WAIT "Notepad.exe "+a$
RETURN
' ==============================================================================
Dir:
EXECUTE_WAIT "Cmd.exe /c DIR /B "+r$+"*."+sf$+" | clip"
j% = 10: IF sf$ = "txt" THEN j% = 15
CLEAR j%: CLEAR 11: CLIPBOARD_PASTE 11
FOR i% = 1 TO COUNT(11): ITEM_ADD j%,ITEM_READ$(11,i%): NEXT i%
RETURN
' ==============================================================================
Chargement:
CAPTION 12,"En cours..."
' chargement initial
url$ = "http://www.cuisineaz.com/recettes/recherche_v2.aspx?recherche=autocuiseur"
WebLoadFic(url$,r$+"Recettes01.htm")
FOR i% = 2 TO 20
    print "Page "+str$(i%)
    a$ = url$+"&page="+STR$(i%)
    WebLoadFic(a$,r$+"Recettes"+RIGHT$("0"+STR$(i%),2)+".htm")
NEXT i%
CAPTION 12,""
sf$ = "htm": GOSUB Dir
RETURN
' ==============================================================================
Convtxt:
CAPTION 12,"En cours..."
' conversion des fichiers htm en txt
EXECUTE_WAIT "cmd.exe /c DEL /Q "+r$+"*.txt"
FOR i% = 1 TO 20
    f$ = r$+"Recettes"+RIGHT$("0"+STR$(i%),2)+".htm"
    fr$ = r$+"Recettes"+RIGHT$("0"+STR$(i%),2)+".txt"
    ft$ = rtm$+"Temp.txt"
    Html2Txt(f$,ft$)
    FILE_OPEN_READ 1,ft$: FILE_OPEN_WRITE 2,fr$
    FILE_READLN 1,a$: WHILE INSTR(a$,"Trier les r")=0: FILE_READLN 1,a$: END_WHILE
    
    WHILE FILE_EOF(1)=0
        FILE_READLN 1,a$: a$ = RTRIM$(a$)
        IF a$ <> ""
            IF LEN(a$)-LEN(LTRIM$(a$)) > 10
                a$ = STRING$(10," ")+LTRIM$(a$)
            END_IF
            k% = INSTR(a$,CHR$(9)+CHR$(9))
            WHILE k%>0
                a$ = LEFT$(a$,k%)+RIGHT_POS$(a$,k%+2)
                k% = INSTR(a$,CHR$(9)+CHR$(9))
            END_WHILE
            IF INSTR(a$,"Précédent")>0 THEN EXIT_WHILE
            FILE_WRITELN 2,a$
        END_IF
    END_WHILE
    FILE_CLOSE 1: FILE_CLOSE 2
NEXT i%
CAPTION 12,""
sf$ = "txt": GOSUB Dir
RETURN
' ==============================================================================
Liens:
CAPTION 12,"En cours..."
FILE_OPEN_WRITE 1,fll$
FOR i% = 1 TO 20
    f$ = r$+"Recettes"+RIGHT$("0"+STR$(i%),2)+".htm"
    FILE_OPEN_READ 2,f$
    b$= "_"
    WHILE FILE_EOF(2)=0
        FILE_READLN 2,a$
        IF INSTR(a$,"<h2><a id=") > 0
            k% = INSTR(a$,"href="): a$ = RIGHT_POS$(a$,k%+6)
            k% = INSTR(a$,">"): l$ = LEFT$(a$,k%-2): a$ = RIGHT_POS$(a$,k%+1)
            k% = INSTR(a$,"<"): t$ = LEFT$(a$,k%-1)
            ' conversion des caractères spéciaux html
            FOR x% = 1 TO nc%
                k%=INSTR(t$,vi$(x%))
                WHILE k%>0
                    t$=LEFT$(t$,k%-1)+vr$(x%)+RIGHT_POS$(t$,k%+LEN(vi$(x%)))
                    k%=INSTR(t$,vi$(x%))
                END_WHILE
            NEXT x%
            FILE_WRITELN 1,b$+t$: FILE_WRITELN 1,l$: ' titre et url
            b$ = ""
        END_IF
    END_WHILE
    FILE_CLOSE 2
NEXT i%
FILE_CLOSE 1
CAPTION 12,""
RETURN
' ==============================================================================
Vliens:
CLEAR 21: CLEAR 22
FILE_OPEN_READ 1,fll$
i% = 0
WHILE FILE_EOF(1) = 0
    i% = i%+1
    FILE_READLN 1,a$ : ' titre
    ITEM_ADD 21,RIGHT$("  "+STR$(i%),3)+" "+a$
    FILE_READLN 1,a$: ' lien
    ITEM_ADD 22,a$
END_WHILE
FILE_CLOSE 1
SHOW 20
RETURN
' ==============================================================================
Afrec:
cl% = ITEM_INDEX(21)
a$ = ITEM_READ$(22,cl%)
WebLoadFic(a$,rtm$+"Rect.htm"): ' pour voir...
Html2Txt(rtm$+"Rect.htm",rtm$+"Tmpa.txt")
FILE_OPEN_READ 1,rtm$+"Tmpa.txt": FILE_OPEN_WRITE 2,rtm$+"Tmp.txt"
WHILE FILE_EOF(1)=0
    FILE_READLN 1,a$: IF TRIM$(a$)<>"" THEN FILE_WRITELN 2,RTRIM$(a$)
END_WHILE
FILE_CLOSE 1: FILE_CLOSE 2: FILE_DELETE rtm$+"Tmpa.txt"
FILE_OPEN_READ 1,rtm$+"Tmp.txt": FILE_OPEN_WRITE 2,rtm$+"Rect.txt"
    FILE_READLN 1,a$: FILE_WRITELN 2,a$: FILE_WRITELN 2,"": ' titre
    FILE_READLN 1,a$: WHILE INSTR(a$,"Quantit")=0: FILE_READLN 1,a$: END_WHILE
    FILE_READLN 1,b$: FILE_WRITELN 2,LTRIM$(a$)+": "+LTRIM$(b$)
    FILE_READLN 1,a$: FILE_READLN 1,b$: FILE_WRITELN 2,LTRIM$(a$)+": "+LTRIM$(b$)
    FILE_READLN 1,a$: FILE_READLN 1,b$: FILE_WRITELN 2,LTRIM$(a$)+": "+LTRIM$(b$)
    FILE_READLN 1,a$: FILE_READLN 1,b$: FILE_WRITELN 2,LTRIM$(a$)+": "+LTRIM$(b$)
    FILE_READLN 1,a$: FILE_READLN 1,b$: FILE_WRITELN 2,LTRIM$(a$)+": "+LTRIM$(b$)
    FILE_READLN 1,a$: WHILE INSTR(a$,"Ingr")=0: FILE_READLN 1,a$: END_WHILE
    FILE_WRITELN 2,a$
    WHILE FILE_EOF(1)=0
        FILE_READLN 1,a$: a$ = RTRIM$(a$)
        IF a$ <> ""
            IF LEN(a$)-LEN(LTRIM$(a$)) > 5
                a$ = STRING$(5," ")+LTRIM$(a$)
            END_IF
            k% = INSTR(a$,CHR$(9)+CHR$(9))
            WHILE k%>0
                a$ = LEFT$(a$,k%)+RIGHT_POS$(a$,k%+2)
                k% = INSTR(a$,CHR$(9)+CHR$(9))
            END_WHILE
            IF INSTR(a$,"Signaler une erreur")>0 THEN EXIT_WHILE
            FILE_WRITELN 2,a$
        END_IF
    END_WHILE
    FILE_CLOSE 1: FILE_CLOSE 2: FILE_DELETE rtm$+"Tmp.txt"
CLEAR 24: FILE_LOAD 24,rtm$+"Rect.txt"
SHOW 23
RETURN
' ==============================================================================
Cnx:
EXECUTE_WAIT ITEM_READ$(22,cl%)
RETURN
' ==============================================================================
Cherche:
b$ = TEXT$(27)
IF b$ = "" THEN RETURN
b$ = UPPER$(b$): CLEAR 24
FOR i% = 1 TO COUNT(21)
    a$ = ITEM_READ$(21,i%)
    IF INSTR(UPPER$(a$),b$) > 0 THEN ITEM_ADD 24,a$
NEXT i%
ITEM_ADD 24,"          ---------- Fin de recherche ----------"
RETURN
' ==============================================================================
SUB WebLoadFic(url$,fr$)
' Téléchargement d'un fichier web donné par son url -> fr$
' (affichage d'une fenêtre noire temporaire jusqu'à la fin de l'opération).
DIM_LOCAL f,q$,fvb$: fvb$ = rtm$+"Download.vbs": q$ = CHR$(34)
f=1950: WHILE OBJECT_EXISTS(f)=1: f=f+1: END_WHILE
FORM f: TOP f,TOP(0): LEFT f,LEFT(0): WIDTH f,WIDTH(0): HEIGHT f,HEIGHT(0)
BORDER_HIDE f: COLOR f,255,0,0: ' témoin d'activité
FILE_OPEN_WRITE 9,fvb$
FILE_WRITELN 9,"strFileURL = "+q$+url$+q$
FILE_WRITELN 9,"strHDLocation = "+q$+fr$+q$
FILE_WRITELN 9,"Set objXMLHTTP = CreateObject("+q$+"MSXML2.XMLHTTP"+q$+")"
FILE_WRITELN 9,"objXMLHTTP.open "+q$+"GET"+q$+", strFileURL, false"
FILE_WRITELN 9,"objXMLHTTP.send()"
FILE_WRITELN 9,"If objXMLHTTP.Status = 200 Then"
FILE_WRITELN 9,"Set objADOStream = CreateObject("+q$+"ADODB.Stream"+q$+")"
FILE_WRITELN 9,"objADOStream.Open"
FILE_WRITELN 9,"objADOStream.Type = 1"
FILE_WRITELN 9,"objADOStream.Write objXMLHTTP.ResponseBody"
FILE_WRITELN 9,"objADOStream.Position = 0"
FILE_WRITELN 9,"Set objFSO = Createobject("+q$+"Scripting.FileSystemObject"+q$+")"
FILE_WRITELN 9,"If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation"
FILE_WRITELN 9,"Set objFSO = Nothing"
FILE_WRITELN 9,"objADOStream.SaveToFile strHDLocation"
FILE_WRITELN 9,"objADOStream.Close"
FILE_WRITELN 9,"Set objADOStream = Nothing"
FILE_WRITELN 9,"End if"
FILE_WRITELN 9,"Set objXMLHTTP = Nothing"
FILE_CLOSE 9
EXECUTE_WAIT "cscript.exe " + fvb$
FILE_DELETE fvb$
DELETE f
END_SUB
' ==============================================================================
SUB Html2Txt(f$,ft$)
' conversion approximative fichier html f$ en fichier texte brut dans ft$
DIM_LOCAL a$,s$,ba$,cr$,k%,k1%,ns%,csp$(50),crm$(50)
    cr$ = CHR$(13)+CHR$(10): ' saut de ligne
' Caractères spéciaux Html (successivement caract.codé,caract.de remplacement):
a$="&eacute;,é,&egrave;,è,&ecirc;,ê,&ucirc;,û,&agrave;,à,&Eacute;,É,&Agrave;,À,&rsquo;,',"
a$=a$+"&nbsp;, ,<,<,>,>,&amp;,&,","+CHR$(34)+","
a$=a$+"&raquo;,"+CHR$(13)+CHR$(10)+CHR$(187)+",&rsaquo;,>,&lsaquo;,<,"
a$=a$+CHR$(194)+CHR$(189)+",½,"+CHR$(194)+CHR$(208)+",°,"+CHR$(195)+CHR$(136)+",È,"
a$=a$+CHR$(195)+CHR$(137)+",É,"+CHR$(195)+CHR$(155)+",Û,"+CHR$(195)+CHR$(160)+",à,"
a$=a$+CHR$(194)+CHR$(171)+",«,"+CHR$(194)+CHR$(187)+",»,"+CHR$(195)+CHR$(167)+",ç,"
a$=a$+CHR$(195)+CHR$(162)+",â,"+CHR$(195)+CHR$(168)+",ê,"+CHR$(195)+CHR$(169)+",é,"
a$=a$+CHR$(195)+CHR$(170)+",ê,"+CHR$(195)+CHR$(174)+",ï,"+CHR$(195)+CHR$(175)+",ï,"
a$=a$+CHR$(195)+CHR$(180)+",ô,"+CHR$(195)+CHR$(187)+",û,"+CHR$(197)+CHR$(147)+",oe,"
a$=a$+CHR$(226)+CHR$(128)+CHR$(153)+",',"+CHR$(226)+CHR$(130)+CHR$(172)+",€,"
a$=a$+CHR$(226)+CHR$(128)+CHR$(147)+",-,"
a$=a$+"è,è,é,é,ë,ë,î,î,ô,ô,','"
    k% = INSTR(a$,",")
    WHILE k%>0
        ns% = ns%+1: csp$(ns%) = LEFT$(a$,k%-1): a$ = RIGHT_POS$(a$,k%+1): k% = INSTR(a$,",")
        IF k%=0 THEN crm$(ns%) = a$: EXIT_WHILE
        crm$(ns%) = LEFT$(a$,k%-1)
        a$ = RIGHT_POS$(a$,k%+1): k% = INSTR(a$,",")
    END_WHILE

' lecture intégrale du fichier htm dans la variable a$
    FILEBIN_OPEN_READ 9,f$: k% = FILEBIN_SIZE(9): FILEBIN_CLOSE 9
    FILE_OPEN_READ 9,f$: FILE_READBUF 9,a$,k%: FILE_CLOSE 9
    k% = INSTR(a$,"</head>"): IF k%=0 THEN message "Pas de balise </head>": EXIT_SUB
    a$ = MID$(a$,k%+7,LEN(a$))
' suppression des balises <script...>...</script> et <style...>...</style> et de
' leur contenu
    k% = INSTR(a$,"<script")
    WHILE k%>0
      k1% =INSTR(a$,"</script>"): a$ = LEFT$(a$,k%-1)+MID$(a$,k1%+9,LEN(a$))
      k% = INSTR(a$,"<script")
    END_WHILE
    k% = INSTR(a$,"<style")
    WHILE k%>0
      k1% =INSTR(a$,"</style>"): a$ = LEFT$(a$,k%-1)+MID$(a$,k1%+8,LEN(a$))
      k% = INSTR(a$,"<style")
    END_WHILE
' remplacement des balises </tr> par des sauts de ligne
    k% = INSTR(a$,"</tr>")
    WHILE k%>0: a$=LEFT$(a$,k%-1)+cr$+MID$(a$,k%+5,LEN(a$)): k%=INSTR(a$,"</tr>"): END_WHILE
' remplacement des balises <p> par des espaces
    k% = INSTR(a$,"<p>")
    WHILE k%>0: a$=LEFT$(a$,k%-1)+" "+RIGHT_POS$(a$,k%+3): k%=INSTR(a$,"<p>"): END_WHILE
' suppression de toutes les balises (on garde les sauts de lignes, pour lisibilité)
    k% = INSTR(a$,"<")
    WHILE k% > 0
      k1% = INSTR_POS(a$,">",k%): ba$ = MID$(a$,k%,k1%-k%+1): ' balise trouvée
      IF LEFT$(ba$,3) = "<br": ' saut de ligne
         a$ = LEFT$(a$,k%-1)+CHR$(13)+CHR$(10)+MID$(a$,k1%+1,LEN(a$))
      ELSE
         a$ = LEFT$(a$,k%-1)+MID$(a$,k1%+1,LEN(a$)): ' suppression
      END_IF
      k% = INSTR(a$,"<")
    END_WHILE
' remplacement des caractères spéciaux
    FOR k% = 1 TO ns%
       s$ = csp$(k%): k1% = INSTR(a$,s$)
       WHILE k1%>0
          a$ = LEFT$(a$,k1%-1)+crm$(k%)+MID$(a$,k1%+LEN(s$),LEN(a$))
          k1% = INSTR(a$,s$)
       END_WHILE
    NEXT k%
' suppression des rc/al redondants
    k% = INSTR(a$,CHR$(13)+CHR$(10)+CHR$(13)+CHR$(10))
    WHILE k%>0
      a$ = LEFT$(a$,k%-1)+MID$(a$,k%+2,LEN(a$))
      k% = INSTR(a$,CHR$(13)+CHR$(10)+CHR$(13)+CHR$(10))
    END_WHILE
    FILE_OPEN_WRITE 9,ft$: FILE_WRITELN 9,a$: FILE_CLOSE 9
END_SUB
' ==============================================================================

Précisions:
Il faut d'abord préciser le chemin du répertoire de stockage, ainsi que le chemin des fichiers de manoeuvre, en tête du programme.
Les boutons Télécharger, Convertir en txt et Extraire la liste ne servent en principe qu'une seule fois.
La liste des fichiers obtenus est affichée pour pouvoir cliquer sur un fichier et voir sa structure, ça c'est pour la curiosité et la mise au point (par exemple pour voir comment le htm a été converti en txt).
Quand tout est au point ( Very Happy ça c'est moins évident...), le seul bouton utile est 'Voir la liste'.


Dernière édition par JL35 le Jeu 12 Mar 2015 - 19:37, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 19:02

J'ai une erreur "Appel de SUB inconnu" ligne 94 après avoir cliqué sur téléchager.

Effectivement cette sub n'est pas présente.

A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 19:37

Oups ! excuse moi Jean Claude, un changement de nom de dernière minute ! Embarassed
C'est la sub de téléchargement, qui s'appelle WebLoadFic() comme sur la ligne 90 (et non plus PageWeb, mais c'est la même chose)
Je rectifie là-haut...

C'est fait !
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 20:16

bon, ben j'en ai plein le bureau. What a Face

J'ai pourtant créer un dossier recette sur celui-ci.
le fichier liens.txt n'est pas créé.
Internet explorer refuse d'ouvrir les raccourcis, mais chrome accepte.

Je ne suis pas perdant, j'ai tout de même récupérer 20 recettes Very Happy

Je n'aurais pas le temps de suivre ce soir.
A+
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 20:40

Pour moi j'ai récupéré 20 fichiers html (il y a 20 pages sur internet, chacune contenant des liens sur sur une quinzaine de recettes), convertis en 20 fichiers texte, pour un total de 275 recettes (avec Firefox)
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 685
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 20:55

jl35
je dispose d'une longue liste de recette de cuisine sur mon ordi mais en fichier image.
crois tu que l'on peut les lister et les afficher?
je rame toujours un peut Sad
je peux essayer de le faire, mais je ne dois pas m'y prendre de la bonne façon!


Dernière édition par mindstorm le Ven 13 Mar 2015 - 12:34, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Recettes de cuisine Empty
MessageSujet: re    Recettes de cuisine EmptyJeu 12 Mar 2015 - 21:08

ha....les panoramiciens... on aurait du s' appeler les épicuriens... Laughing


Dernière édition par ygeronimi le Jeu 12 Mar 2015 - 21:10, édité 1 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Recettes de cuisine Empty
MessageSujet: re    Recettes de cuisine EmptyJeu 12 Mar 2015 - 21:09

ha....les panoramiciens... on aurait du s' appelait les épicuriens... Laughing


message en double
Revenir en haut Aller en bas
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyJeu 12 Mar 2015 - 22:02

@ygeronimi
A ma connaissance, le 1er panoramicien (de ce nom) étant apparu là en 2010: https://panoramic.1fr1.net/t576-un-panoramicien-en-plein-travail?highlight=panoramicien , on pourrait maintenant inventer le panépicurien...

Bonsoir mindstorm, oui on peut certainement, mais les données du problème sont plutôt floues.
Sous forme d'image ça veut dire quoi ? chaque recette est une image ? la liste est sous quelle forme ? un fichier texte ou bien également une image ?
Si tout est en images il faut prévoir une présentation dans des pictures, c'est moins souple à manipuler... mais faisable.
L'idéal serait d'avoir une liste au format texte (mais ça tu peux la faire toi-même si elle n'existe pas), de la présenter à l'écran, par exemple dans un memo, et faire en sorte que le clic sur un élément provoque l'affichage de la recette (image) correspondante.
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 685
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine EmptyVen 13 Mar 2015 - 12:32

bon sang, mais c'est... bien sur !
pourquoi chercher plus loin

allez! cadeau:
Gaufres de Liège
500 gr de farine
180 gr de lait tiède
46 gr de levure de boulanger
2 œufs entiers + 1 jaune
1 pincée de sel
½ sachet de sucre vanillé
270 gr de beurre
370 gr de sucre perlé (gros grains)

Mettre sur la plan de travail la farine en fontaine. Y ajouter dans le creux le sucre, les œufs, la pincée de sel et le lait tiède dans lequel on aura dilué la levure 10 minutes auparavant. Pétrir légèrement et laisser reposer environ 30 minutes. Y incorporer ensuite 270 gr de beurre ramolli et 370 gr de sucre perlé.
Cuire dans un gaufrier muni d’un moule à gros trous.
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Recettes de cuisine Empty
MessageSujet: re   Recettes de cuisine EmptyVen 13 Mar 2015 - 12:53

Recettes de cuisine Images10Si tes fichiers sont nommés du nom de la recette...
tu places un objet "List" et tu le remplis avec "file_find..."

Dans l' idéal absolu, il faudrait que tes fichiers image soient de la même
dimension.
Revenir en haut Aller en bas
Contenu sponsorisé





Recettes de cuisine Empty
MessageSujet: Re: Recettes de cuisine   Recettes de cuisine Empty

Revenir en haut Aller en bas
 
Recettes de cuisine
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Recettes pour les fondus de cuisine moderne
» MA PLATEFORME DE RECETTES
» Mon livre de cuisine

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: