[RESOLU] Mise a la ligne
[RESOLU] Mise a la ligne
Yo,
J'aimerais savoir comment faire une mise a la ligne dans un string, merci !
J'aimerais savoir comment faire une mise a la ligne dans un string, merci !
Dernière modification par Anonyme 2 le mer. 21/sept./2011 14:03, modifié 1 fois.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Mise a la ligne
En espérant que tu parles bien du Stringgadget, le code ci-dessous te montre la manière de définir un string multiligne.
Code : Tout sélectionner
Enumeration
#MainForm
#String
EndEnumeration
OpenWindow(#Mainform, 0, 0, 320 , 200, "Utilisation de #PB_EventType_ReturnKey")
TextGadget(#PB_Any, 10, 20, 100, 22, "String multiligne")
StringGadget(#String, 10, 45, 300, 60, "S", #ES_MULTILINE)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
Case #PB_Event_Gadget
If EventGadget()=#String And EventType()=#PB_EventType_ReturnKey
MessageRequester("Information", "Houla c'est un roman que vous écrivez")
EndIf
EndSelect
ForEver
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Mise a la ligne
...
Dernière modification par Anonyme 2 le dim. 19/janv./2014 0:12, modifié 1 fois.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Mise a la ligne
Insere #CRLF$ entre chaque ligne
PS : Tu copie le résultat du debug dans un nouvel onglet de ton éditeur et tu veras le résultat.
Code : Tout sélectionner
String$=""
For i= 1 To 10
String$ + "Ligne "+ Str(i) + #CRLF$
Next
Debug String$
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Mise a la ligne
Autre solution est d'écrire directement dans un fichier grâce à l'utilisation de WriteStringN (Aide en cliquant sur ce lien)
Sauvegarde et compile ce code puis ouvre le fichier crée.
Code : Tout sélectionner
Enumeration
#Monfichier
EndEnumeration
If CreateFile(#Monfichier, "monfichier.txt") ; création d'un nouveau fichier texte...
For i=1 To 10
WriteStringN(#Monfichier, "Ligne "+Str(i)) ; écriture de 10 lignes (suivies du code 'Fin de Ligne')
Next
CloseFile(#Monfichier) ; ferme le fichier précédemment ouvert et enregistre les données
Else
MessageRequester("Information","Impossible de créer le fichier!")
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Mise a la ligne
...
Dernière modification par Anonyme 2 le dim. 19/janv./2014 0:12, modifié 1 fois.
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Mise a la ligne
#CTRLF$ ????? je ne connais pasDzoumaka a écrit :Le #CTRLF$ ne marche pas.
Le WriteStringN() marche, mais comment recuperer toutes les lignes d'un fichier texte, car le WriteString ne recupere que la 1ere ligne..

WriteString comme l'indique la documentation "Ecrit une chaîne de caractères dans le #Fichier" donc ..... ne récupere rien.
pour lire un fichier texte généré avec WriteStringN, tu utilises ReadString dans une boucle comme le montre le code ci-dessous.
Code : Tout sélectionner
Enumeration
#Monfichier
EndEnumeration
;/// Création du fichier et ecriture ligne par ligne ///
;Création d'un nouveau fichier texte
If CreateFile(#Monfichier, "monfichier.txt")
;Ecriture des données ligne par ligne (On va en mettre 10)
For i=1 To 10
WriteStringN(#Monfichier, "Ligne "+Str(i))
Next
;Fermeture du fichier (Important pour valider tes lignes)
CloseFile(#Monfichier)
Else
;Pas de chance ton disque est moisi et il est impossible de créer le fichier
MessageRequester("Information","Impossible de créer le fichier!")
EndIf
;/// Maintenant nous allons lire ton fichier texte ligne par ligne ///
MessageRequester("Information", "Lecture du fichier ligne par ligne")
;Ouverture du fichier en mode read uniquement
If ReadFile(#MonFIchier, "monfichier.txt")
;tant que la fin du fichier n'est pas atteint (Eof : End Of File)
While Eof(#MonFIchier) = 0
;Affiche ligne par ligne le contenu du fichier
Debug ReadString(#MonFIchier)
Wend
;Fermeture du fichier
CloseFile(#MonFIchier)
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Mise a la ligne
pour quelqu'un qui voulais commencer par coder un pentest, ça doit être dur de pas savoir lire un pauvre fichier texte...
sinon tu l'as lue la doc ?
sinon tu l'as lue la doc ?
Re: Mise a la ligne
...
Dernière modification par Anonyme 2 le dim. 19/janv./2014 0:13, modifié 1 fois.
Re: [RESOLU] Mise a la ligne
salut tous le monde
je déterre un peut le sujet
voila moi mon soucis ces pas lire / écrire dans le fichier texte mais récupérer une partie d'une ligne du fichier texte
Exemple :
Prénom : Shade
Age : 30
est moi je voudrais récupérer Shade et 30
le problème pour l'instant ces que j'arrive a récupérais toute la ligne mais pas ce que je voudrais
je vous remercie d'avance de votre aide les Ami(e)
je déterre un peut le sujet
voila moi mon soucis ces pas lire / écrire dans le fichier texte mais récupérer une partie d'une ligne du fichier texte
Exemple :
Prénom : Shade
Age : 30
est moi je voudrais récupérer Shade et 30
le problème pour l'instant ces que j'arrive a récupérais toute la ligne mais pas ce que je voudrais
je vous remercie d'avance de votre aide les Ami(e)
Re: [RESOLU] Mise a la ligne
Il y a plein de solutions, c'est la façon dont tu vas agencer ce que tu ecris dans ton fichier texte qui importe...
Tu peux faire comme un fichier CSV, c'est à dire en utilisant un séparateur :
Ensuite un stringfield te permettra de récupérer les données (que tu stockes dans une liste chainée)
Tu peux aussi simplement utiliser les commandes de PB pour créer un fichier pref...
Tu peux faire comme un fichier CSV, c'est à dire en utilisant un séparateur :
Code : Tout sélectionner
bob,marley,20
Tu peux aussi simplement utiliser les commandes de PB pour créer un fichier pref...
Code : Tout sélectionner
;Ecrire
If CreatePreferences("tonfichier_pref.txt")
PreferenceGroup("POTES")
WritePreferenceString("NOM", "Bob")
WritePreferenceString("PRENOM", "Marley")
WritePreferenceLong("AGE", 20)
close preferences()
;Lire
OpenPreferences("tonfichier_pref.txt")
PreferenceGroup("POTES")
Debug ReadPreferenceString ("NOM", "")
Debug ReadPreferenceLong ("PRENOM", "")
Debug ReadPreferenceFloat("AGE", 0)
ClosePreferences()
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: [RESOLU] Mise a la ligne
merci beaucoup
je teste sa de suite je te tien au jus
pour le fichier texte pref ces pas possible dans mon cas, car le fichier texte est creez par un autre logiciel
je teste sa de suite je te tien au jus
pour le fichier texte pref ces pas possible dans mon cas, car le fichier texte est creez par un autre logiciel
Re: [RESOLU] Mise a la ligne
sinon tu lis la ligne qui t'interresse dans un fichier , de cette façon:
mettons que tu veuille recuperer la 7em ligne d'un fichier "monfichier.txt"
mettons que tu veuille recuperer la 7em ligne d'un fichier "monfichier.txt"
Code : Tout sélectionner
If ReadFile(#MonFIchier, "monfichier.txt")
for ligne=0 to 5
ReadString(#MonFIchier) ; lit les 6 premiere lignes dans le vide
next ligne
ligne$=ReadString(#MonFIchier) ; la 7em ligne qui nous interresse
Debug ligne$ ;on l'affiche dans le Debugger ( lancer ce prg avec Debugger on )
;Fermeture du fichier
CloseFile(#MonFIchier)
EndIf
Re: [RESOLU] Mise a la ligne
re ta 1er solution est la bonne sa marche nikel
ces nikel maintenant je suis en train de m'amuser a découper mes ligne pour récupéré le ou les mot qui m’intéresse
je te remercie sa m’enlève une épine du pied
ces nikel maintenant je suis en train de m'amuser a découper mes ligne pour récupéré le ou les mot qui m’intéresse
je te remercie sa m’enlève une épine du pied