Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Clipper, caractère chr(26) et fichier txt

benguigui1, le lundi 24 janvier 2005 à 11:18:02
Bonjour à tous

j'utilise clipper 5 et blinker3 sous Xp.
Ds mon appli j'utilise la commande copy to ... SDF.
Le fichier txt créé comporte un caratère inattendu ( ) à la fin du fichier. Cela me gène car ce fichier doit être transferer par ftp et ensuite concaténé avec dautres, je pense que ça va occasionner des problèmes...

Comment puis je eviter d'avoir ce caractere en fin de fichier ?
Est ce un problème de variable à renseigner ?

Lorsque jutilise cette commande sur la fenetre de commande de visualfox pour creer le meme fichier txt à partir de la même table, le fichier obtenu ne possède pas ce caractère...


Merci pour vos réponses.
Répondre à benguigui1  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
alex, le lundi 24 janvier 2005 à 12:29:45
C'est sans doute un retour chariot qui pose le problème. Sous windows le retour chariot c'est CR-LF ("\n\r") et sous unix c'est juste un CR. J'aurais tendance à dire que le format universellement utilisé c'est le format unix et donc ton programme plante parce que le dernier caractère est un "\r" (affiché "^M" dans certains éditeurs). Les logiciels que tu utilises me sont totalement inconnus. Je ne peux donc te proposer qu'une solution de dernier recours : supprimer le dernier caractère de ton fichier au moment de l'utiliser pour le concatener... :) Mais ce genre de problèmes est archi récurrent et tes logiciels doivent avoir prévu une option pour le format des retours chariots (format windows ou unnix par exemple).
Répondre à alex

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le lundi 24 janvier 2005 à 13:30:55
en fait il s'agirait d'un caractere de fin de fichier. c'est une appli DOS qui tourne sur des postes windows xp. D'apres ce que j'ai pu lire ici et là il s'agit d'un comportement normal...

Merci pour ta reponse
Répondre à benguigui1

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le lundi 24 janvier 2005 à 14:30:17
J'ai trouvé une solution qui fait un peu "bricolage"...
si ca interesse qqn la voici :

USE table
COPY TO fic1.TXT SDF
use

car="a"
eof=chr(26) && caractere à supprimer
entree=Fopen("fic1.txt") && fichier ayant le caractere a supprimer
sortie=Fcreate("fic2.txt") && fichier de sortie definitif
do while(Fread(entree,@car,1)>0)
if car != eof
fwrite(sortie,car)
endif
enddo
fclose(sortie)
fclose(entree)

delete file "fic1.txt"

si vous avez une solution plus élégante je suis preneur.

merci.
Répondre à benguigui1

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
alex, le lundi 24 janvier 2005 à 14:46:12
C'est quoi comme langage ? Tu ne peux pas ouvrir ton fichier en mode "modification" ? Y'arait d'autres solutions qui consisteraient à réécrire uniquement les "N-1" octets de ton fichier source mais si ça marche alors c'est bon.

Par contre, quelqu'un pourrait-il m'expliquer cette histoire de caractère de fin de fichier ? Je pensais que chaque fichier avait obligatoirement ce caractère à la fin mais apparemment ce n'est pas le cas ?
Répondre à alex

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bernard mouille, le jeudi 16 juin 2005 à 12:12:50
Bonjour,

A propos de bricole, essaye donc un peu ce petit programme pour des champs caractères, numériques et date.


ENTREEDBF="FICHIER.DBF"
SORTIETXT=FCREATE("Stxt.TXT")
USE &ENTREEDBF
I=1
DO WHILE .T.
IF TYPE(FIELD(I))<>"C"
EXIT
ENDIF
I=I+1
ENDDO
DO WHILE .NOT. EOF()
V=""
J=1
DO WHILE J<I+2
Y=FIELD(J)
W=&Y
DO CASE
CASE TYPE("W")="D"
X=DTOC(W)
CASE TYPE("W")="N"
X=STR(W)
OTHER
X=W
ENDCASE
V=V+X+SPACE(1)
J=J+1
ENDDO
FWRITE(SORTIETXT,V+CHR(10))
SKIP
ENDDO
USE
FCLOSE(SORTIETXT)
RETURN


Bonne journée.

b.m.
Répondre à bernard mouille

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le lundi 24 janvier 2005 à 14:53:47
C'est un langage qui ressemble à DBase 3 et fox pro. L'appli sur laquelle je travaille a ete developpée en 85, ca te donne une idee...
Je devais creer un fichier txt à partir du contenu d'une table de la base de donnees.

Apparemment, la commande utilisée pour cela insere un caractere de fin de fichier (chr(26)).
Ce qui m'etonne un peu (beaucoup même...) c'est que cela ne semblait pas etre le cas dans la version precedente de l'appli...

Alors est ce que cela vient du fait que je teste l'appli sous windows, je ne sais pas...

La solution que j'ai trouvée est temporaire car je suis sur qu'il y a autre chose à faire... je continue à chercher.
Répondre à benguigui1

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bernard mouille, le jeudi 16 juin 2005 à 18:05:43
J'ai fait une erreur, voici le programme :

ENTREEDBF="Fichier.DBF"
SORTIETXT=FCREATE("Stxt.TXT")
USE &ENTREEDBF
I=1
V=""
DO WHILE .T.
IF TYPE(FIELD(I))="U"
EXIT
ENDIF
V=V+FIELD(I)+";"
I=I+1
ENDDO
FWRITE(SORTIETXT,V+CHR(10))
DO WHILE .NOT. EOF()
V=""
J=1
DO WHILE J<I
Y=FIELD(J)
W=&Y
DO CASE
CASE TYPE("W")="D"
X=DTOC(W)
CASE TYPE("W")="N"
X=STR(W)
OTHER
X=W
ENDCASE
V=V+X+";"
J=J+1
ENDDO
FWRITE(SORTIETXT,V+CHR(10))
SKIP
ENDDO
USE
FCLOSE(SORTIETXT)
RETURN


Avec mes excuses,

Bonne soirée

BM
Répondre à bernard mouille

8


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le lundi 20 juin 2005 à 13:53:48
Merci Bernard.
Répondre à benguigui1

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bernard mouille, le lundi 20 juin 2005 à 18:09:10
de rien,

ce petit programme me permet de tranférer les données DBF dans EXCEL qui a la possibilité de transformer les caractères DOS au format WINDOWS.

Bonne soirée

BM
Répondre à bernard mouille

10


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le lundi 20 juin 2005 à 19:00:27
bonsoir ,

ça me fait penser à un autre problème : lorsque je voulais modifier mes tables sous excel, au moment d'enregistrer ces tables j'avais un message (je ne me souviens plus exactement, désolé) qui me parlait d'un probleme de compatibilité entre db4 et excel avec impossibilité d'enregistrer ; si bien que le seul moyen que j'avais etait de les ouvrir avec visual fox ?! de faire les modif et d'enregistrer
c'est etrange.
Est ce que cela vous dit qqchose ? (je reconnais que cette description du probleme laisse à desirer ms je n'ai plus les sources et suis passé à un autre projet)...

merci, pour toutes ces reponses
Répondre à benguigui1

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bernard mouille, le mardi 21 juin 2005 à 08:19:05
Bonjour,

Pour récupérer les données de Excel, je procède de la manière suivante :

1) transformation du fichier Excel en .CSV,
2) récupération du fichier .csv dans un fichier.dbf,
3) mise en forme en fonction des ";",
4) changement des caractères différents entre Windows et Dos.

Bonne journée,

BM
Répondre à bernard mouille

12


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
benguigui1, le mardi 21 juin 2005 à 09:04:03
Bonjour,

merci encore.
J'aurai l'occasion de mettre en oeuvre cette solution car je vais retravailler sur cete appli en octobre.

bonne journée.
Répondre à benguigui1

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 bernard mouille, le dimanche 26 juin 2005 à 20:40:23
Bonsoir Benguigui1

Si ça peut t'intéresser, j'ai fait un petit programme pour transformer un fichier.dbf en fichier HTM, avec possibilité de test.

Tu le trouvera sur : http://bernard.mouille.free.fr/

Si tu connais des caractères de transformation supplémentaires, donnes-les moi si tu veux et je les rajouterai.

Bonne soirée

BM
Répondre à bernard mouille

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
bernard mouille, le mardi 21 juin 2005 à 18:08:45
De rien ...

Par contre, est-ce que tu as déjà réussi à gérer les API de WINDOWS (récupération des programmes des fichiers .DLL) avec CLIPPER 5.2 ?

Moi, je n'ai pas trouvé de solutions, heureusement, j'ai dBase DB2K avec compilateur et je passe mon temps à faire des ponts.

J'aimerai bien pouvoir le faire en Clipper 5.2 (je n'ai pas le 5.3) car j'ai une fiabilité supérieure pour mes utilisateurs, malgrès quelques problèmes (LOCATE dans une boucle bouffe la ressource en XP).

Si quelqu'un d'autre a une idée ...

Merci d'avance.

Bonne soirée,

B.M.
Répondre à bernard mouille

Résultats pour Clipper, caractère chr(26) et fichier txt

Occurence caractere dans un txt en C (Résolu) Bonjour, je cherche à écrire une fonction permettant d'obtenir l'occurrence d'un caractère dans un fichier txt. J'ai 4 txt dans 4 langues différentes. Voila ce que j'ai fait : #include int occurenceLettre(char*... www.commentcamarche.net/forum/affich-5548752-occurence-caractere-dans-un-txt-en-c
Fichier TXT Format TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel. www.commentcamarche.net/contents/fichier/txt.php3
Manipulation fichier .txt (Résolu) Bonjour, Savez-vous ou je peux trouver expliqué simplement comment faire des manipulation simple sur des fichier .txt? Le problème : j'ai un fichier de structure M/J/A [tab] hh:mm:ss [tab] C [tab] mS/cm [tab] m 03/11/2005 [tab] 15:15:08... www.commentcamarche.net/forum/affich-1530596-manipulation-fichier-txt

Résultats pour Clipper, caractère chr(26) et fichier txt

[MS-Dos] Ecrire dans un fichier texte en batchPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" :echo texte_à_ecrire > fichier_de_sortie.txtPour écrire à la fin d'un texte existant (concaténation) :echo "ecriture a la fin du fichier ">> fichier_de_sortie.txt www.commentcamarche.net/faq/sujet-2695-ms-dos-ecrire-dans-un-fichier-texte-en-batch
Sed - Numérotation de lignesNumérotation Numéroter les lignes (équivalent à "cat -n fichier.txt") sed = fichier.txt L'inconvénient c'est que l'affichage se fait sur 2 lignes. Donc pour palier à ce petit "défaut" sed = fichier.txt | sed 'N;s/\n/\t/' Numéroter les... www.commentcamarche.net/faq/sujet-5589-sed-numerotation-de-lignes
Sed - Insérer des espacementsEspacement dans un fichier Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot) : sed G fichier.txt Ajouter une ligne blanche après chaque phrase (ponctuée par un retour chariot), sans tenir compte des lignes blanches... www.commentcamarche.net/faq/sujet-5590-sed-inserer-des-espacements

Résultats pour Clipper, caractère chr(26) et fichier txt

C lecture fichier txt ligne par ligne (Résolu)Bonjour, j'aimerai lire un fichier txt ligne par ligne. Le but serai de commencer la lecture lorque la ligne commencera par " www.commentcamarche.net/forum/affich-4725325-c-lecture-fichier-txt-ligne-par-ligne
Scilab -> Importer un fichier txt volumineux (Résolu)Bonjour, Je suis confronté à un double problème dans le traitement de données contenues dans un fichier txt. 1- Il fait environ 7Mo, 1 200 000 valeurs environ. Il se présente sous la forme: 19;24;32;41 5;62;75;84 91;10;11;12 ... + environ 300 000... www.commentcamarche.net/forum/affich-7306577-scilab-importer-un-fichier-txt-volumineux
Script Shell pour parser un fichier txt (Résolu)Bonjour, voila j'ai un fichier txt de ce style : toto_tu|986541|2008-09-15|10101 liste_tu|8954|2008-09-15|19021 tat_te|liste_ta|81062|2008-09-15 toto_tu|4926458|2008-09-15|3604 news_autre|133346389|2008-09-15|Les articles |tata_te|3440070|2008-09... www.commentcamarche.net/forum/affich-8591842-script-shell-pour-parser-un-fichier-txt

Résultats pour Clipper, caractère chr(26) et fichier txt

Télécharger CloneSpyNe vous-êtes-vous jamais demandé après avoir télécharger des polices de caractères ou autres fichiers de l'Internet : est ce que je n'aurais pas déjà téléchargé ce fichier ? Et bien ne vous cassez plus les méninges, adoptez Clonespy. Clonespy est un... www.commentcamarche.net/telecharger/telecharger-34055484-clonespy