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
» Découpe dans une image
par JL35 Hier à 23:03

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par Marc Hier à 21:51

» Pour faire plaisir à Marc37.
par Marc Hier à 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Hier à 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

» Ludothèque Panoramic
par jjn4 Mar 20 Fév 2018 - 15:42

» Calculus
par Ouf_ca_passe Mar 20 Fév 2018 - 9:06

» 6 (en analyse):confusion de variable locale entre SUB et FNC
par Jack Mar 20 Fév 2018 - 8:18

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 question sur date$

Aller en bas 
AuteurMessage
RMont



Nombre de messages : 191
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: question sur date$   Dim 1 Mai 2016 - 11:36


bonjour a tous.
je me replonge un peu dans le langage .j'ai chargé le programme de ygeromini gestion compte et j'ai un probleme avec la fonction date$
ayant une erreur en ligne 1546 ,j'ai testé ceci:

dim m%
print "date actuelle : "+date$
m%=val(mid$(date$,4,2))
print m%
la date qui s'affiche est 5/1/2016

j'obtiens :29 not correct arithmetic expression:error in fonction line 3
y a t-il une explication?

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 11:48

Oui. Si la date s'affiche chez toi comme "5/1/2016", c'est que tu es en représentation américaine (mois, jour, année). Chez moi, date$ s'affiche comme "01/05/2016".

Or, la ligne
Code:
m%=val(mid$(date$,4,2))
prend 2 caractères à partir du 4ème, pour en déduire le mois. Dans ta représentation, ce serait "/2", ce qui est évidemment non numérique. Chez moi, la formule utilise correctement "05".

Conseil:
Change tes préférences système pour avoir une représentation de la date e, format jj/mm/aaaa. Tu éviteras une multitude de problèmes, dès que la gestion de la date est concernée en Panoramic. Ne serait-ce que le tri par date...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: Re   Dim 1 Mai 2016 - 11:58

Effectivement, je n' avais pas pensé à cela.
Il faudrait que je trouve une formule pour ce cas...
scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 12:09

Tu auras beau faire, Ygeronimi, mais tu ne pourras jamais différencier me 5/1/2016 du 1/5/2016. Où est le mois, où est je jour ?

Non. Il faut avoir une représentation normalisée des dates. Nous sommes en France, tout est en Français, il faut donc que la date soit en format français. C'est aussi simple que ça.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 12:29

Pour changer le format local de la date, il faut aller dans les paramètres du système. Je suis sous W10, et je fais de la manière suivante:
1. par l'icône de la barre des tâches tout à fait à gauche, j'ouvre le menu de démarrage et je choisis "Paramètres". J'obtiens:

2. Je choisis "Heure et langue", et j'obtiens, en faisant défiler un peu la partie droite:

3. dans la partie "Formats", je clique sur "Modifier...", et j'obtiens:

4. là, je choisis les paramètres indiqués dans l'image. Ce qui importe ici, c'est le "format court".
5. je valide les informations

Et voilà...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
RMont



Nombre de messages : 191
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 16:18


@ klaus
merci pour ta réponse.j'ai verifié mon format date dans mon panneau de config .il est bien sous cette forme: jj/mm/aaaa.
en bas a droite de mon écran j'ai bien 01/05/2016.
par contre j'ai toujours la même erreur quand je lance gestion compte.
j'ai fait une copie d'ecran mais je ne sais comment la mettre sur le site.
.je reprendrai le suivi du post que dans 2 heures. rugby oblige.
a+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 17:01

Important :
Pour éviter 29 not correct arithmetic expression:error in fonction line …

Il faut d’abord tester si la variable contient une valeur numérique

Code:

dim v1$, v2$
v1$ = "X123"
v2$ = "123"
if numeric(v1$) = 0
   print "V1$ ne contient pas une valeur numérique"
else
   print "V1$ contient la valeur : "   + str$(val(v1$))
end_if

if numeric(v2$) = 0
   print "V2$ ne contient pas une valeur numérique"
else
   print "V2$ contient la valeur : "   + str$(val(v2$))
end_if



Pour l'exemple que tu as donné

Code:

dim jj$,mm$,aaaa$
print "Nous sommes le : " + date$ : ' <--- 01/05/2016
jj$ = left$(date$,2)
mm$ = mid$(date$,4,2)
aaaa$ = right$(date$,4)
 print "jj = " + jj$     : ' <--- 01
 print "mm = " + mm$     : ' <--- 05
 print "aaaa = " + aaaa$ : ' <--- 2016
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
RMont



Nombre de messages : 191
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 19:05


a papydall.
j'ai testé ce petit bout de code est le résultat n'est pas le bon.je n'obtient pas 01/05/2016 mais
nous sommes le 5/1/2016
jj$=5/
mm$ =/2
aaaa$ =2016
et pourtant ma date affichée en bas a droite est bien 01/05/2016.

autre question : comment fait-on pour envoyer une copie d'écran ?. j'ai égaré mon pense-bête concernant cette manip
a+


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
RMont



Nombre de messages : 191
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 19:28


problème résolu.
je suis passé en option Français(Luxemgourg) : résultat ok.
je suis repassé sur Français (France ) et enfin cette manip a été prise en compte
je vais pouvoir maintenant tester le prg de ygeronimi
merci pour votre aide


Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

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

MessageSujet: re   Dim 1 Mai 2016 - 19:46

@ Rmont,

Essais ceci :
Code:
CountryFormatDate()
message country$+" : "+day$
end

sub CountryFormatDate()
   if variable("day$")=0 then dim day$
   dim_local sep$,sep%,d$,country$
   sep%=instr(date$,"/") : d$=right$(date$,len(date$)-sep%)
   sep$=sep$+str$(sep%)
   sep%=instr(date$,"/")
   sep$=sep$+str$(sep%)  : sep%=val(sep$)
   if sep%=33
      country$="fr"
      day$=date$
   else
      country$="us"
      day$="0"+mid$(date$,3,1)+"/0"+mid$(date$,1,1)+"/"+right$(date$,4)
   end_if
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: question sur date$   

Revenir en haut Aller en bas
 
question sur date$
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Date automatique dans Word 2003
» le tchat question
» j'ai deux question qui m'intrigue
» question par un nul du GPS
» Question basique

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: