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
» Calculatrice
par Minibug Aujourd'hui à 21:06

» EPP_V01 éditeur pour Panoramic
par Minibug Hier à 21:03

» [RESOLU] Quelle ligne est sélectionnée dans SYNEDIT ?
par Jean Claude Hier à 21:02

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Hier à 15:58

» Planétarium virtuel.
par Pedro Alvarez Hier à 9:28

» Demande pour Jack concernant PanExpress
par Marc Mar 18 Sep 2018 - 23:56

» Petit coucou en passant !
par Minibug Dim 16 Sep 2018 - 15:03

» bug SEVERE fnc+sub : variables globales corrompus
par silverman Dim 16 Sep 2018 - 13:38

» Verrouiller un form en avant plan
par silverman Dim 16 Sep 2018 - 12:50

» Fin de l'aventure.
par Pedro Alvarez Sam 15 Sep 2018 - 18:16

» Demande d'explications Sur File_Write & File_writeln
par Jack Sam 15 Sep 2018 - 17:26

» MEMO avec des possibilités de commande
par Oscaribout Mer 12 Sep 2018 - 1:06

» La théorie du chaos
par jean_debord Mar 11 Sep 2018 - 9:30

» Orbites de l’ensemble de Mandelbrot
par Jean Claude Lun 10 Sep 2018 - 21:08

» Version instantanée V 0.9.29i2 du 4/09/2018
par silverman Mer 5 Sep 2018 - 10:15

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Septembre 2018
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
CalendrierCalendrier

Partagez | 
 

 question sur date$

Aller en bas 
AuteurMessage
RMont



Nombre de messages : 198
Age : 76
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 : 11088
Age : 69
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 : 8083
Age : 47
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 : 11088
Age : 69
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 : 11088
Age : 69
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 : 198
Age : 76
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 : 5990
Age : 68
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 : 198
Age : 76
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 : 198
Age : 76
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 : 8083
Age : 47
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
-
» le tchat question
» j'ai deux question qui m'intrigue
» question par un nul du GPS
» Question basique
» changement date GPS 62 S

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: