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
» Panoramic et ses curiosités
par Jean Claude Aujourd'hui à 21:48

» Synedit Parameters
par Jean Claude Aujourd'hui à 21:15

» Utilitaire de suppression de fichiers
par Jean Claude Aujourd'hui à 21:11

» Code à vérifier SVP (Oups ! résolu)
par Jean Claude Hier à 21:16

» Compilateur FBPano
par jean_debord Hier à 9:56

» Bienvenue à Virtualalan !
par UltraVox Hier à 9:18

» Concours de Morpions
par jjn4 Hier à 0:04

» ShortName$(F) [Cloturé]
par papydall Mer 21 Juin 2017 - 16:19

» Remplacer espace par tiret dans noms des dossiers / fichiers
par papydall Mer 21 Juin 2017 - 15:27

» Menu personalisé avec icones et menu contextuel
par Laurent (Minibug) Mer 21 Juin 2017 - 12:44

» La liste des choses à faire ...
par Jack Mar 20 Juin 2017 - 22:49

» Quoi de neuf à propos de Goric 3D ? (@Jack)
par UltraVox Mar 20 Juin 2017 - 21:06

» Nom court et anti fenetre dos
par silverman Mar 20 Juin 2017 - 18:31

» Ludothèque Panoramic
par jjn4 Mar 20 Juin 2017 - 18:09

» Proposition à la communauté
par Yannick Mar 20 Juin 2017 - 15:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 deux petites subs

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



Nombre de messages : 5882
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 : 7824
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 : 441
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 : 9969
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 : 5882
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 : 9969
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 : 5882
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 : 9969
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 : 5882
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 : 7824
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 : 9969
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 : 5882
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 : 5882
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
-
» Virer quelques liens et deux petites phrases qui servent à rien.
» A la recherche de deux petites astuces !
» DEUX PETITES QUESTIONS
» Comment faire deux lignes d'image (petites) sur la page d'acceuil
» [Résolu] addition de deux variable.

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