Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 24 April 2018 15:23

remidici
Participant occasionnel
Date d'inscription: 4 Apr 2017
Messages: 30

QGIS: caractere d'echappement dans action

Bonjour,
je viens faire appel à l'expertise de certains pour une petite galère:

Je crée un projet sous qgis qui doit rassembler toutes les lignes de bus d'un département.
L'action que je crée est la suivante:
sur un clic gauche fait sur une ligne de bus, je souhaite que la fiche PDF des horaires de trajets s'ouvre.
Pas de problème dans le cas ou le fichier PDF contient une partie fixe et une deuxième qui comprend le numero de la ligne. J'utilise donc le champ attributaire "ligne" pour composer le texte de définition de l'action comme ceci:
"S:\...\Brochures_Horaires\MOBIBUS-[% "ligne" %].PDF"
Ici, mes lignes "MOBIBUS" ont une fiche pdf correspondante toujours nommée de la façon: MOBIBUS-216.pdf

Mon problème: certains pdf qui correspondent à d'autres lignes ont une chaine de caractères supplémentaires à la fin.
Exemple: MOBIBUS-216_villeA_villeB.pdf
J'ai donc essayé d'insérer divers caractères à la fin de ce texte mais je ne dois pas avoir les bons mots clés car je n'ai pas trouvé ma solution sur le/les forums.
Exemples essayés:

Code:

"S:\...\Brochures_Horaires\MOBIBUS-[% "ligne" %]*.PDF"
ou
"S:\.........%]'\'.pdf
ou
"S:\.........%]'\\'.pdf
ou
"S:\.........%]'/'.pdf
etc.... j'ai même essayé ça:
"S:\.........%](.)*.pdf

m'enfin; rien ne fonctionne.......

y aurait il une âme charitable qui sache où se trouve mon erreur ?

merci d'avance.

Dernière modification par remidici (Tue 24 April 2018 21:02)

Hors ligne

 

#2 Wed 25 April 2018 09:14

tevrard
Participant assidu
Date d'inscription: 23 May 2016
Messages: 319

Re: QGIS: caractere d'echappement dans action

Pour l'échappement il faut doubler le caractère et je serais parti sur une concaténation pour former ton chemin :

Code:

'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || '.pdf'

Pour un fichier classique, pour les plus complexes, il faut probablement utiliser une condition mais je ne préfère pas m'avancer sur ce sujet

Hors ligne

 

#3 Wed 25 April 2018 10:05

remidici
Participant occasionnel
Date d'inscription: 4 Apr 2017
Messages: 30

Re: QGIS: caractere d'echappement dans action

tevrard a écrit:

Pour l'échappement il faut doubler le caractère


euhhh oui mais lequel ?
je viens d'essayer :

Code:

'S:\\...\\Brochures_Horaires\\MOBIBUS-'||[% "ligne" %]||'**.pdf'
'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || '\\.pdf'
'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || '//.pdf'
'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || ''**'.pdf'
'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || ''//'.pdf'
'S:\\...\\Brochures_Horaires\\MOBIBUS-' || [% "ligne" %] || ''\\'.pdf'

mais ça fonctionne pas.....
en attendant : MERCI quand même ;-)

Hors ligne

 

#4 Fri 11 May 2018 10:13

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS: caractere d'echappement dans action

Bonjour,

A mon avis, on ne peut utiliser une expression régulière dans votre action.

Il faudrait selon moi créer une action python qui itère sur les numéros de 1 à ...
ou sur des caractères de A à ...
et ouvre tous les pdfs (ou le pdf) qu'il faut

Exemple de code python ouvrant une série de fichiers :

Code:

import os

for i in range(1,100) :
    fichierAvecNumero = 'mondossier/monfichierpdf%s.pdf'%(i)
    if os.path.isfile(fichierAvecNumero) :
        os.startfile(fichierAvecNumero)
        
for i in range(97,123) :
    fichierAvecCaractere = 'mondossier/monfichierpdf%s.pdf'%(chr(i))
    if os.path.isfile(fichierAvecCaractere) :
        os.startfile(fichierAvecCaractere)

geodata au cerema et petits billets en géomatique

Hors ligne

 

Pied de page des forums

Powered by FluxBB