Pas de problème (pb), que du PowerBuilder (PB) ^^

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 29-03-2007 14:46:07

rapitou  
Membre Power Geek
Date d'inscription: 29-03-2007
Messages: 163
Pépites: 661
Banque: 0

ImportFile dans datastore

Hello

Voilà...
Je veux importer un fichier .txt dans une datastore. On fait pas plus concon comme fichier, il a qu'une seule ligne, le séparateur est le ";"
Sauf que mon importfile me retourne -4 comme valeur, sachant que si je remplace le ";" par une tabulation il m'importe bien mes données !

Pour info je lance ds_truc.Importfile(CSV! ,<nom complet du fichier>)

Je suis en PB 10.5.1 Build 6565

Merci d'avance pour votre aide, PB commence a me sortir par les trous de nez

Hors ligne

 

#2 29-03-2007 14:49:47

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: ImportFile dans datastore

bonjour, (et welcome)

il me semble que pour l'importation d'un fichier txt, via la datawindow...le format de séparateur doit etre une tabulation.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 29-03-2007 14:55:15

rapitou  
Membre Power Geek
Date d'inscription: 29-03-2007
Messages: 163
Pépites: 661
Banque: 0

Re: ImportFile dans datastore

Merci

Alors pkoi on précise le type d'import en paramètre ?
Dans ce cas là ce n'est pas l'extension du fichier qui définit son type, mais bien celui qu'on passe en paramètre, en l'occurence CSV ici ...
Quelque chose m'échappe ....

Hors ligne

 

#4 29-03-2007 15:01:48

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: ImportFile dans datastore

rapitou a écrit:

Merci

Alors pkoi on précise le type d'import en paramètre ?
Dans ce cas là ce n'est pas l'extension du fichier qui définit son type, mais bien celui qu'on passe en paramètre, en l'occurence CSV ici ...
Quelque chose m'échappe ....

ha d'accord...ce serait donc une nouveauté de pb10 ? ou ca existe depuis une autre version deja ?
sous pb7, j'ai pas cette option...

c'est ecrit quoi sur la description de la fonction importfile ?

sous pb7, j'ai cela...

Description

Inserts data into a DataWindow control or DataStore from a file. The data can be tab-delimited text or dBase format 2 or 3.


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#5 29-03-2007 15:17:26

dauphina  
Membre
Lieu: Mougins
Date d'inscription: 24-11-2006
Messages: 11
Pépites: 54
Banque: 0

Re: ImportFile dans datastore

bonjour !

je vais pas dire que je suis une experte de cette fonction des datawindows, mais je m'en sers un peu et donc je crois pouvoir te dire que les fichiers CSV doivent avoir une virgule comme séparateur et non un point virgule (c'est marqué dans l'aide, voir juste après).

Voici l'aide de pb 10 sur la méthode ImportFile d'une datawindow :

Description

Inserts data into a DataWindow control or DataStore from a file. The data can be tab-separated text, comma-separated text, XML, or dBase format 2 or 3.

en plus comma ça veut dire virgule, sinon ils auraient marqué semicolon !

voila il faut que tu changes tes points virgules en virgules (ou en tabulations)

autre chose : ton fichier doit avoir l'extension .csv si tu as des virgules dans ton fichier, sinon pour un .txt il faut des tabulations comme séparateur. sinon il ne considère pas le séparateur.
oui bon c'est pas souple mais je préfère pas chercher à comprendre c'est fait comme ça et voilà !

bonne fin de journée

Dernière modification par dauphina (29-03-2007 15:20:55)

Hors ligne

 

#6 29-03-2007 15:35:38

shahin  
Modérateur
Award: bf
Lieu: val de marne
Date d'inscription: 26-09-2006
Messages: 938
Pépites: 8,675,050,269
Banque: 16,218,225,127,617

Re: ImportFile dans datastore

Pour Dauphina, une seule chose à dire :


never let people work on more than one thing at once.

Hors ligne

 

#7 29-03-2007 15:38:40

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: ImportFile dans datastore

je dirais meme


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#8 29-03-2007 15:57:33

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: ImportFile dans datastore

Bonjour,

Le problème avec les CSV, c'est que suivant la config windows, il reconnaîtra soit les ",",
soit les ";" comme séparateur (J'ai eu le problème lors de génération de fichiers en PB 7 et 9). D'où l'intérêt d'utiliser des tabulations comme séparateur: Il n'y a pas ce genre de "blagues".


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#9 29-03-2007 17:39:10

rapitou  
Membre Power Geek
Date d'inscription: 29-03-2007
Messages: 163
Pépites: 661
Banque: 0

Re: ImportFile dans datastore

dauphina a écrit:

bonjour !

je vais pas dire que je suis une experte de cette fonction des datawindows, mais je m'en sers un peu et donc je crois pouvoir te dire que les fichiers CSV doivent avoir une virgule comme séparateur et non un point virgule (c'est marqué dans l'aide, voir juste après).

Voici l'aide de pb 10 sur la méthode ImportFile d'une datawindow :

Description

Inserts data into a DataWindow control or DataStore from a file. The data can be tab-separated text, comma-separated text, XML, or dBase format 2 or 3.

en plus comma ça veut dire virgule, sinon ils auraient marqué semicolon !

voila il faut que tu changes tes points virgules en virgules (ou en tabulations)

autre chose : ton fichier doit avoir l'extension .csv si tu as des virgules dans ton fichier, sinon pour un .txt il faut des tabulations comme séparateur. sinon il ne considère pas le séparateur.
oui bon c'est pas souple mais je préfère pas chercher à comprendre c'est fait comme ça et voilà !

bonne fin de journée

Coucou

Merci pour ta réponse complète
Effectivement j'avais noté que dans l'aide de PB un CSV est un fichier avec une virgule comme séparateur. Sauf que je ne crois pas me tromper en disant que c'est le point virgule le séparateur du CSV ... Donc je trouve ça bizarre mais bon, j'avais quand meme remplacé les ";" par des "," dans mon fichier pour voir et ça marchait pas qd meme ... Mais il est vrai que je n'ai pas tenté la combinaison "renommage de mon .txt en .csv" + " remplacement du ; en ,", y'a des chances que ça marche... Sauf que c'est pas du tout ce que je veux !

Moi j'ai un fichier CSV ( avec ; comme séparateur, car c'est quand meme ça un CSV, cette histoire de virgule je sais pas où Sybase est allé le chercher ) que je veux importer dans ma datastore ....
D'ailleurs petite parenthèse, je pense que le ; est quand pkus fiable que la tabulation comme séparateur, parce que potentiellement on peut trouver des tabulations dans des chaines de caractères ...

Enfin la conclusion de tout ça c que bibi va renommer son fichier en .CSV dans le code et faire des replace bourrins de ; en , pour faire plaisir à PB...
Ils auraient quand meme pu faire qqch de plus souple ... mais bon

Merci encore et bonne soirée

Hors ligne

 

#10 30-03-2007 08:11:01

rapitou  
Membre Power Geek
Date d'inscription: 29-03-2007
Messages: 163
Pépites: 661
Banque: 0

Re: ImportFile dans datastore

Pour info ....
Pour contourner le problème des ";", j'ouvre mon fichier, je récupère ma ligne, je remplace les ";" par "," et je lance un importString .... Dans l'aide il est bien précisé que de même que pour l'importFile, la "," peut etre un séparateur ... Sauf que l'importString ne marche pas ,et quand je remplace mes "," par des "~t" ça marche trop coooooooooool !

Donc voilà je ne crois pas me tromper en disant qu'il s'agit bien là d'un bug de PB, je ne sais pas si c'est du au build ou à la version, toujours est il que je vais me faire un ptit code pour récupérer les infos de mon fichier ... trop bien !!

bonne journée à tous, et merci encore pour votre aide !

Hors ligne

 

#11 30-03-2007 08:48:14

foon  
N2iGeek + MangasGeek = foon
Award: bf
Lieu: Bonchamp-Lès-Laval
Date d'inscription: 28-02-2007
Messages: 2487
Pépites: 88
Banque: 9,223,372,036,854,776,000

Re: ImportFile dans datastore



Si c'est le cas, on est nous aussi:
On est en cours de migration de PB9 vers PB10.5 et notre appli
utilise pas mal des Importfile sur les CSV (J'ai vérifié ce matin: le séparateur
est bien un ";" et çà marche nickel en PB 9.0.1 build7119).

En tout cas, pour l'info.


Seuls ceux qui ne font rien ne font jamais d'erreurs
http://www.nerdtests.com/images/badge/163124fb7fb459a3.gif

Hors ligne

 

#12 30-03-2007 10:54:32

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: ImportFile dans datastore

rapitou a écrit:

Sauf que je ne crois pas me tromper en disant que c'est le point virgule le séparateur du CSV ...

rapitou a écrit:

Moi j'ai un fichier CSV ( avec ; comme séparateur, car c'est quand meme ça un CSV, cette histoire de virgule je sais pas où Sybase est allé le chercher )

CSV veut dire "Comma Separated Values" ce qui se traduit en Français par "Valeurs séparées par une virgule"

(pour info Point-virgule se dit Semicolon en Anglais)

Donc c'est bien la virgule le séparateur du CSV

CQFD.

Dernière modification par rincevent (30-03-2007 10:57:05)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#13 30-03-2007 12:17:08

dauphina  
Membre
Lieu: Mougins
Date d'inscription: 24-11-2006
Messages: 11
Pépites: 54
Banque: 0

Re: ImportFile dans datastore

CSV veut dire "Comma Separated Values" ce qui se traduit en Français par "Valeurs séparées par une virgule"

(pour info Point-virgule se dit Semicolon en Anglais)

j'avais dit pareil au dessus...
je trouve bizarre cette histoire de point virgule ou de virgule, personne n'est d'accord la dessus.
et c'est encore plus bizarre que sur certaines machines PB n'accepte que les points virgules pour un CSV !!!
mais je repete a rapitou que dans l'aide de la fonction importfile (ou importstring) tu dois comprendre qu'un fichier texte a pour séparateur la tabulation et pour un csv c'est une virgule.
nul part c'est marqué qu'un CSV a un point virgule ou une virgule obligatoirement par contre.
et pour ton problème de tabulation dans les chaines l'aide de PB la encore te dit que tu peux utiliser les guillemets autour de la chaine qui contient une tabulation...

donc pour PB :
- fichier avec séparateur tabulation -> TXT
- fichier avec séparateur virgule (ou point virgule selon machine) -> CSV
sinon il met pas ds les colonnes le méchant

enfin bref j'espère que tu as réussi à faire ce que tu voulais quand meme.

PS c'est marrant comme en dév informatique on veut toujours faire ce qui est pas possible... avec l'outil qu'on a

Hors ligne

 

#14 30-03-2007 12:27:56

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: ImportFile dans datastore

petite question subsidiaire



ton pseudo, c'est par rapport à la bande à rapitou ?




Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#15 30-03-2007 12:38:01

thezerg  
Modérateur
Award: calimero
Lieu: Bordeaux
Date d'inscription: 12-09-2006
Messages: 966
Pépites: 22,449
Banque: 154,120,629,477,379,100

Re: ImportFile dans datastore

c'est la bande a picsou et les frere qui rapitou :D

Hors ligne

 

#16 31-03-2007 07:56:36

rapitou  
Membre Power Geek
Date d'inscription: 29-03-2007
Messages: 163
Pépites: 661
Banque: 0

Re: ImportFile dans datastore

Hello

En pratique le séparateur du CSV c'est souvent le point virgule, cf http://fr.wikipedia.org/wiki/Comma-separated_values
D'autre part, le ImportString importe une chaine de caractère, on ne définit nulle part le séparateur qui peut etre virgule ou tabulation, or si c'est une virgule ça devrait fonctionner mais CA NE MARCHE PAS ! Donc je repete qu'il s'agit bien là d'un bug de PB.
Bon courage à foon, si ton appli doit passer en pb 10.5 ... remarque ça vient peut etre du build mais bon ...

Sinon oui j'ai réussi à faire ce que je voulais avec une petite fonction, et pis c'est pas plus mal d'ailleurs, ça me permet de controler les données, ce que je n'aurais pas pu faire avec un import sauvage.

Par rapport à mon pseudo, c'etait le surnom que je donnais à mon chat
Dans Picsou, ils s'appellent les Rapetou pas les Rapitou p

Bonne journée !

Hors ligne

 

#17 31-03-2007 08:02:49

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4659
Pépites: 945
Banque: 2,147,483,647
Site web

Re: ImportFile dans datastore

Bon week end, je dirais meme...

je pense que le point virgule, et la virgule...vont faire débat...   point barre...

Donc, c'est autant mieux que tu ais fait ton propre algorithme de controle.
Ca evite tout ambiguté.

Je pense que je vais verifier cela aussi, sur ma version de pb10.5


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22