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
» Logiciel de planétarium.
Problème avec val(left$(D$,3)) Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Problème avec val(left$(D$,3)) Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Problème avec val(left$(D$,3)) Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Problème avec val(left$(D$,3)) Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Problème avec val(left$(D$,3)) Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Problème avec val(left$(D$,3)) Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Problème avec val(left$(D$,3)) Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Problème avec val(left$(D$,3)) Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Problème avec val(left$(D$,3)) Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Problème avec val(left$(D$,3)) Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Problème avec val(left$(D$,3)) Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Problème avec val(left$(D$,3)) Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Problème avec val(left$(D$,3)) Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Problème avec val(left$(D$,3)) Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Problème avec val(left$(D$,3)) Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Boutique Nike : -25% dès 50€ sur TOUT le site Nike avec le code ...
Voir le deal

 

 Problème avec val(left$(D$,3))

Aller en bas 
4 participants
AuteurMessage
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Problème avec val(left$(D$,3)) Empty
MessageSujet: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 20:03

Bonsoir à tous, Smile
En ce momment, je travaille sur un petit programme où je dois mettre dans un combo certains fichiers d'un répertoire qui commencent par un chiffre, exemples 001fichier.jpg, 095fichier.txt, 475fichier.gnt, etc...
Ces fichiers sont mélangés avec d'autres au nom commun.
Le programme suivant qui utilise la fonction val(left$(D$,3)) avec file_find_first$ provoque une erreur :Not correct logical expression Error in function Line 11. C'est d'autant plus déconcertant que la chaine A$ commençant par un chiffre en utilisant le même test se retrouve bien dans le combo!
Code:
dim A$,D$
combo 42:left 42,150

A$="025acte_photo.jpg"
if val(left$(A$,3))>0 then item_add 42,A$

dir_change "c:\mesprog\gen\photos"
D$=file_find_first$
print D$
while D$<>"_"
  if val(left$(D$,3))>0 then item_add 42,D$
  D$=file_find_next$
end_while
file_find_close
Est-ce normal? Ce problème a-t-il déjà été signalé?
Comment pourrais-je contourner le problème?
Merci de votre attention,
A+ Wink Wink Wink
Revenir en haut Aller en bas
papydall

papydall


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

Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 21:01

Salut Bignono
La fonction VAL() d’éclanche une erreur si la chaine de caractères n’est pas numérique !
Donc, il faut tester D’ABORT si c’est NUMERIC ou pas
Exemple :
Code:
dim a$,b$
a$ = "205abc.xyz"
b$ = "1x025k.abc"
if val(left$(a$,3)) > 0 then message "Les 3 prémiers caracters de " + a$ + chr$(10) +chr$(13)+"sont numériques"
if numeric(left$(b$,3)) > 0
  if val(left$(b$,3)) > 0 then message "les 3 prémiers caractères sont numériques"
else
      message "les 3 prémiers caracteres de" + b$ + chr$(10) + chr$(13) +" ne sont pas numeriques"
end_if
Voici ton exemple corrigé
Code:
 dim A$,D$
combo 42:left 42,150

A$="025acte_photo.jpg"
if numeric(left$(A$,3)) > 0
  if val(left$(A$,3))>0 then item_add 42,A$
end_if

dir_change "c:\mesprog\gen\photos"
D$=file_find_first$
print D$
while D$<>"_"
  if numeric(left$(D$,3)) > 0
    if val(left$(D$,3))>0 then item_add 42,D$
  end_if
  D$=file_find_next$
end_while
file_find_close
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 21:13

Code:
dim a$,a
a$="1";' si l'on met une lettre çà marche plus
a=val(a$)
caption 0,a

Heu oui, mais est-ce bien normal ? si le caractère n'est pas numérique, VAL pourrait retourner 0 (mais problème pour a$="0"). Ne faudrait-il pas qu'il retourne -1 ?

A+
Revenir en haut Aller en bas
papydall

papydall


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

Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 21:22

@Jean Claude
Si ça retourne -1, que va-t-il retourner pour VAL("-1") ?

Ce code est parfaitement correct.
Code:

print val("0")
print val("5")
print val("-1")

Je pense que la fonction VAL() comme telle qu’elle existe est tout à fait logique et c’est au programmeur qu’il prenne soin de tester sa variable string si elle est ou non NUMERIC avant d’utiliser la fonction VAL().
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 22:02

Bon, j'étais en entretien avec la nounou qui va remplacer la nounou qui a démissionné, mais j'avais écris ce code qui arrive un peu tard maintenant, mais bon puisqu'il est fait, je le mets ...
Code:
Dim A$  : A$="025acte_photo.jpg"
list 42 : Ajoute_liste(A$)
dir_change "c:\temp"

A$=file_find_first$
while A$<>"_" : Ajoute_liste(A$) : A$=file_find_next$ : end_while
file_find_close
end

sub Ajoute_liste(temp$)
  if numeric(left$(temp$,3)) > 0 then if val(left$(temp$,3))>0 then item_add 42,temp$ : display
end_sub
Revenir en haut Aller en bas
bignono

bignono


Nombre de messages : 1127
Age : 67
Localisation : Val de Marne
Date d'inscription : 13/11/2011

Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) EmptyLun 8 Oct 2012 - 22:31

OK, merci les gars, vous me donnez la solution. Wink Wink Wink
Revenir en haut Aller en bas
Contenu sponsorisé





Problème avec val(left$(D$,3)) Empty
MessageSujet: Re: Problème avec val(left$(D$,3))   Problème avec val(left$(D$,3)) Empty

Revenir en haut Aller en bas
 
Problème avec val(left$(D$,3))
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» j'ai un probléme avec la cde left$(s,n)
» Problème avec select case Probleme réglé merci
» Problème avec kgf.dll.
» Problème avec DIM et ADR
» Y-a-t'il un problème avec END?

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: