[R] Lire dans un fichier *.DBF

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
clark17
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 23 sept. 2011 02:12
Status : Hors ligne

[R] Lire dans un fichier *.DBF

#1

Message par clark17 »

Bonjour,

Je cherche à extraire certaines données contenues dans un fichier *.DBF (BDD dbase).
En farfouillant sur le net je suis tombé sur une fonction créée par Dmitry Yudin. Celle-ci date de 2009 et lorsque j'essaye de l'exécuter j'ai une erreur sur la ligne 40 (Case Asc("C") or Asc("D") or Else). Voici la fonction:
► Afficher le texte
J'imagine qu'il s'agit d'une simple erreur de syntaxe, mais je ne vois pas laquelle...

Merci de votre aide.
Modifié en dernier par clark17 le ven. 04 avr. 2014 14:02, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#2

Message par jguinch »

Je ne connais pas cette fonction, mais tu devrais pouvoir t'en sortir avec l'UDF AdoSql de JCHD, en passant par la couche ODBC (ADO).
Les fonctions sont équivalentes à celles de l'UDF Sqlite native.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#3

Message par mikell »

Code : Tout sélectionner

Case Asc("C") or Asc("D") or Else
Littéralement, ça veut dire "si ya Asc("C") ou Asc("D") ou quoi que ce soit d'autre"
C'est donc une condition qui ne sert strictement à rien (?)
Tu aurais le même résultat en mettant "Case true"
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#4

Message par jguinch »

Non seulement la ligne ne sert à rien, mais en plus la syntaxe du case n'est pas bonne. :shock:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#5

Message par mikell »

Code : Tout sélectionner

$string = "tralala"

Switch StringRight($string, 1)
  Case "c" or "d" or Else
      Msgbox(0,"", "exact !")
EndSwitch
:mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#6

Message par jguinch »

Je dirais même plus :

Code : Tout sélectionner

$string = "tralala"

Switch $string
  Case "c" or "d"
      Msgbox(0,"", "exact !")
EndSwitch
Edit : ouah la classe : j'ai 2^10 messages au compteur ! :lol:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#7

Message par mikell »

On est arrivés à la même conclusion en même temps :mrgreen:
Personne lui a rien dit à l'auteur de l'udf ?

Code : Tout sélectionner

Msgbox(0,"", Asc("C") or Asc("D"))
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#8

Message par Tlem »

Bonsoir.
Concernant la lecture de fichiers DBF, j'avais trouvé quelque chose de complet et bien sympathique lors de recherches pour un projet.
Je met en pièce jointe, car je ne me rappel plus l'origine de la DLL et des scripts au3.

Bonne lecture. ;)
Fichiers joints
DBF.zip
(16.89 Kio) Téléchargé 117 fois
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
clark17
Niveau 4
Niveau 4
Messages : 70
Enregistré le : ven. 23 sept. 2011 02:12
Status : Hors ligne

Re: [..] Lire dans un fichier *.DBF

#9

Message par clark17 »

Merci à vous pour vos réponses. Je me doutais bien que ce switch case était toujours vrai c'est plutôt au niveau de la syntaxe que je ne comprenais pas pourquoi il me déclarait une erreur.
jguinch a écrit :Je ne connais pas cette fonction, mais tu devrais pouvoir t'en sortir avec l'UDF AdoSql de JCHD, en passant par la couche ODBC (ADO).
Les fonctions sont équivalentes à celles de l'UDF Sqlite native.
Merci, mais je cherchais un truc relativement simple et surtout qui ne nécessite pas de surcouche chez l'utilisateur.
Tlem a écrit :Bonsoir.
Concernant la lecture de fichiers DBF, j'avais trouvé quelque chose de complet et bien sympathique lors de recherches pour un projet.
Je met en pièce jointe, car je ne me rappel plus l'origine de la DLL et des scripts au3.

Bonne lecture. ;)
Merci à toi. Effectivement il est complet, même trop pour mon projet. Mais je le garde sous le coude pour autre chose. :)

Finalement j'ai viré le switch case et ça fonctionne normalement.
Pour mémoire ça donne ceci:
► Afficher le texte
Répondre