FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» A propos des attributs de fichier
par Oscaribout Aujourd'hui à 1:53

» Problème de math
par Marc37 Hier à 23:04

» Problème de math
par braveen Hier à 21:40

» I Love You
par papydall Hier à 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Hier à 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 deux petites subs

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



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

MessageSujet: deux petites subs   Dim 5 Fév 2017 - 17:28

Deux petites subs du dimanche, histoire de causer...
Peut-être pas d'un intérêt puissant, mais ce sont des fonctions dont j'ai eu besoin dans un programme.

1) Liste des programmes d'application lancés au démarrage (liste renvoyée dans le presse-papier):
Code:
SUB Demarrage()
  ' Liste des programmes lancés au démarrage -> clipboard
  DIM_LOCAL r$
  EXECUTE_WAIT "cmd.exe /c hostname | clip"
  r$ = TRIM$(CLIPBOARD_STRING_PASTE$): ' nom de l'ordinateur: PC-xxx ou xxx-PC
  IF INSTR(r$,"-PC") >0 THEN r$ = LEFT$(r$,LEN(r$)-3)
  IF INSTR(r$,"PC-") >0 THEN r$ = RIGHT_POS$(r$,4)
  r$ = "C:\Users\"+r$+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
  EXECUTE_WAIT "cmd.exe /c DIR /B "+CHR$(34)+r$+CHR$(34)+"*.* | clip"
END_SUB

2) Trouver le répertoire de téléchargement de Firefox (ça doit pouvoir se faire pour les autres navigateurs, mais je ne peux pas tester...). Pareil, donnée renvoyée dans le presse-papier.
Code:
SUB Rep_Telechar()
' Chemin de téléchargement défini dans Firefox, rendu dans le clipboard
DIM_LOCAL r$,sq$,f$,a$,rd$,k%
EXECUTE_WAIT "cmd.exe /c hostname | clip"
a$ = TRIM$(CLIPBOARD_STRING_PASTE$): ' nom de l'ordinateur: PC-xxx ou xxx-PC
IF INSTR(a$,"-PC") >0 THEN a$ = LEFT$(a$,LEN(a$)-3)
IF INSTR(a$,"PC-") >0 THEN a$ = RIGHT_POS$(a$,4)
r$ = "C:\Users\"+a$+"\AppData\Roaming\Mozilla\Firefox\Profiles\"
IF DIR_EXISTS(r$) = 0 THEN CLIPBOARD_STRING_COPY "": EXIT_SUB
sq$ = "browser.download.dir": ' séquence cherchée
EXECUTE_WAIT "cmd.exe /c DIR /B /A:D "+r$+"bu* | clip"
r$ = r$+TRIM$(CLIPBOARD_STRING_PASTE$)+"": f$ = r$+"prefs.js": rd$ = ""
FILE_OPEN_READ 1,f$
    WHILE FILE_EOF(1) = 0
        FILE_READLN 1,a$: k% = INSTR(a$,sq$)
        IF k%>0
            a$ = RIGHT_POS$(a$,k%+LEN(sq$)+4): k% = INSTR(a$,CHR$(34))
            rd$ = LEFT$(a$,k%-1)+"": k% = INSTR(rd$,"")
            IF k%>0 THEN rd$ = LEFT$(rd$,k%)+RIGHT_POS$(rd$,k%+2)
            EXIT_WHILE
        END_IF
    END_WHILE
FILE_CLOSE 1
CLIPBOARD_STRING_COPY rd$
END_SUB

Remarque: pour ces deux subs j'ai eu besoin de connaître le nom du pc, pour définir le répertoire:
C:\Users\[Nom]\AppData... etc ...
J'ai fait ça de manière un peu empirique avec la commande hostname mais est-ce que ça marche dans tous les cas ?

Et je vous rassure tout de suite: même si vous ne réagissez pas, je reste ! Very Happy

EDIT:
Suite aux fantaisies du forum qui prend des libertés avec le contenu des balises code /code en faisant sauter des antislash, je précise que les lignes ci-dessous 'r$ = ...' doivent comporter des antislash (\) après C:\Users\
et à la fin après Startup\ pour la première et après Profiles\ pour la deuxième.


Dernière édition par JL35 le Dim 5 Fév 2017 - 21:47, édité 4 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 5 Fév 2017 - 18:04

Je vais réagir, l' humeur étant à la désertion...on ne sait jamais...
Je vais même sur-réagir en te disant que je vais les mettre sur le site à la prochaine mise à jour.
lol!
Bon, toutes plaisanteries mises à part, c' est intéressant de savoir comment récupérer des infos de nos machines. 
Même si je l' avoue  Embarassed, mon "travail" du moment ne m' en donne pas l' utilité tout de suite.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marc37



Nombre de messages : 457
Age : 56
Localisation : TOURS
Date d'inscription : 18/03/2014

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 18:05

Merci JL35 pour tes deux SUBs dominicales.  cheers

Chez moi, sous W10 64 bits, j’ai dû ajouter un antislash à la fin de de la ligne :

r$ = "C:\Users"+r$+"\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"

Quant à la deuxième SUB, je n’ai pas testé, j’utilise Chrome.

Bonne fin de journée !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 19:43

C'est bien de faire ces choses en Panoramic pur, quoiqu'avec le concours de CMD.

Pour les utilisateurs de KGF.dll, il y a la fonction:
Code:
res%= dll_call2("GetWindowsFolderPath",code%,adr(path$))
avec code étant une des valeurs suivantes:
Citation :
0 = Dossier Virtuel représentant le Bureau
1 = Dossier Virtuel Internet
2 = Dossier Programmes du Menu Démarrer
3 = Dossier Virtuel contenant les icônes des applications du Panneau de Contrôle
4 = Dossier Virtuel contenant les Imprimantes Installées
5 = Dossier Mes Documents
6 = Dossier Favoris
7 = Dossier Démarrage dans le dossier Programmes du Menu Démarrer
8 = Dossier Récent
9 = Dossier SendTo
10 = Dossier Virtuel contenant les fichiers de la Corbeille
11 = Dossier Menu Démarrer
12 = Dossier Virtuel contenant les fichiers du dossier Mes Documents
13 = Dossier Mes Musiques
14 = Dossier Mes Vidéos
16 = Dossier physique contenant les objets du Bureau
17 = Dossier Virtuel My Computer
18 = Dossier Virtuel Voisinage réseau
19 = Dossier physique Nethood
20 = Dossier Fonts
21 = Dossier ShellNew
22 = Dossier Menu Démarrer pour All Users
23 = Dossier Programmes dans le menu Démarrer pour All Users
24 = Dossier Démarrage dans le dossier Programmes du Menu Démarrer pour All Users
25 = Dossier Physiques du Bureau pour All Users
26 = Dossier Application Data
27 = Dossier PrintHood
28 = Dossier Application Data dans Local Settings pour le Current User
29 = NT Only
30 = NT Only
31 = Dossier Favoris pour All Users
32 = Dossier Temporary Internet Files
33 = Dossier Cookies
34 = Dossier Historiques
35 = Dossier Physique Application Data pour All users
36 = Répertoire windows
37 = Répertoire System 32 de Windows
38 = Dossier Program Files
39 = Dossier physique de My Pictures pour Current Users
40 = Dossier Physique du Current Users
41 = x86 system directory on RISC systems
42 = x86 Program Files folder on RISC systems
43 = Dossier Common files de Program Files
44 = x86 Program Files Common folder on RISC systems
45 = Dossier Physique ShellNew pour AllUsers
46 = Dossier Physique Documents pour AllUsers
47 = Dossier Physique pour l'administrative tools
48 = Dossier Start MenuPrograms Administrative Tools
49 = Dossier Virtuel contenant les connections réseaux et dial-up
53 = Dossier physique My Music pour AllUsers
54 = Dossier physique My Pictures pour AllUsers
55 = Dossier physique My Video pour AllUsers
56 = Dossier physique Ressources de Windows
57 = Dossier physique Ressources Localisées de Windows
58 =
59 = Dossier CD Burning de Windows
60 = Dossier Virtuel Work Group NetWork
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 19:45

Merci Marc pour ton retour !
En ce qui concerne l'antislash manquant, ça ne dépend pas du système d'exploitation mais d'une étourderie de ma part (ou alors c'est  le forum qui me l'a encore bouffé), donc je vais corriger ci-dessus.
C'est fait !
Et effectivement, vérification faite, l'antislash avait bien été escamoté par le forum !!!

@Klaus,
CMD est une ressource interne, présente sur toutes les machines, donc il n'y a rien à adjoindre au programme qui utilise les subs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 19:55

Citation :
CMD est une ressource interne, présente sur toutes les machines
Certes ! Je le sais bien ! Papydall aussi publie souvent des astuces pour récupérer des informations diverses, via CMD ou ou le script de Windows. C'est parfaitement valable. Je voulais juste montrer que, pour ceux qui de toutes façons utilisent KGF.dll, il y a une multitude de dossiers utilisables...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 19:58

Certes Klaus, je ne conteste pas que les fonctions de KGF.dll sont très puissantes, et incontournables dans certains cas, et je les utilise volontiers... quand je ne peux pas faire autrement !
Par exemple j'utilise régulièrement les fonctions d'impression, entre autres.

Je viens de corriger là_haut, il manquait un autre antislash dans la ligne, après 'Users', escamoté également par le forum.
Agaçant ce truc...

ET EN CORRIGEANT CELUI-CI, L'AUTRE A REDISPARU !!! Twisted Evil j'y retourne
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 21:25

Essaie de mettre un espace après le dernier antislash, avant de fermer la chaîne de caractères...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 21:33

Ça semble effectivement se produire quand un antislash est suivi d'un caractère quote.
Là tout est en ordre, après quelques avatars.

Mais si comme tu le suggères je mets un espace entre les deux, ma chaîne n'est plus correcte ! C'est un path, et si on met un nom de fichier derrière ça ne marchera pas.

De toute façon, je trouve ça incompréhensible que le contenu des balises code /code soit analysé (et éventuellement modifié comme ici) d'une façon ou d'une autre par le forum.
Je ne sais pas ce qu'on peut y faire, ça déjà été signalé un millier de fois, et... rien. Ce n'est sans doute pas du ressort de Jack, mais il doit bien y avoir moyen de remonter ça.

Et j'aurais dû y penser, dans la sub du dessous c'est pareil, il manque deux antislash !!!
J'enrage !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 5 Fév 2017 - 21:50

Pour moi, tout est bon à prendre. Wink
Certes, KGF le fait mais lorsque l' on a besoin que d' une fonction il est agréable de pouvoir alléger le dossier.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10074
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 22:00

Citation :

De toute façon, je trouve ça incompréhensible que le contenu des balises code /code soit analysé (et éventuellement modifié comme ici) d'une façon ou d'une autre par le forum.
Entièrement d'accord. C'est une véritable plaie. Mais il y a un autre moyen de s'en sortir: remplace l'antislash en fin de chaîne de caractères par un
Code:
...+chr$(92)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: deux petites subs   Dim 5 Fév 2017 - 22:59

Bien sûr c'est une solution efficace, et je l'ai déjà utilisée, mais ça veut dire qu'il faudrait y penser d'avance en déposant le programme.
Et si on n'y pense pas, quelqu'un va essayer, ça ne marche pas, il laisse tomber, c'est compréhensible.

Et je ne suis pas sûr que ce soit la seule configuration qui est interprétée à tort par le forum.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: deux petites subs   Mar 7 Fév 2017 - 0:21

Nouvelle version de la sub Demarrage (liste des programmes lancés au démarrage de Windows):
Code:
SUB Demarrage()
  ' Liste des programmes lancés au démarrage -> clipboard
  DIM_LOCAL r$
  r$ = "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
  EXECUTE_WAIT "cmd.exe /c DIR /B "+CHR$(34)+r$+CHR$(34)+"*.* | clip"
END_SUB
C'est plus simple, avec le mot-clé %USERPROFILE% plus la peine de récupérer le nom de l'ordinateur.

Je n'ose pas aller rectifier là-haut, de peur de perturber les anti-slash...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: deux petites subs   

Revenir en haut Aller en bas
 
deux petites subs
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] addition de deux variable.
» j'ai deux question qui m'intrigue
» [Résolu] Images avec des petites images lien ??
» Un ascenseur pour deux memos
» Coller deux objets

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: