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
» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 13:46

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

» source vumetre avec delphi
par Klaus Mar 5 Déc 2017 - 23:22

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 question sur date$

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
RMont



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

MessageSujet: question sur date$   Dim 1 Mai 2016 - 12: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 : 10243
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 12: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re   Dim 1 Mai 2016 - 12: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 : 10243
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 13: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 : 10243
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 13: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 : 184
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 17: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 : 5613
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 - 18: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 : 184
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 20: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 : 184
Age : 75
Localisation : charente maritime
Date d'inscription : 29/12/2008

MessageSujet: Re: question sur date$   Dim 1 Mai 2016 - 20: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 : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Dim 1 Mai 2016 - 20: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$
Voir le sujet précédent Voir le sujet suivant 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: