begin process at 2008 05 12 10:59:53
1 170 205 membres
108 nouveaux aujourd'hui
13 957 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : lecture d'une string [ Archives / Débutants ] (gregorian)

lecture d'une string le 19/04/2005 11:19:09

gregorian
Bonjour,

dans la lecture d'un fichier texte, je dois le parcourir pour pouvoir le reformatter et ainsi pouvoir utiliser la fonction append from pour le transformer en table.

J'arrive à l'ouvrir et à parcourir ligne par ligne mais comment parcourir une ligne ???
Existe t'il qqch qui ressemble au string tokenizer en java pour me permettre d'aller en info en info?

Ou alors comment faire? Je n'ai pas trop envie de m'amuser avec de substr() car on fini toujours par ce planter d'un chiffre.

Une autre idée ?

merci 

Re : lecture d'une string le 19/04/2005 12:41:36

ThierryPerretier
Bonjour,
Voir la fonction aLines().
Elle va te décomposer du texte en fonction d'un/des délimiteur(s), et remplir un tableau de résultat.

Par exemple : 

local array aMots(1)
ALines
(aMots,"Ceci;est;un;test",.t.,";")
FOR each cMot in aMots
   ? cMot
ENDFOR

Voir aussi les fonctions GetWordNum(),GetWordCount() et StrExtract().
Il n'y donc pas de Substr() pour manipuler du texte.


Re : lecture d'une string le 19/04/2005 13:57:52

FredArmoni
Membre Club
(Admin CS)
voir les fonctions strextract, substr, strtran, stuff, ...

Fred
membre actif d'AtoutFox
MS MVP VFP

Re : lecture d'une string le 19/04/2005 16:51:41

gregorian
Bonjour,

j'ai essayé de voir pour les fonctions GetWordNum() et GetWordCount() mais il n'y a rien dans l'aide de plus fox pro me dit que la ligne que j'ai lue (en faisant lcLigne = FGETS(monText.txt)) n'est pas une classe et donc je ne peux pas utiliser ces fonctions.

Il me semble que ca va être plus ardu que prévu ce truc ...

Re : lecture d'une string le 19/04/2005 17:03:23

ThierryPerretier
Quelle version de Foxpro utilises tu ?

Re : lecture d'une string le 19/04/2005 17:07:09
Re : lecture d'une string le 19/04/2005 17:18:50

FredArmoni
Membre Club
(Admin CS)

la manip :

ouvrir le fichier

m.handle=fopen("montext.txt")

if m.handle<0

  return && erreur
endif
=fseek(m.handle,0,0)
do while !feof(m.handle)
   m.ligne=fget(m.handle)
* ton boulot sur les lignes ici
   ? m.ligne
enddo

Fred
membre actif d'AtoutFox
MS MVP VFP


Re : lecture d'une string le 18/04/2008 12:28:21

boul3iz
salut
je posséde foxpro 9.0
et je veux lire un fichier texte ligne par ligne pour ajouter dans une table brut.dbf
mais le probléme quand j'exécute ce code:

nfile=GETFILE("txt","importer")

gnFileHandle =

FOPEN(nfile)

*** Move the file pointer to BOF ***

gnPosition = FSEEK(nfile,254,2)

IF FEOF(gnFileHandle)

WAIT WINDOW 'Le fichier est empty !' NOWAIT

ELSE

WAIT WINDOW

'le fichier contient '+STR(gnPosition)+' !' NOWAIT

ENDIF

FOR nCount = 1 TO gnPosition

cligne =

FREAD(gnFileHandle,254)

WAIT WINDOW 'Importation du fichier de la ligne n° '+ alltrim(cligne)NOWAIT

ENDFOR

= FCLOSE(gnFileHandle)

le problème est toujours le fichier ouvrir est empty.
Merci

Re : lecture d'une string le 18/04/2008 12:55:07

FredArmoni
Membre Club
(Admin CS)
*** Move the file pointer to BOF ***
gnPosition = FSEEK(nfile,254,2)

ne positionne pas le pointeur au début du fichier mais à 254 octets de la fin...

gnPosition = FSEEK(nfile,254,2)

fseek(nfile,0,0) positionne au début
fseek(nfile,0,2) positionne à la fin (et retourne la taille)


Fred
membre actif d'[url="http://www.atoutfox.org"]AtoutFox[/url]
MS MVP VFP (2000-2007)
[ Lien ]


Classé sous : lecture, ligne, string, parcourir, info

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS