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 navale SM
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

 

 FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG

Aller en bas 
4 participants
AuteurMessage
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 10:48

OPEN/SAVE_DIALOG:
Dans l'edit "nom de fichier", le programmeur ne peut pas écrire/proposer un nom de fichier par défaut.
Proposition de nom de commande : FILE_DIALOG N,T ,ou 'N' serait le numéro de l'OPEN/SAVE_DIALOG et 'T' la proposition de nom de fichier par défaut.

Dans l'edit "fichiers de type", l'utilisateur d'un OPEN/SAVE_DIALOG peut filtrer une liste de fichier, mais le programmeur ne sait pas quel type de fichier a été choisi par l'utilisateur.
Proposition de nom de commande : T=FILTER_DIALOG$(N) ,ou 'N' serait le numéro de l'OPEN/SAVE_DIALOG et 'T' le filtre (format string) lu dans l'edit "fichiers de type".

Exemple dans un code:
Code:
dim a$
save_dialog 1 : filter 1,"Panoramic files(*.bas)|*.bas|Backup files(*.bak)|*.bak|Picture files(*.bmp)|*.bmp|" : a$=file_name$(1)
'
' Test : saisir 'azert.bmp' dans l'edit "nom de fichier" du SAVE_DIALOG, puis cliquez sur "enregistrer"
'
if FILTER_DIALOG$(1)<>file_extract_extension$(a$) then print "Erreur, le filtre dans l'edit "+chr$(34)+"type de fichier"+chr$(34)+" est .bas"
END
' émuler le choix utilisateur dans l'edit "type de fichier"
fnc FILTER_DIALOG$(N)
  result ".bas"
end_fnc


Dernière édition par silverman le Mar 27 Fév 2018 - 19:00, édité 2 fois
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: re   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 14:15

Tu peux extraire l' extension du retour file_name$ par file_extract_extension$...

file$=file_name$(OD%)
ext$=file_extract_extension$(file$)


...j'dis çà mais j'dis rien.
Laughing
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 15:40

Ce n'est pas extraire l'extension du retour file_name$ qui va solutionner le pb, pas du tout.
Supposons, tu as un SAVE_DIALOG qui te permet de sauvegarder en "*.bas" et "*.txt"
Par défaut, le filtre "fichiers de type" est positionné sur "*.bas"
Maintenant si l'utilisateur écrit dans l'edit "nom de fichier" d'un SAVE_DIALOG "monfichier.txt" alors que le filtre selectionné est "*.bas", comment fais tu pour avertir l'utilisateur que l'extension du fichier ne concorde pas avec le filtre? S'il voulait enregistrer "monfichier.bas" mais qu'il s'est trompé en écrivant?
Pour autant, les 2 extensions de fichiers sont valides puisque le SAVE_DIALOG l'autorise et propose de choisir entre les 2...
Revenir en haut Aller en bas
Klaus

Klaus


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

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 18:09

Le teste systématiquement la chaîne retournée par FILE_NAME$.
1. si c'est "_", alors abandon
2. j'extraie l'extension par FILE_EXTRACT_EXTENSION
3. je vérifie l'extension si elle est présente (!!!) et si elle est vraiment valide
4. le cas échéant, je teste l'existence du fichier avant toute utilisation pour une ouverture
Et à chaque anomalie, je réagis selon les circonstances.

C'est indispensable. Car en-dehors de la sélection d'un fichier dans la liste qui s'affiche, l'utilisateur peut saisir lui-même un nom de fichier, et là, il peut rentrer n'importe quoi... essaie - tu seras surpris !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 18:23

Ma demande concerne le cas ou l'utilisateur peut saisir lui-même un nom de fichier.
Le nom de fichier saisie par l'utilisateur peut avoir une extension différente de celle du filtre de l'edit "type" (ou "fichiers de type"). Il n'y a aucun moyen de vérifier le filtre choisi dans un open/save_dialog.
Revenir en haut Aller en bas
Klaus

Klaus


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

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 18:36

Ben non, justement. Techniquement, ce n'est pas possible puisque Windows laisse passer cela. D'où tous mes tests tels qu'indiqués ci-dessus...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 27 Fév 2018 - 18:46

Ce sera plus clair comme ça:
Code:
dim a$
save_dialog 1 : filter 1,"Panoramic files(*.bas)|*.bas|Backup files(*.bak)|*.bak|Picture files(*.bmp)|*.bmp|" : a$=file_name$(1)
'
' Test : saisir 'azert.bmp' dans l'edit "nom de fichier" du SAVE_DIALOG, puis cliquez sur "enregistrer"
'
if FILTER_DIALOG$(1)<>file_extract_extension$(a$) then print "Erreur, le filtre dans l'edit "+chr$(34)+"type de fichier"+chr$(34)+" est .bas"
END
' émuler le choix utilisateur dans l'edit "type de fichier"
fnc FILTER_DIALOG$(N)
  result ".bas"
end_fnc
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2381
Date d'inscription : 28/05/2007

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 6 Mar 2018 - 14:38

OK.
Je vais coder FILE_DIALOG N,T avec:
N qui est le numéro d'un OPEN_DIALOG, SAVE_DIALOG, OPEN_DIALOG_PIC, SAVE_DIALOG_PIC,
T qui est une proposition de nom de fichier par défaut.

_________________
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG EmptyMar 6 Mar 2018 - 19:13

Excellent, merci jack Very Happy
Y aura t-il le moyen de récupérer le 'nFilterIndex' de la structure 'OPENFILENAME' après l'appui sur 'ok' d'un dialog? En effet, puisque l'on peut imposer un filtre via la commande 'FILTER N,T' il est possible de retrouver ce filtre en l'extrayant de T, à partir de son numéro d'index.
Obtenir l'index semble plus simple à coder qu'une fonction du type 'T=FILTER_DIALOG$(N)' puisque là il s'agit juste de lire un dword dans la structure 'OPENFILENAME' après l'appui sur 'ok' du dialog.
Revenir en haut Aller en bas
Contenu sponsorisé





FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty
MessageSujet: Re: FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG   FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG Empty

Revenir en haut Aller en bas
 
FILE_DIALOG N,T et FILTER_DIALOG$(N) pour OPEN/SAVE_DIALOG
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» logiciel open source pour les images vectorielles.
» open dir
» open dialog
» Open Icon Library
» Lecteur PDF open source léger pratique.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: