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
» Form(résolu)
Contrôle validité de date Emptypar leclode Hier à 17:59

» trop de fichiers en cours
Contrôle validité de date Emptypar Marc Hier à 11:42

» Bataille navale SM
Contrôle validité de date Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Une calculatrice en une ligne de programme
Contrôle validité de date Emptypar jean_debord Ven 26 Avr 2024 - 8:01

» Gestion d'un système client-serveur.
Contrôle validité de date Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Contrôle validité de date Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Contrôle validité de date Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Contrôle validité de date Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Contrôle validité de date Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Contrôle validité de date Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Contrôle validité de date Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Contrôle validité de date Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Contrôle validité de date Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Contrôle validité de date Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Contrôle validité de date 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 : -28%
Brandt LVE127J – Lave-vaisselle encastrable 12 ...
Voir le deal
279.99 €

 

 Contrôle validité de date

Aller en bas 
5 participants
AuteurMessage
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

Contrôle validité de date Empty
MessageSujet: Contrôle validité de date   Contrôle validité de date EmptySam 6 Avr 2019 - 9:30

Bonjour à tous.
Je voudrais savoir s'il existe une commande qui contrôle si une date saisie est valide.
Genre ISDATE dans d'autres language.
Peut être quelqu'un d'entre vous a développé un sous programme a insérer dans celui que l'on écrit?
Merci par avance
Revenir en haut Aller en bas
Marc

Marc


Nombre de messages : 2380
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptySam 6 Avr 2019 - 10:16

Bonjour Lepetitmarocain !

Citation :
s'il existe une commande qui contrôle si une date saisie est valide
La commande souhaitée n'existe pas en Panoramic.

En 100% Panoramic, tu peux t'inspirer, voire utiliser le programme de Bignono/Nardo26 >> ici <<


Et bien sûr, tu as la DDL de Klaus qui permet ce contrôle.
Regarde dans l'aide de KGF, la fonction MaskEdit.
res% = DLL_call6("MaskEdit",f%,obj%, p1%,p2%,p3%,p4%)


Bonne programmation !


Dernière édition par Marc le Dim 7 Avr 2019 - 8:31, édité 1 fois
Revenir en haut Aller en bas
Yannick




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

Contrôle validité de date Empty
MessageSujet: re   Contrôle validité de date EmptySam 6 Avr 2019 - 18:03

Valide par rapport à quoi ?
C'est à toi de faire la fonction en fonction de tes critères.
Laughing
Revenir en haut Aller en bas
Jack
Admin
Jack


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

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptySam 6 Avr 2019 - 18:56

Lepetitmarocain a ouverts 3 posts sur le même sujet.
J'en ai fusionné deux et supprimé le troisième.

_________________
Contrôle validité de date Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


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

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptySam 6 Avr 2019 - 20:12

Salut tout le monde.
J’ai publié un code Panoramic contenant un script VBS qui répond parfaitement à la demande.
C’est ici

Voici un rappel du code en question :

Code:

rem ============================================================================
rem           Fonction pour vérifier si une date est valide
rem ============================================================================

message IsDateValide("32/02/2018")      : ' <--- 0
message IsDateValide("10/08/1950")      : ' <--- 1
message IsDateValide("janvier 18,2014") : ' <--- 1
message IsDateValide("01-01-01")        : ' <--- 1

end
rem ============================================================================
' Script VBS vérifiant la validité d'une date
' La fonction IsDateValide(d$) retourne la valeur
' 1 si le paramètre transmis d$ représente une date valide,
' sinon elle retourne 0
' ------------------------------------------------------------------------------
' Les différentes formes de dates suivantes sont acceptées
' Exemples d'appel :
' IsDateValide("32/02/2014")        : ' ---> 0
' IsDateValide("29/02/2016")        : ' ---> 1
' IsDateValide("29/02/2014")        : ' ---> 0
' IsDateValide("janvier 18,2014")   : ' ---> 1
' IsDateValide("18 janvier 2014")   : ' ---> 1
' IsDateValide("01-01-01")          : ' ---> 1
' IsDateValide("2014, Février, 10") : ' ---> 1
' IsDateValide("18,01,2014")        : ' ---> 1
' ------------------------------------------------------------------------------
FNC IsDateValide(d$)
    dim_local f$,retour$,resultat$,g$
    f$ = "IsDate.vbs"      : ' Fichier temporaire contenant le script
    retour$ = "retour.txt" : ' Fichier temporaire contenant le résultat de la fonction
    g$ = chr$(34)          : ' caractère guillemet
' Enregistrer le script dans le fichier temporaire f$
    FILE_OPEN_WRITE 9999, f$
    file_writeln 9999, "DIM bValeur,fso,MyFile"  : ' debut du script
    file_writeln 9999, "Set fso = CreateObject("+g$+"Scripting.FileSystemObject"+g$+")"
    file_writeln 9999, "Set MyFile = fso.CreateTextFile("+g$+retour$+g$+", True)"
    file_writeln 9999, "bValeur = IsDate("+g$+d$+g$+")"
    file_writeln 9999, "MyFile.WriteLine(bValeur)"
    file_writeln 9999, "MyFile.Close" : ' Fin du script
    FILE_CLOSE 9999             : ' Fin de l'enregistrement
    EXECUTE_WAIT f$             : ' Exécution du script
    FILE_DELETE f$              : ' supprimer le fichier du script
    file_open_read 9999,retour$ : ' ouvrir le fichier contenant la sortie du script
    file_readln 9999,resultat$  : ' Recuperer la valeur de la fonction
    file_close 9999             : ' Fermer le fichier
    file_delete retour$         : ' Supprimer le fichier temporaire
    if resultat$ = "True" then RESULT 1 : else : RESULT 0 : ' Résultat de la fonction
      
END_FNC
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

Contrôle validité de date Empty
MessageSujet: Controle validité de date   Contrôle validité de date EmptyDim 7 Avr 2019 - 15:56

Bonjour à tous.

Merci pour les réponses à cette demande

Merci Papydall pour ta réponse.

Je ne sais pas comment passer la date à, ton sous programme, sachant que les dates à contrôler sont des dates saisie dans un

KGFGRID et que je contrôle avant de mettre à jour

Merci pour ta prochaine réponse

Revenir en haut Aller en bas
papydall

papydall


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

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptyDim 7 Avr 2019 - 19:01

Salut tout le monde.
Du Vieux Tunisien au Petit Marocain  tongue
Personnellement je n’ai jamais utilisé KGFGRID  Embarassed , mais je te propose ce code pour démontrer comment contrôler une date saisie dans un objet quelconque (un EDIT pour cet exemple).
C'est à toi de l'adapter à tes besoins.

Code:

rem ============================================================================
rem          Exemple d’utilisation de la fonction IsDateValide(d$)
rem ============================================================================
label Verif
top 0,100: left 0,200 : height 0,200
alpha  10 : font_bold 10 : top 10,50 : left 10,50 : caption 10,"Saisir une date"
edit   20 : font_bold 20 : top 20,50 : left 20,150 : set_focus 20
button 30 : font_bold 30 : top 30,45 : left 30,300 : width 30,150
caption 30,"Vérifier la date" : on_click 30,verif
end
rem ============================================================================
' Vérifier la validité de la date saisie dans l'EDIT
Verif:
   if IsDateValide(text$(20)) = 0
      message "La date saisie est non valide !!!" + chr$(13) + "Veuillez recommencer SVP !"
      text 20,"" : set_focus 20
   else
      message "Validation de la date : OK"
   end_if
return
rem ============================================================================
' Script VBS vérifiant la validité d'une date
' La fonction IsDateValide(d$) retourne la valeur
' 1 si le paramètre transmis d$ représente une date valide,
' sinon elle retourne 0
' ------------------------------------------------------------------------------
' Les différentes formes de dates suivantes sont acceptées
' Exemples d'appel :
' IsDateValide("32/02/2014")        : ' ---> 0
' IsDateValide("29/02/2016")        : ' ---> 1
' IsDateValide("29/02/2014")        : ' ---> 0
' IsDateValide("janvier 18,2014")   : ' ---> 1
' IsDateValide("18 janvier 2014")   : ' ---> 1
' IsDateValide("01-01-01")          : ' ---> 1
' IsDateValide("2014, Février, 10") : ' ---> 1
' IsDateValide("18,01,2014")        : ' ---> 1
FNC IsDateValide(d$)
    dim_local f$,retour$,resultat$,g$
    f$ = "IsDate.vbs"      : ' Fichier temporaire contenant le script
    retour$ = "retour.txt" : ' Fichier temporaire contenant le résultat de la fonction
    g$ = chr$(34)          : ' caractère guillemet
' Enregistrer le script dans le fichier temporaire f$
    FILE_OPEN_WRITE 9999, f$
    file_writeln 9999, "DIM bValeur,fso,MyFile"  : ' debut du script
    file_writeln 9999, "Set fso = CreateObject("+g$+"Scripting.FileSystemObject"+g$+")"
    file_writeln 9999, "Set MyFile = fso.CreateTextFile("+g$+retour$+g$+", True)"
    file_writeln 9999, "bValeur = IsDate("+g$+d$+g$+")"
    file_writeln 9999, "MyFile.WriteLine(bValeur)"
    file_writeln 9999, "MyFile.Close" : ' Fin du script
    FILE_CLOSE 9999             : ' Fin de l'enregistrement
    EXECUTE_WAIT f$             : ' Exécution du script
    FILE_DELETE f$              : ' supprimer le fichier du script
    file_open_read 9999,retour$ : ' ouvrir le fichier contenant la sortie du script
    file_readln 9999,resultat$  : ' Recuperer la valeur de la fonction
    file_close 9999             : ' Fermer le fichier
    file_delete retour$         : ' Supprimer le fichier temporaire
    if resultat$ = "True" then RESULT 1 : else : RESULT 0 : ' Résultat de la fonction      
END_FNC
rem ============================================================================

Date Valide:


Date non valide:
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Marc

Marc


Nombre de messages : 2380
Age : 63
Localisation : TOURS (37)
Date d'inscription : 17/03/2014

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptyDim 7 Avr 2019 - 19:20

Bonsoir à tous !

Papydall a écrit:
J’ai publié un code Panoramic contenant un script VBS...

Oups ! Pardonne-moi Papydall, lors de ma première réponse j'ai oublié que tu avais partagé ce code. Embarassed

Ton code fonctionne parfaitement bien, mais... lors de la saisie d'une date au format mm/jj/aaaa,
il nous dit aussi que c'est correct.
Ainsi, il est possible de taper par exemple 12/29/2001 sans avoir de message d'erreur.

Contrôle validité de date 161
Revenir en haut Aller en bas
papydall

papydall


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

Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date EmptyLun 8 Avr 2019 - 5:39

Merci Marc pour la remarque !

Le script considère comme valide une date sous les formes suivantes (c'est le comportement normal de la fonction VBS IsDate) :
jj/mm/aaaa
jj-mm-aaaa
jj,mm,aaaa
jj mm aaaa
mm/jj/aaaa
etc.
aaaa  jj mm
etc.

Bon, j’avoue que ça peut poser problème avec la notation anglaise mm/jj/aaaa contrairement de la notation française jj/mm/aaaa.

J'ai modifié le code pour tenir compte de ces différents formats de date.
Désormais, le code accepte  seulement les formats suivants :
JJ/MM/AAAA
JJ MM AAAA
JJ,MM,AAAA
Il accepte aussi l’année sur 1, 2, 3 ou 4 chiffres, tandis que le jour et le mois, ils doivent être saisis sur deux chiffres chacun.

Code:

rem ============================================================================
rem          Exemple d’utilisation de la fonction IsDateValide(d$)
rem ============================================================================
label Verif
dim err$ : err$ = "La date saisie est non valide !!!" + chr$(13) + "Veuillez recommencer SVP !"
dim t$
top 0,100: left 0,200 : height 0,200
alpha  10 : font_bold 10 : top 10,50 : left 10,10
t$ = "Saisir une date" + chr$(13) + "sous forme : JJ/MM/AAAA" + chr$(13)
t$ = t$ + string$(18," ") + "JJ MM AAAA" + chr$(13)
t$ = t$ + string$(18," ") + "JJ,MM,AAAA"
caption 10,t$
edit   20 : font_bold 20 : top 20,55 : left 20,170 : set_focus 20
button 30 : font_bold 30 : top 30,50 : left 30,300 : width 30,150
caption 30,"Vérifier la date" : on_click 30,verif
end
rem ============================================================================
' Vérifier la validité de la date saisie dans l'EDIT
Verif:  
   if (numeric(mid$(text$(20),4,2)) = 0)
      message err$ : text 20,"" : set_focus 20 : return
   end_if
   if (val(mid$(text$(20),4,2)) > 12) or IsDateValide(text$(20)) = 0
      message err$ : text 20,"" : set_focus 20
   else
      message "Validation de la date : OK"
   end_if
return
rem ============================================================================
' Script VBS vérifiant la validité d'une date
' La fonction IsDateValide(d$) retourne la valeur
' 1 si le paramètre transmis d$ représente une date valide,
' sinon elle retourne 0
' ------------------------------------------------------------------------------
' Les différentes formes de dates suivantes sont acceptées
' Exemples d'appel :
' IsDateValide("32/02/2014")        : ' ---> 0
' IsDateValide("29/02/2016")        : ' ---> 1
' IsDateValide("29/02/2014")        : ' ---> 0
' IsDateValide("12/29/2001")        : ' ---> 0
' IsDateValide("01-01-01")          : ' ---> 1
' IsDateValide("18,01,2014")        : ' ---> 1
FNC IsDateValide(d$)
    dim_local f$,retour$,resultat$,g$
    f$ = "IsDate.vbs"      : ' Fichier temporaire contenant le script
    retour$ = "retour.txt" : ' Fichier temporaire contenant le résultat de la fonction
    g$ = chr$(34)          : ' caractère guillemet
' Enregistrer le script dans le fichier temporaire f$
    FILE_OPEN_WRITE 9999, f$
    file_writeln 9999, "DIM bValeur,fso,MyFile"  : ' debut du script
    file_writeln 9999, "Set fso = CreateObject("+g$+"Scripting.FileSystemObject"+g$+")"
    file_writeln 9999, "Set MyFile = fso.CreateTextFile("+g$+retour$+g$+", True)"
    file_writeln 9999, "bValeur = IsDate("+g$+d$+g$+")"
    file_writeln 9999, "MyFile.WriteLine(bValeur)"
    file_writeln 9999, "MyFile.Close" : ' Fin du script
    FILE_CLOSE 9999             : ' Fin de l'enregistrement
    EXECUTE_WAIT f$             : ' Exécution du script
    FILE_DELETE f$              : ' supprimer le fichier du script
    file_open_read 9999,retour$ : ' ouvrir le fichier contenant la sortie du script
    file_readln 9999,resultat$  : ' Recuperer la valeur de la fonction
    file_close 9999             : ' Fermer le fichier
    file_delete retour$         : ' Supprimer le fichier temporaire
    if resultat$ = "True" then RESULT 1 : else : RESULT 0 : ' Résultat de la fonction      
END_FNC
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
lepetitmarocain




Nombre de messages : 333
Age : 81
Localisation : Région Parisienne (à mon grand désespoir)
Date d'inscription : 04/07/2018

Contrôle validité de date Empty
MessageSujet: controle de validité de date   Contrôle validité de date EmptyMar 9 Avr 2019 - 15:44

Bonjour à tous

Merci Papydall pour ton exemple, que j'ai pu adapter à mon problème.

Bonne soirée sous le soleil Tunisien

Revenir en haut Aller en bas
Contenu sponsorisé





Contrôle validité de date Empty
MessageSujet: Re: Contrôle validité de date   Contrôle validité de date Empty

Revenir en haut Aller en bas
 
Contrôle validité de date
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» FNC IsDateValide(d$) pour vérifier la validité d'une date
» Combo date : sélecteur de date
» Validité du rnd ?
» Date <-> Date julienne
» controle du son

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: