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
» PANORAMIC V 1
Mon interface Panoramic Emptypar papydall Aujourd'hui à 3:22

» select intégrés [résolu]
Mon interface Panoramic Emptypar jjn4 Hier à 17:00

» number_mouse_up
Mon interface Panoramic Emptypar jjn4 Hier à 11:59

» Aide de PANORAMIC
Mon interface Panoramic Emptypar jjn4 Hier à 11:16

» trop de fichiers en cours
Mon interface Panoramic Emptypar lepetitmarocain Hier à 10:43

» Je teste PANORAMIC V 1 beta 1
Mon interface Panoramic Emptypar papydall Hier à 4:17

» bouton dans autre form que 0
Mon interface Panoramic Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Mon interface Panoramic Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Mon interface Panoramic Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Mon interface Panoramic Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Mon interface Panoramic Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Mon interface Panoramic Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Mon interface Panoramic Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Mon interface Panoramic Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Mon interface Panoramic Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-39%
Le deal à ne pas rater :
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
399 € 649 €
Voir le deal

 

 Mon interface Panoramic

Aller en bas 
+3
papydall
Jean Claude
JL35
7 participants
Aller à la page : 1, 2, 3, 4  Suivant
AuteurMessage
JL35




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

Mon interface Panoramic Empty
MessageSujet: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 16:49

Pour me faciliter la vie, voici comment est organisée mon interface de programmation en Panoramic.
Si ça peut donner des idées à certains (pour faire mieux, de préférence).

D’abord les raccourcis sur le bureau:
Mon interface Panoramic I110
Chacun des raccourcis renvoie à un exécutable, écrit évidemment en Panoramic:
1) L’interface principale, qui propose plusieurs options
2) L’appel de Panoramic Editor avec le dernier source enregistré (le programme en cours de codage)
3) L’appel du compilateur Panoramic (... en attente d’utilisation)
4) La surveillance du Forum (et/ou connexion)

1) L’interface principale:
Mon interface Panoramic I210
Fenêtre supérieure: affichage de la liste des derniers sources enregistrés, en ordre chronologique inverse (on clique sur un élément pour lancer l’éditeur avec ce source).
Puis un choix de fonctions, chacune appelant un exécutable particulier

Bouton Éditeur
Affichage de la fenêtre suivante:
Mon interface Panoramic I310
- affichage de la liste des derniers sources (tri chronologique inverse, ou tri alphabétique, au choix), avec appel de l’Éditeur au clic.
- Bouton de recherche, par exemple recherche d’une séquence particulière dans tous les sources.
- Et boutons appelant des fonctions diverses (libellé explicite).

Le bouton Aide:
Affichage de la liste des mots-clés et du contenu à droite
Mon interface Panoramic I410
Pour chaque mot-clé, il est possible d’ajouter des commentaires personnels qui seront archivés et réaffichés à chaque appel de ce mot-clé:
Mon interface Panoramic I510

Bouton Sub’s de l’interface principale:
- affichage du contenu de la bibliothèque des subs: liste de toutes les subs, par catégorie, dans la fenêtre supérieure défilante, et au clic sur une sub affichage de la sub elle-même dans la fenêtre inférieure, avec copie simultanée dans le clipboard, pour permettre une intégration facile dans le programme en cours de codage (coller).
Mon interface Panoramic I610

Mon interface Panoramic I710

Le libellé des autres boutons de l’interface principale est suffisamment explicite.

2) Lancement de l’Éditeur avec le dernier source en date (sans commentaire)

3) Lancement du compilateur (en attente)

4) Surveillance du forum
Lancement d’un module qui télécharge automatiquement la page d’accueil du forum Panoramic et la compare à un état précédent, en affichant les changements.
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 17:12

Bravo JL35,

C'est un gros travail que tu nous présentes.

J'aime bien le commentaires personnels que tu t'ais concoctés pour les mots-clés dans l'aide Panoramic.
C'est l'idée que j'ai soumise sur le poste PLM N14. C'est peut-être la raison de ta publication.

On voit que chez toi, c'est carré. Very Happy
Je devrais en prendre de la graine.

Encore bravo !

A+
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7007
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 17:24

C’est beau tout ça, même très beau.
Mais, comment puis-je (moi qui ne comprends jamais tout d’un seul coup !)  me faciliter aussi la vie comme toi et profiter d’une aussi belle interface de programmation ?

En attendant, je retourne relire ton message.

Hé, merci et bravo JL trente cinq!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 18:17

@Jean-Claude
Non, il n'y a pas de rapport de cause à effet, c'est simplement une idée qui m'est venue comme ça, pour partager.
Et ce n'est pas un gros travail, ça s'est fait au fil du temps (des années ?).

@papydall
Il est bien évident que si ça intéressait certains ici je fournirais tous les programmes correspondants avec plaisir (mais ça fait un peu de monde... en programmes).
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7007
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 18:24

JL35 a écrit:
Il est bien évident que si ça intéressait du monde je fournirais tous les programmes correspondants avec plaisir.

Alors prépare-toi à les fournir : les demandes ne vont pas tarder à arriver ! king

Edit
Citation :
(mais ça fait un peu de monde... en programmes).

Il y a encore de la place sur mon disque dur Laughing Laughing Laughing à moins que .... Wink
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 20:11

Question disque dur, je ne suis pas inquiet pour mon PC.

Je serais, tout de même curieux de voir de plus près ce travail de plusieurs années. Very Happy

M'en servir, je ne sais pas encore, mais nul doute que sur la quantité il y a forcément de bonnes choses à prendre.
Et puis, je sais que tu n'es pas le premier venu en programmation, donc il a matière à apprendre.

c'est à toi de voir. Bon, c'est vrai que les réactions, actuellement sur le forum, c'est un peu mou, mais ce serait l'occasion de réveiller la communauté.

A+
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 20:49

Puisque c'est comme ça, préparez-vous à souffrir ! mais il faut d'abord que je rassemble mes billes, c'est un peu dispersé...
Je donnerai évidemment les sources, à charge pour vous de faire les exécutables.
Il y a des fichiers annexes (mots-clés, etc.) il faut que je regarde comment ça se goupille.

Je donnerai tout ici, pas la peine d'ouvrir un autre post.

En y regardant de plus près:
Chacun des raccourcis bureau ci-dessus correspond à un programme, respectivement:
- Pano.exe:   interface générale
- Panoder.exe: appel du dernier source dans l'éditeur
- Compile.exe: lancement du compilateur panoramic
- Forum.exe:   surveillance du forum

1) Pano.exe (Pano.bas)
Fait appel à:
- LanceEdi.exe
- Aide.exe
- DocPano.htm
- Recsub.exe
- Acrobat_KGF.exe
- TrucAstu.exe
- Clipb.exe

2) Panoder.bas tout petit, 20 lignes de code source

3) Compile.exe: appel direct du compilateur, pas de source

4) Forum.exe (Forum.bas, déjà publié ici https://panoramic.1fr1.net/t3697-surveillance-du-forum?highlight=surveillance+du+forum )

Donc finalement seul Pano.exe a un intérêt, mais vu le nombre de programmes annexes appelés, je me demande si ça vaut le coup d'encombrer le forum avec tout ça ?
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 21:18

Le plus facile, Panoder.bas: lancement de l'Éditeur avec le dernier source qui a été enregistré, donc en principe celui qui est en cours d'écriture/Mise au point.
Comme pour tout le reste, je m'efforce de mettre les chemins en tête du module, et ils sont forcément à adapter pour chacun:
Code:
' Lancement de l'éditeur Panoramic avec le dernier source en date: Panoder.bas
HIDE 0: MEMO 1
DIM rep$: rep$ = "C:\PANORAMIC": ' Répertoire des sources, à ajuster
DIM exe$: exe$ = "C:\PROGRA~2\PANORA~1\PANORA~1.EXE": ' chemin de l'éditeur, idem
Dir(rep$+"*.bas","/O:-D /B"): CLIPBOARD_PASTE 1
EXECUTE exe$+" "+ITEM_READ$(1,1): ' dernier source enregistré
TERMINATE

SUB Dir(rep$, arg$)
DIM_LOCAL prg_a$, s_cr$, b_at$
prg_a$ = "CMD.exe /c DIR " + rep$ + " " + arg$ + " | clip"
s_cr$ = "C:\Vbscript.vbs": b_at$ = "C:\Bat.bat"
FILE_OPEN_WRITE 9, b_at$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' Fichier .bat
prg_a$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run "
prg_a$ = prg_a$ + CHR$(34) + b_at$ + CHR$(34) + ",0,True"
FILE_OPEN_WRITE 9, s_cr$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' script vbs
EXECUTE_WAIT "WSCRIPT.exe " + s_cr$: ' Exécution du script
FILE_DELETE b_at$: FILE_DELETE s_cr$
END_SUB
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptyVen 10 Oct 2014 - 21:28

Et le module principal: Pano.bas qui lance tous les autres modules.
Là il faut regarder de près pour mettre à jour les chemins, en tête d'abord, puis dans le sous-programme Exec, qui contient les chemins des modules appelés (Select... End_Select):
Code:
' Pano.bas
LABEL Exec, Exec1, Der, Dtver, Vers
DIM i%, lb%, lbc%, dc%, ex$, ne$, ol$, f$, h$, v$, k%, j$, m$, a$, d$, c1, c2
DIM rep$, doc$, ms$(12), pb%, db%, b%, alv%, lst%, mm%
DATA "January","February","March","April","May","June","July","August"
DATA "September","October","November","December"
FOR i% = 1 TO 12: READ ms$(i%): NEXT i%
ex$ = "C:\Progra~2\Panora~1\PANORAMIC_EDITOR.exe"
ol$ = "C:\Progra~2\Panora~1\PANORAMIC_EDITOR.old"
ne$ = "C:\Progra~2\Panora~1\PANORAMIC_EDITOR.new"
h$="http://panoramic-language.pagesperso-orange.fr/French/HELP_MAIN_FR_PART_01_REFERENCE.htm"
rep$ = "C:\PANORAMIC\"
doc$ = rep$ + "DocPano.htm"
DLL_ON "C:\PANORAMIC\KLAUS\DLLs\KGF.dll": ' pour la sub ReadFile
lb% = 180
lbc% = 120
dc% = lb%-lbc%
WIDTH 0,lb%+26: FONT_BOLD 0: BORDER_SMALL 0: COLOR 0,255,0,0
pb% = 1
b%=pb%: BUTTON b%: TOP b%,5: LEFT b%,5: WIDTH b%,lb%: CAPTION b%,"Dernier source"
lst% = 19
LIST lst%: TOP lst%,TOP(1)+25: LEFT lst%,10: WIDTH lst%,lb%-10: HEIGHT lst%,140
COLOR lst%,255,255,128: FONT_NAME lst%,"Consolas": FONT_COLOR lst%,0,0,164
ON_CLICK lst%,Der: ' sources les plus récents

b%=b%+1: BUTTON b%: TOP b%,HEIGHT(lst%)+35: LEFT b%,5: WIDTH b%,lbc%: CAPTION b%,"Éditeur"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5+dc%: WIDTH b%,lbc%: CAPTION b%,"Nouveau"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5: WIDTH b%,lbc%: CAPTION b%,"Aide (mots-clés)"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5+dc%: WIDTH b%,lbc%: CAPTION b%,"Manuel complet"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5: WIDTH b%,lbc%: CAPTION b%,"Sub's"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5+dc%: WIDTH b%,lbc%: CAPTION b%,"doc KGF.dll"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5: WIDTH b%,lbc%: CAPTION b%,"Trucs/Astuces"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5+dc%: WIDTH b%,lbc%: CAPTION b%,"Clipboard"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5: WIDTH b%,lbc%: CAPTION b%,"Forum"
b%=b%+1: BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5+dc%: WIDTH b%,lbc%: CAPTION b%,"Compilateur"
db% = b%

b%=b%+1
BUTTON b%: TOP b%,TOP(b%-1)+30: LEFT b%,5: WIDTH b%,90: HEIGHT b%,16
CAPTION b%,"Dates versions": ON_CLICK b%,Dtver
b%=b%+1: alv% = b%
ALPHA b%: TOP b%,TOP(db%)+50: LEFT b%,20: COLOR b%,255,255,128: HIDE b%
c1 = 20: c2 = c1+1
BUTTON c1: TOP c1,TOP(b%)+20: LEFT c1,5: WIDTH c1,lb%: HIDE c1
BUTTON c2: TOP c2,TOP(c1)+30: LEFT c2,5: WIDTH c2,lb%: HIDE c2

FOR i% = pb% TO db%: ON_CLICK i%,Exec: NEXT i%
FOR i% = c1 TO c2: ON_CLICK i%,Exec: NEXT i%
HEIGHT 0,TOP(c2)+65

mm% = 30: MEMO mm%: HIDE mm%: WIDTH mm%,400
Dir(rep$+"*.bas","/O:-D"): CLIPBOARD_PASTE mm%
CLIPBOARD_STRING_COPY "": ' nettoyage du clipboard
FOR i% = 6 TO 80
    m$ = MID$(ITEM_READ$(mm%,i%),37,50): ' module
    IF i% = 6 THEN CAPTION 1,"Dernier: "+m$
    d$ = LEFT$(ITEM_READ$(mm%,i%),5): ' date
    IF LEN(m$)<19 THEN m$ = m$+STRING$(19-LEN(m$)," ")
    ITEM_ADD lst%,m$+d$
NEXT i%
END
' ==============================================================================
Exec:
i% = NUMBER_CLICK: a$ = ITEM_READ$(19,1): a$ = RTRIM$(LEFT$(a$,LEN(a$)-5))
Exec1:
SELECT i%
    CASE 1: EXECUTE ex$ + " " + rep$ + a$: ' dernier
    CASE 2: EXECUTE "C:\PANORAMIC\LanceEdi.exe": ' Editeur
    CASE 3: EXECUTE ex$
    CASE 4: EXECUTE "C:\PANORAMIC\Aide.exe": ' aide
    CASE 5: IF FILE_EXISTS(doc$) = 0
                PageWeb(h$,doc$): ' téléchargement du manuel de référence
            END_IF
            EXECUTE doc$
    CASE 6: EXECUTE "C:\PANORAMIC\Recsub.exe": ' sub's
    CASE 7: EXECUTE "C:\PANORAMIC\Acrobat_KGF.exe"
    CASE 8: EXECUTE "C:\PANORAMIC\TrucAstu.exe": ' trucs/astuces
    CASE 9: EXECUTE "C:\PANORAMIC\Clipb.exe": ' clipboard
    CASE 10: EXECUTE "http://www.panoramic.1fr1.net/": ' forum
    CASE 11: EXECUTE "C:\PANORAMIC\COMPILATEUR\PANORAMIC_COMPILER_EDITOR.exe": ' Compilateur
    CASE 20: EXECUTE_WAIT "CMD.exe /C COPY "+ne$+" "+ex$
    CASE 21: EXECUTE_WAIT "CMD.exe /C COPY "+ol$+" "+ex$
END_SELECT
IF i% < c1 THEN WAIT 1500: TERMINATE
IF i% = 20 OR i%=21 THEN WAIT 1500: TERMINATE
f$ = ex$: GOSUB Vers: CAPTION 10," Version: "+v$+" "
RETURN
' ==============================================================================
Der:
a$ = ITEM_INDEX$(19): a$ = RTRIM$(LEFT$(a$,LEN(a$)-5))
i% = 1: GOTO Exec1
' ==============================================================================
Dtver:
SHOW alv%: CAPTION alv%,"  mom...    ": DISPLAY
f$ = ex$: GOSUB Vers: CAPTION alv%," Version actuelle: "+v$+" ": DISPLAY
SHOW c1: SHOW c2
f$ = ne$: GOSUB Vers: CAPTION c1,"NEW: V "+v$+" -"+d$+"-": DISPLAY
f$ = ol$: GOSUB Vers: CAPTION c2,"OLD: V "+v$+" -"+d$+"-": DISPLAY
RETURN
' ==============================================================================
Vers:
' version Panoramic Editor
d$ = ""
IF FILE_EXISTS(f$) = 0 THEN v$= "non trouvée !": RETURN
ReadFile(f$)
k% = INSTR(buf$,"PANORAMIC Release ")
v$ = MID$(buf$, k%+18, 8)
a$ = MID$(buf$, k%+28,30): k% = INSTR(a$, " ")
m$ = LEFT$(a$,k%-1)
FOR i% = 1 TO 12
    IF LEFT$(a$,k%-1) = ms$(i%) THEN EXIT_FOR
NEXT i%
m$ = RIGHT$("0"+STR$(i%),2)
a$ = MID$(a$,k%+1,100)
k%=INSTR(a$,", "): j$=RIGHT$("0"+LEFT$(a$,k%-1),2): a$=MID$(a$,k%+2,4)
d$ = j$+"/"+m$+"/"+a$
RETURN
' ==============================================================================
SUB ReadFile(f$)
' Lecture d'un fichier entier dans une chaîne buf$ (appel de KGF.dll)
IF VARIABLE("buf$") = 0 THEN DIM buf$
DIM_LOCAL rs%
FILEBIN_OPEN_READ 9, f$: buf$ = STRING$(FILEBIN_SIZE(9)," "): FILEBIN_CLOSE 9
rs% = DLL_CALL2("ReadBinaryFileToString",ADR(f$),ADR(buf$))
END_SUB
' ==============================================================================
SUB Dir(rep$, arg$)
DIM_LOCAL prg_a$, s_cr$, b_at$
prg_a$ = "CMD.exe /c DIR " + rep$ + " " + arg$ + " | clip"
s_cr$ = "C:\Vbscript.vbs": b_at$ = "C:\Bat.bat"
FILE_OPEN_WRITE 9, b_at$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' Fichier .bat
prg_a$ = "CreateObject(" + CHR$(34) + "Wscript.Shell" + CHR$(34) + ").Run "
prg_a$ = prg_a$ + CHR$(34) + b_at$ + CHR$(34) + ",0,True"
FILE_OPEN_WRITE 9, s_cr$: FILE_WRITELN 9, prg_a$: FILE_CLOSE 9: ' script vbs
EXECUTE_WAIT "WSCRIPT.exe " + s_cr$: ' Exécution du script
FILE_DELETE b_at$: FILE_DELETE s_cr$
END_SUB
' ==============================================================================
SUB PageWeb(url$,frec$)
' capture d'une page web ou d'un fichier quelconque (image) donné(e) par son url
DIM_LOCAL pwa$, fscr$, gui$: gui$ = CHR$(34)
fscr$ = "C:\Temp\Scrdnl.vbs": ' script vbs (temporaire)
DATA "Debscr"
DATA "HTTPDownload "+gui$+URL$+gui$+", "+gui$+frec$+gui$
DATA "Sub HTTPDownload( URL, Path )"
DATA "Dim i, objFile, objFSO, objHTTP, strFile, strMsg"
DATA "Const ForReading = 1, ForWriting = 2, ForAppending = 8"
DATA "Set objFSO = CreateObject( "+gui$+"Scripting.FileSystemObject"+gui$+" )"
DATA "strFile = Path"
DATA "Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )"
DATA "Set objHTTP = CreateObject( "+gui$+"WinHttp.WinHttpRequest.5.1"+gui$+" )"
DATA "objHTTP.Open "+gui$+"GET"+gui$+", URL, False"
DATA "objHTTP.Send"
DATA "For i = 1 To LenB( objHTTP.ResponseBody )"
DATA "  objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )"
DATA "Next"
DATA "objFile.Close( )"
DATA "End Sub"
DATA "Finscr"
RESTORE: READ pwa$: WHILE pwa$ <> "Debscr": READ pwa$: END_WHILE
FILE_OPEN_WRITE 9, fscr$
READ pwa$: WHILE pwa$ <> "Finscr": FILE_WRITELN 9, pwa$: READ pwa$: END_WHILE
FILE_CLOSE 9
EXECUTE_WAIT "WSCRIPT.exe " + fscr$: ' exécution du script
FILE_DELETE fscr$: ' nettoyage
END_SUB
' ==============================================================================

On verra pour la suite si vous n'êtes pas encore découragés... Very Happy
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 11:14

Salut à tous,

Bon j'ai récupéré "surveille_forum.exe".
il a fallu que je change les chemins pour "Temp" car sous W8 c'est "C:\Windows\TEMP\....".
Et ensuite, il a fallu que je relise le sujet, car çà ne marchait pas.
J'ai fait les corrections et c'est OK. J'ai aussi modifier width et height de form 0 pour W8.

J'ai ajouté une petite amélioration pour éviter d'avoir un Panoramic.exe qui tourne même après la fermeture.
Très simple:
- ajouter un label fin
- ajouter une ligne ON_CLOSE 0,fin
- puis faire le sous-programme fin (avec terminate)

Il me reste à tester.

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 11:29

c'est très intéressant tout ça mais pas facile a mettre en œuvre d'après ce que je vois.

Je vais tenter de regarder ça...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 11:36

@pour_les W8

Voilà le code "surveille_forum.exe". pour Windows 8.

Code:
REM ============================================================================
REM              Surveillance du forum Panoramic
REM                        AUTEUR : JL35
rem                  Reformulé par : papydall
REM ============================================================================
dim csp$(20),crm$(20)
Init()
Make_Script()
GUI()
end
rem ============================================================================
SUB Init()
    LABEL clic , fin
    DIM url$,frec$,rect$,fref$,recf$,f$,a$,b$,i%,k%,m%,cat$,suj$,mes$,der$,aut$,gui$
DIM s$,ba$,cr$,k1%,ns%

    DIM Titref$(20),Datref$(20),Titact$(20),Datact$(20),nref%,nact%,tr%,nl%,wf%,hf%,n%
    DIM lf%,tp%,srv%,df%,fscr$

    url$ = "http://panoramic.1fr1.net/"
    frec$ = "C:\Windows\TEMP\Forum.htm"
    rect$ = "C:\Windows\TEMP\Forum.txt"
    fref$ = "C:\Windows\TEMP\Forum_ref.htm"
    recf$ = "C:\Windows\TEMP\Forum_ref.txt"
    ' C:\Windows\System32
    fscr$ = "C:\Windows\Temp\Scrdnl.vbs": ' script vbs
    gui$ = CHR$(34)
END_SUB
REM ============================================================================
' Script vbs de lecture de la page web url$ dans un fichier html (frec$)
DATA "Debscr"
DATA "HTTPDownload "+gui$+url$+gui$+", "+gui$+frec$+gui$
DATA "Sub HTTPDownload( URL, Path )"
DATA "Dim i, objFile, objFSO, objHTTP, strFile, strMsg"
DATA "Const ForReading = 1, ForWriting = 2, ForAppending = 8"
DATA "Set objFSO = CreateObject( "+gui$+"Scripting.FileSystemObject"+gui$+" )"
DATA "strFile = Path"
DATA "Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True )"
DATA "Set objHTTP = CreateObject( "+gui$+"WinHttp.WinHttpRequest.5.1"+gui$+" )"
DATA "objHTTP.Open "+gui$+"GET"+gui$+", URL, False"
DATA "objHTTP.Send"
DATA "For i = 1 To LenB( objHTTP.ResponseBody )"
DATA "  objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) )"
DATA "Next"
DATA "objFile.Close( )"
DATA "End Sub"
DATA "Finscr"
REM ============================================================================
SUB Make_Script()
    RESTORE: READ a$: WHILE a$ <> "Debscr": READ a$: END_WHILE
    FILE_OPEN_WRITE 9, fscr$
        READ a$: WHILE a$ <> "Finscr": FILE_WRITELN 9, a$: READ a$: END_WHILE
    FILE_CLOSE 9
END_SUB
REM ============================================================================
SUB GUI()
    WIDTH 0,650: HEIGHT 0,440: BORDER_SMALL 0: COLOR 0,190,255,255
    font_name 0,"Arial": font_bold 0: font_color 0,0,0,255
    CAPTION 0," SURVEILLANCE FORUM" : on_close 0,fin

    MEMO 5: HIDE 5: WIDTH 5,400: HEIGHT 5,300: ' memo de manoeuvre
    ALPHA 11: TOP 11,5: LEFT 11,100: CAPTION 11," PRÉCÉDENT ": COLOR 11,255,255,0
    ALPHA 12: TOP 12,5: LEFT 12,400: CAPTION 12," ACTUEL ": COLOR 12,255,255,0
    BUTTON 15: TOP 15,0: LEFT 15,520: WIDTH 15,100: CAPTION 15,"Se connecter"
    ON_CLICK 15,clic : ' Connect
    ALPHA 100: TOP 100,HEIGHT(0)-70

    CAPTION 100,"Lancer la surveillance périodique, délai:                minutes"
    SPIN 101: TOP 101,TOP(100)-3: LEFT 101,225: WIDTH 101,40
    MIN 101,1: MAX 101,100: POSITION 101,10
    BUTTON 102: TOP 102,TOP(101): LEFT 102,LEFT(101)+90: WIDTH 102,140
    CAPTION 102,"Lancer ou relancer"
    ON_CLICK 102,clic : ' Lancer
    BUTTON 104: TOP 104,TOP(102): LEFT 104,LEFT(102)+220: CAPTION 104,"Quitter"
    ON_CLICK 104,clic : ' Quitter

    Surveil()
    srv% = 0
END_SUB
REM ============================================================================
clic:
  select number_click
      case 15 : Connect()
      case 102 : Lancer()
      case 104 : Quitter()
  end_select
RETURN
REM ============================================================================
SUB Surveil()
    IF FILE_EXISTS(recf$) = 0
      EXECUTE_WAIT "WSCRIPT.exe " + fscr$: ' capture de la page, -> frec$ (htm)
      IF FILE_EXISTS(fref$) = 1 THEN FILE_DELETE fref$
      FILE_COPY frec$,fref$: ' fichier référence
      Html2Txt(fref$,recf$): ' conversion htm -> texte pur
      FILE_DELETE fref$
      f$ = recf$: Transfert()
      m% = 2: nref% = nact%: IF srv% = 0 THEN Crelist()
      FOR i% = 60 TO 60+nact%: CLEAR i%: NEXT i%
      FILE_OPEN_WRITE 1,recf$
      ITEM_ADD 20, "  **********  "+DATE$+"  à  " +LEFT$(TIME$,5)+"  **********"
      FILE_WRITELN 1, "  **********  "+DATE$+"  à  " +LEFT$(TIME$,5)+"  **********"
      FOR i% = 1 TO nact%
          ITEM_ADD 20+i%,Titact$(i%): FILE_WRITELN 1,Titact$(i%)
          ITEM_ADD 20+i%,Datact$(i%): FILE_WRITELN 1,Datact$(i%)
      NEXT i%
      FILE_CLOSE 1
      MESSAGE "Référence créée !"
    ELSE
      FILE_OPEN_READ 1,recf$
      FILE_READLN 1,b$: ' date/heure
      nref% = 0
      WHILE FILE_EOF(1) = 0
          FILE_READLN 1, a$
          IF LEFT$(a$,1) = CHR$(187)
              nref% = nref%+1: Titref$(nref%) = a$
          ELSE
              Datref$(nref%) = a$
          END_IF
      END_WHILE
      FILE_CLOSE 1
      m% = 1: IF srv% = 0 THEN Crelist()
      FOR i% = 20 TO 20+nref%: CLEAR i%: NEXT i%
      ITEM_ADD 20,b$: ' date/heure de la référence
      FOR i% = 1 TO nref%
          ITEM_ADD 20+i%,Titref$(i%): ITEM_ADD 20+i%,Datref$(i%)
      NEXT i%
    ' téléchargement de l'état actuel:
      EXECUTE_WAIT "WSCRIPT.exe " + fscr$: ' capture de la page actuelle -> frec$
      Html2Txt(frec$,rect$): ' conversion htm -> texte pur
      FILE_DELETE frec$
      f$ = rect$: Transfert()
      FILE_DELETE rect$
      m% = 2: IF srv% = 0 THEN Crelist()
      FOR i% = 60 TO 60+nact%: CLEAR i%: NEXT i%
      FILE_OPEN_WRITE 1,recf$: ' devient la nouvelle référence
      ITEM_ADD 60, "  **********  "+DATE$+"  à  " +LEFT$(TIME$,5)+"  **********"
      FILE_WRITELN 1, "  **********  "+DATE$+"  à  " +LEFT$(TIME$,5)+"  **********"
      FOR i% = 1 TO nact%
          ITEM_ADD 60+i%,Titact$(i%): FILE_WRITELN 1,Titact$(i%)
          ITEM_ADD 60+i%,Datact$(i%): FILE_WRITELN 1,Datact$(i%)
      NEXT i%
      FILE_CLOSE 1
    ' comparaison de l'état actuel avec le précédent
      Compare()
    END_IF
END_SUB
REM ============================================================================
' nettoyage du fichier texte, transfert dans les tables
SUB Transfert()
    FILE_OPEN_READ 1,f$
    nact% = 0
    WHILE FILE_EOF(1) = 0
        FILE_READLN 1, a$: a$ = TRIM$(a$)
        IF a$ <> ""
            IF INSTR(a$,"Derniers sujets") > 0
                FILE_READLN 1, a$: a$ = TRIM$(a$)
                WHILE INSTR(a$,"Navigation") = 0
                    k% = INSTR(a$,CHR$(187))
                    IF k% > 0: ' caractère >>
                        a$ = MID$(a$,k%,LEN(a$))
                        nact% = nact%+1
                        Titact$(nact%) = a$
                        FILE_READLN 1,a$
                        Datact$(nact%) = a$
                    END_IF
                    FILE_READLN 1,a$: WHILE TRIM$(a$)="": FILE_READLN 1,a$: END_WHILE
                END_WHILE
            END_IF
        END_IF
    END_WHILE
    FILE_CLOSE 1
END_SUB
REM  ===========================================================================
SUB Crelist()
    wf% = 310: hf% = 35
    IF m% = 1
      nl% = 20: lf% = 0: n% = nref%
    ELSE
      nl% = 60: lf% = wf%: n% = nact%
    END_IF
    LIST nl%: TOP nl%, 20: LEFT nl%,lf%: WIDTH nl%,wf%: HEIGHT nl%,20
    COLOR nl%,180,255,180: FONT_SIZE nl%,10: FONT_COLOR nl%,0,0,0
    tp% = 40
    FOR i% = 1 TO n%
        k% = nl%+i%
        LIST k%: TOP k%,tp%: LEFT k%,lf%: WIDTH k%,wf%: HEIGHT k%,hf%
      tp% = tp% + hf%
    NEXT i%
    i% = tp%+40: IF i%>HEIGHT(0) THEN HEIGHT 0,i%: ' ajuste fenêtre principale
END_SUB
REM ============================================================================
SUB Compare()
    df% = 0
    FOR i% = 1 TO nact%
        a$ = Titact$(i%): b$ = Datact$(i%): tr% = 0
        FOR k% = 1 TO nref%
            IF a$ = Titref$(k%)
              tr% = 1
              IF b$ <> Datref$(k%): ' sujet existant, nouveau message
                  COLOR 60+i%,255,255,0
                  df% = 1
              END_IF
            END_IF
        NEXT k%
        IF tr% = 0: ' nouveau sujet
          COLOR 60+i%,255,255,0: ' en jaune
          df% = 1
        END_IF
    NEXT i%
END_SUB
REM ============================================================================
SUB Connect()
    EXECUTE url$
    pause 2000
    TERMINATE
END_SUB
REM ============================================================================
SUB Lancer()
    ' Pendant la veille, le programme est minimisé. Pour le stopper, cliquer sur
    ' le caption en bas à gauche, puis 'Restaurer', puis 'Quitter'
    MINIMIZE 0
    srv% = 1
    WHILE srv% = 1
      i% = 60000*POSITION(101): ' délai, en ms
      ' k% = i%/30000
      ' FOR i% = 1 TO k%
      '    pause 30000 : '  maximum autorisé
      ' NEXT i%
      k% = i%/2000
      FOR i% = 1 TO k%
          pause 2000 : ' 2s de pause
      NEXT i%
      CAPTION 0,"SURVEILLANCE :  ACTIVE"
      Surveil()
      IF df% = 1 THEN NORMAL 0: srv% = 0: EXIT_WHILE
      CAPTION 0,"SURVEILLANCE :  VEILLE"
    END_WHILE
END_SUB
REM ============================================================================
SUB Quitter()
    TERMINATE
END_SUB
fin:
  TERMINATE
return
REM ============================================================================
SUB Html2Txt(f$,ft$)
' conversion approximative fichier html f$ en fichier texte brut dans ft$
    cr$ = CHR$(13)+CHR$(10): ' saut de ligne
' DATA "Carspe": ' caractères spéciaux, à remplacer (à compléter éventuellement)
' DATA "&nbsp;","<",">","&amp;","","&raquo;","F": ' caractère à remplacer
' DATA " ","<",">","&",CHR$(34),CHR$(13)+CHR$(10)+CHR$(187): ' caractère(s) de remplacement
DATA "Carspe": ' caractères spéciaux, à remplacer (à compléter éventuellement)
DATA "&nbsp;","&lt;","&gt;","&amp;","&quot;","&raquo;","F": ' caractère à remplacer
DATA " ","<",">","&",CHR$(34),CHR$(13)+CHR$(10)+CHR$(187): ' caractère(s) de remplacement


    ns% = 0: RESTORE: READ a$: WHILE a$<>"Carspe": READ a$: END_WHILE: READ a$
    WHILE a$<>"F"
        ns%=ns%+1 : csp$(ns%) = a$
        READ a$
    END_WHILE
    FOR k% = 1 TO ns%: READ a$: crm$(k%) = a$: NEXT k%
' 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
' 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
' ==============================================================================

A+
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 11:41

@Minibug,

Je crois que tu es sous W7, si c'est le cas, tu charges le code sur le lien indiqué par JL35 et tu fais une recherche de """ pour en supprimer un. il y a aussi 3 lignes à remplacer (fourni par Papydall).
C'est en page 3 du sujet.

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 11:57

merci Jean Claude, je vais regarder...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 12:16

Salut Jean-Claude,
Je suis sous W7, mais je ne vois pas bien pourquoi le répertoire TEMP sous W8 devrait être sous Windows et non pas directement sous C:\ ? ce n'est pas toi qui choisis ? même si Windows s'en est créé un sous C:\Windows, tu peux très bien t'en créer un à toi, perso, sous C: non ?
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 12:47

@JL35,
Oui je pourrais en créer un, mais puisqu'il existe déjà autant l'utiliser.

A+
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 13:17

C'est ton droit le plus strict ! je craignais simplement que ce ne soit une obligation quelconque ce W8 (parmi d'autres), par exemple pour l'utilisateur de ne pas pouvoir créer un répertoire sous la racine, mais ça me paraissait gros quand même.

@Minibug, si tu as des questions...
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7007
Age : 73
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 13:40

Jean Claude a écrit:
J'ai ajouté une petite amélioration pour éviter d'avoir un Panoramic.exe qui tourne même après la fermeture.
Très simple:
- ajouter un label fin
- ajouter une ligne ON_CLOSE 0,fin
- puis faire le sous-programme fin (avec terminate)

Il me reste à tester.


J’avoue que je ne comprends pas : Il y a bien le bouton Quitter pour TERMINATE le programme, non ?
Alors    Question  Question  Question   ce ON_CLOSE 0,fin   Question Question Question
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 14:12

@Papydall,

Je retire une partie de ce que j'ai affirmé avant:
Jean Claude a écrit:
J'ai ajouté une petite amélioration pour éviter d'avoir un Panoramic.exe qui tourne même après la fermeture.
Cela se produit uniquement qu'après voir créer l'exécutable.

MAIS:
Oui, il y a ce bouton "Quitter", mais quand le programme est réduit (en bas à gauche de l'écran), parce qu'on a cliquer sur le bouton "Lancer ou relancer" on ne peut pas directement le fermer (pour la simple et bonne raison que ce bouton n'est plus visible).
L'ajout de ON_CLOSE le permet.

geek
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 14:26

@JL35,

Toujours concernant "surveille_forum.bas"
J'ai eu un message d'erreur sur un objet non créé.
Code:
      ITEM_ADD 20, "  **********  "+DATE$+"  à  " +LEFT$(TIME$,5)+"  **********"

et effectivement, je ne vois pas la création de l'objet dans la sub GUI.

Cela dit le programme fonctionne quand même ???? drunken

A+
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 17:06

Création dynamique: regarde la sub Crelist() qui crée un List 20 (ou 60) ...
(j'étais au resto, on ne peut pas être partout Very Happy )

Pour fermer quand il est en réduit, c'est simple: tu cliques dessus, 'Restaurer', et là 'Quitter', c'est simple.
Comme ça on ne ferme pas sans avoir regardé.
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 20:39

JL35 a écrit:
Pour fermer quand il est en réduit, c'est simple: tu cliques dessus, 'Restaurer', et là 'Quitter', c'est simple.
Comme ça on ne ferme pas sans avoir regardé.

Oui, mais çà c'est pour les JCPVQMO ("JeCliquePlusViteQueMonOmbre") Very Happy

Admets, quand même, que c'est plus logique que le programme s'arrête si on clique sur la croix rouge.

A+
Revenir en haut Aller en bas
JL35




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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 21:19

Dans ce cas précis, je trouve que ça se discute... même pour d'autres que les Lucky Luke du clic.
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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 21:24

BOF !

Sleep
Revenir en haut Aller en bas
mindstorm

mindstorm


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

Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic EmptySam 11 Oct 2014 - 21:50

merci JL35
c'est là ou l on mesure le chemin qu il reste a parcourir!
Revenir en haut Aller en bas
Contenu sponsorisé





Mon interface Panoramic Empty
MessageSujet: Re: Mon interface Panoramic   Mon interface Panoramic Empty

Revenir en haut Aller en bas
 
Mon interface Panoramic
Revenir en haut 
Page 1 sur 4Aller à la page : 1, 2, 3, 4  Suivant
 Sujets similaires
-
» Domotique avec Panoramic : Interface RS232 TTL
» Interface avec Outlook
» extension de l'interface avec les DLL
» extension de l'interface avec les DLL - bis
» Interface de puissance pour la régie lumière 8 canaux.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: