PB à toute heure et à tout moment. (à parcourir avec modération)

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 17-04-2007 14:36:04

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Fichier texte

Comment copier ce qui se trouve dans une variable string dans un fichier texte?

Hors ligne

 

#2 17-04-2007 14:50:24

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

Re: Fichier texte

Code: pb

string   ls_mystring
integer li_FileNum

ls_mystring = "Mon texte à moi"

li_FileNum = FileOpen("C:\Myfile.TXT", &

        LineMode!, Write!, LockWrite!, Append!)

FileWrite(li_FileNum, ls_mystring )

FileClose(li_FileNum)

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

Hors ligne

 

#3 17-04-2007 15:10:06

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: Fichier texte

Et comment faire si je veux écrire à la ligne (simuler la toucher entrer)?
j'ai essayé ça mais sa marche pas:

Code: pb

string   ls_mystring
integer li_filenum

ls_mystring = "Bonjour"
li_filenum = fileopen("C:\bobi1.txt", &
        linemode!, write!, lockwrite!, append!)
filewrite(li_filenum, ls_mystring )
ls_mystring = "Comment vas tu?"
filewrite(li_filenum, ls_mystring )
fileclose(li_filenum)



[edit] http://pbadonf.fr/forum/img/puntoolbar/smooth/bt_pre.png [ code=pb ]

Dernière modification par eRaSorZ (17-04-2007 19:17:19)

Hors ligne

 

#4 17-04-2007 15:12:13

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

Re: Fichier texte

Il existe déjà ton fichier ou non?


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

Hors ligne

 

#5 17-04-2007 15:15:44

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

Re: Fichier texte

Si ton fichier "bobi1.txt" existe déjà, essayes le code ci-dessous:

Code: pb

string   ls_mystring
integer li_filenum

ls_mystring = "Bonjour ~r~n"
li_filenum = fileopen("C:\bobi1.txt", &
        linemode!, write!, lockwrite!, append!)
filewrite(li_filenum, ls_mystring )
ls_mystring = "Comment vas tu?"
filewrite(li_filenum, ls_mystring )
fileclose(li_filenum)

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

Hors ligne

 

#6 18-04-2007 06:11:33

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: Fichier texte

Quel est la difference entre ~r et ~n?
Et sinon, quel est la commande pour effacer tout le texte du le fichier texte?

Hors ligne

 

#7 18-04-2007 07:10:26

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

http://yelims3.free.fr/Inclassables/Inclassable53.gif en général Aide Powerbuilder + Google permettent de répondre à pas mal de questions.... 

poche a écrit:

Quel est la difference entre ~r et ~n?

DOC PB : ~r    Carriage return  ~n    Newline or linefeed

GOOGLE/WIKI: CRLF


Et sinon, quel est la commande pour effacer tout le texte du le fichier texte?

soit tu le supprimes, soit tu écrase avec fileopen en mode Replace! ...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#8 18-04-2007 08:14:08

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: Fichier texte

Mais Wikipédia ne donne pas la raison : pourquoi sous Windows, la touche "retour chariot" génére deux caractères ?
L'explication est simple : celà vient des machines à écrire.
Sur les machines à écrire, pour changer de lignes il fallait faire deux choses :
1) faire revenir le rouleau encreur à droite (ou le curseur à gauche) : retour chariot : ~r
2) descendre d'une ligne : ~n

M$ a repris ce système pour MS-DOS et pour des raisons de compatibilité ascendante, on se cogne ça sous Vista


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

Hors ligne

 

#9 18-04-2007 08:24:16

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

merci http://img.presence-pc.com/forum/images/perso/maitre%20capello.gif


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#10 18-04-2007 08:27:14

Doctor Z  
Moderador
Award: PanchoeNacho
Lieu: Vale Figueira (Lisbonne)
Date d'inscription: 30-05-2006
Messages: 756
Pépites: 1,003,082
Banque: 877,135,234,297,804

Re: Fichier texte

poche a écrit:

Et comment faire si je veux écrire à la ligne (simuler la toucher entrer)?
j'ai essayé ça mais sa marche pas:

Code: pb

string   ls_mystring
integer li_filenum

ls_mystring = "Bonjour"
li_filenum = fileopen("C:\bobi1.txt", &
        linemode!, write!, lockwrite!, append!)
filewrite(li_filenum, ls_mystring )
ls_mystring = "Comment vas tu?"
filewrite(li_filenum, ls_mystring )
fileclose(li_filenum)



[edit] http://pbadonf.fr/forum/img/puntoolbar/ … bt_pre.png [ code=pb ]

Bonjour,

Si je ne m'abuse, tu peux faire suivre ton string de :

Code: pb

Char (13) + Char (10)

pour obtenir un retour charriot.

poche, pour ton information, voici les caractères spéciaux

~t    Tab
~r    Carriage return
~n    Newline or linefeed
~"    Double quote
~'    Single quote
~~    Tilde


http://www.userbars.com/i/543606.gif
Olivença, l'oubliée
Si tu es alentejane, que Dieu te bénisses, si tu ne l'es pas, que Dieu te pardonnes.

Hors ligne

 

#11 18-04-2007 08:27:18

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

Re: Fichier texte



HS
Ouaaah! Je savais pas que Vista était compatible avec les machines à écrire Remington
Fin HS


Dernière modification par foon (18-04-2007 08:29:43)


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

Hors ligne

 

#12 18-04-2007 08:30:45

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

Doctor Z a écrit:

Bonjour,

Si je ne m'abuse, tu peux faire suivre ton string de :

Code: pb

Char (13) + Char (10)

CQFD! 

Code: pb

char(13)+char(10)='~r~n'

N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#13 18-04-2007 08:37:25

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: Fichier texte

Et sinon, quel est la commande pour effacer tout le texte du le fichier texte?
a part :

Code: pb

li_filenum = fileopen("C:\bobi.rtf", &
          linemode!, write!, lockwrite!, Replace!  ) 
filewrite(li_filenum, "" )
fileclose(li_filenum)


[edit] http://pbadonf.fr/forum/img/puntoolbar/smooth/bt_pre.png [ code=pb ]

Dernière modification par poche (18-04-2007 08:37:50)

Hors ligne

 

#14 18-04-2007 08:58:34

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: Fichier texte

Exactement ce que tu as fait, mais tu peux supprimer la deuxième ligne (fileWrite).

Sinon, pour supprimer le fichier il existe FileDelete


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

Hors ligne

 

#15 18-04-2007 09:00:03

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

poche a écrit:

Et sinon, quel est la commande pour effacer tout le texte du le fichier texte?
a part :

Code: pb

li_filenum = fileopen("C:\bobi.rtf", &
          linemode!, write!, lockwrite!, Replace!  ) 
filewrite(li_filenum, "" )
fileclose(li_filenum)

ça ne te conviens pas ? trop de lignes de codes ? fais une fonction f_effacertoutletextedufichiertexte( as_nom_fichier )


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#16 18-04-2007 09:02:19

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

PS : merci d'utiliser la balise [ code=pb ] pour du code powerbuilder


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#17 18-04-2007 09:19:21

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: Fichier texte

Si mon fichier texte n'existe pas, comment le créer par code?

Hors ligne

 

#18 18-04-2007 09:24:10

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

Re: Fichier texte

Deux solutions:

- Le créer à partir d'une datawindow avec la fonction SaveAs
- utiliser les API windows:
http://pbadonf.fr/forum/viewtopic.php?pid=194#p194

Dernière modification par foon (18-04-2007 09:34:14)


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

Hors ligne

 

#19 18-04-2007 11:17:01

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

poche a écrit:

Si mon fichier texte n'existe pas, comment le créer par code?

FileOpen 


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#20 18-04-2007 11:31:30

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

Re: Fichier texte

eRaSorZ a écrit:

poche a écrit:

Si mon fichier texte n'existe pas, comment le créer par code?

FileOpen 

Oups, effectivement il y a ça dans l'aide PB:

File not found  If PowerBuilder does not find the file, it creates a new file, giving it the specified name, if the fileaccess argument is set to Write!.

Permettez-moi de me décerner le

Dernière modification par foon (18-04-2007 11:32:17)


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

Hors ligne

 

#21 18-04-2007 12:47:12

poche  
Membre Power Geek
Date d'inscription: 19-12-2006
Messages: 282
Pépites: 2,392
Banque: 0

Re: Fichier texte

Comment savoir combien il y a de lignes dans mon fichier texte?

Hors ligne

 

#22 18-04-2007 12:58:33

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

Re: Fichier texte

Bonjour, merci, au revoir.

(comme ça c'est fait...)


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

 

#23 18-04-2007 13:30:01

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: Fichier texte

http://yelims.free.fr/IPB/Invision-Board-France-185.gif


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#24 19-04-2007 08:00:26

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

Re: Fichier texte

poche a écrit:

Comment savoir combien il y a de lignes dans mon fichier texte?

Bon Poche, je te donne pas le code, mais une manière de procéder:

- Ouvrir le fichier en mode lineMode! et Read!
- Boucler sur le fichier en lisant ligne à ligne avec la fonction FileRead
- Dans la boucle, tu utilises un compteur pour déterminer le nombre de ligne lues
- Après la boucle, ne pas oublier le FileClose

Et voilà...


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

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22