Document Texte et PureBasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

J'avoue que tu as le mérite de m'avoir enfin fait comprendre le fonctionnement de StringField() ! 8) Cependant, je n'ai toujours pas trouvé comment faire mon tableau :

____Cln 1 Cln 2 Cln 3
Lgn1 Bla | Bli | Blo
Lgn2 Bla | Bli Bli | Blo Blo
Lgn3 Bla | Bli | Blo Blo

J'arrive soit à faire que des lignes soit que des colonnes mais pas les 2 ... :(
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: Document Texte et PureBasic

Message par G-Rom »

Dumli a écrit :J'avoue que tu as le mérite de m'avoir enfin fait comprendre le fonctionnement de StringField() ! 8) Cependant, je n'ai toujours pas trouvé comment faire mon tableau :

____Cln 1 Cln 2 Cln 3
Lgn1 Bla | Bli | Blo
Lgn2 Bla | Bli Bli | Blo Blo
Lgn3 Bla | Bli | Blo Blo

J'arrive soit à faire que des lignes soit que des colonnes mais pas les 2 ... :(

Utilise les structures ?
Structure colonnes
nom.s
prenom.s
etc...
endstructure

dim MonTableau.colonnes( NbLignes )

MonTableau(0)\nom = "Bob"
MonTableau(0)\prenom = "L'éponge"

0 est la ligne , le nombres de ligne est défini par NbLignes

@+
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Document Texte et PureBasic

Message par Backup »

Dumli a écrit :JCependant, je n'ai toujours pas trouvé comment faire mon tableau ::(
attends attends ! le doute m'habite !

tu cherche a faire quoi , un tableau DIM() ?
ou un tableau genre avec des lignes et des colonne comme pour un tableur ?
8O

parceque si c'est ça ,(case genre tableur) , faut passer par le Format RTF

voir le Tuto numero 16 de la section utilisateurs Averti
http://www.purebasic.fr/french/viewtopi ... =21&t=6664
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Faudrait pas utiliser un truc dans le genre ? http://www.purebasic.fr/french/viewtopic.php?t=3469 :?
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Salut tout le monde,
Bon je vais ré-expliquer mon problème. Je possède un document TXT qui me sert, si j'ose dire, de Base de Données et je voudrais pouvoir exploiter le contenu de ce document TXT dans mon programme. Ma base de données(ou document TXT) est composé de X lignes et de 4"colonnes". Dans mon programme, je voudrais pouvoir, par exemple, afficher une ligne au hasard de ce document ou encore afficher la colonne 4 de la ligne 25 par exemple. Pour ce fait je pense que le plus pratique serait de mettre tout le contenue du doc dans un tableau donc Dim(). Néanmoins je n'arrive pas à remplir ce tableau avec des Lignes ET des colonnes ...
J'en appelle donc à vous :wink:
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Document Texte et PureBasic

Message par nico »

Peux tu donner un exemple du formatage des données en précisant le délimitateur pour les colonnes dans ton fichier texte et confirmer que le délimitateur reste toujours le même!
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Pour le délimiteur, ya pas de problème je peux mettre celui que je veux. Pour l'instant c'est "|", mais je te répète que je peux le changer sans trop de problèmes. Un exemple de fichier TXT :

Bla | Cla | Dla Dlo | Ti |
Bli |Clo Cle | Dli | Ta Tu |
Blo | Clu | Dla Dlu | Te To |

Voila donc je voudrais que dés qu'il y a un "|", le programme change de colonne quand il rempli le tableau cependant il faut que, par exemple pour la 1er ligne, Bla Cla Dla Dlo Ti soit dans la même ligne mais Bla : colonne 1; Cla : colonne 2; Dla Dlo : colonne 3; Ti : colonne 4.

En espérant avoir étais clair,
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Document Texte et PureBasic

Message par Backup »

ont t'a pourtant donné toutes les clefs pour arriver a faire ce que tu veux :roll:
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Document Texte et PureBasic

Message par nico »

Au vu de ce que tu dis,
Tu as juste besoin de StringField, c'est pas compliqué!
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Le StringField() ne peut pas faire ce que je veux. La preuve en est que Dobro à fais un Programme uniquement composé de colonne. Et je n'arrive pas à faire Ligne + Colonne ! :(
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Document Texte et PureBasic

Message par Ar-S »

Sans avoir testé, si tu à 4x le caractère | comme référence, il te suffit de les compter.

Exemple : Ligne 2 colonne 3 signifierait "mot qui se trouve entre aprés le | numéro 6...
Ce serait bien plus simple nom ?
~~~~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
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Bon aprioris, je suis stupide ou idiot ... De toute façon je commence à être fatigué, je pense que je vais laisser tomber.
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

J'ai réussi !! 8O :D 8O Aprés avoir repris entièrement mon programme ... Maintenant, je voudrais ajouté le contenu dans une colonne avec ListIconGadget() sauf que ça ne fonctionne pas :

Code : Tout sélectionner

Width = DesktopWidth(0)
Height = DesktopHeight(0)
W=500
H=400

OpenWindow(0,(Width/2)-W/2,(Height/2)-H/2,W,H,"Verbe")
ListIconGadget(0,5,5,490,390,"Colonne 1",100)

For a=2 To 4
  AddGadgetColumn(0,a,"Colonne " + Str(a),100)
Next a

For l=1 To Ligne
  c1$+liste(1,l)+Chr(10)
Next l
For l=1 To Ligne
  c2$ + liste(2,l)+Chr(10)
Next l
For l=1 To Ligne
  c3$ + liste(3,l)+Chr(10)
Next l
For l=1 To Ligne
  c4$ + liste(4,l)+Chr(10)
Next l

AddGadgetItem(0,1,c1$)
AddGadgetItem(0,2,c2$)
AddGadgetItem(0,3,c3$)
AddGadgetItem(0,4,c4$)
J'obtiens le 1er mot de c1 c2 c3 et c4 soit 4 mots dans la colonne 1. Alors que je voudrais c1 dans la colonne 1, c2 dans la colonne 2,... avec des retours à la ligne à chaque mots, d'où l'utilisation de chr(10), non ?

Je crois que mon erreur viens de la valeur de Position dans AddGadgetItem(). :?
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Avatar de l’utilisateur
Dumli
Messages : 75
Inscription : dim. 14/févr./2010 22:28
Localisation : Sud de la France

Re: Document Texte et PureBasic

Message par Dumli »

Non, je n'y suis toujours pas arrivé. Je dois bloquer sur un truc tout bête en plus ... :?
Windows 7 Ultimate 64-Bit | Intel Core i5 CPU 750 @ 2.67GHz | 4,0 GB RAM | Sapphire Vapor-X ATI Radeon HD 4890 | 2,5 TeraOctet 7200 RPM
Avatar de l’utilisateur
Jacobus
Messages : 1559
Inscription : mar. 06/avr./2004 10:35
Contact :

Re: Document Texte et PureBasic

Message par Jacobus »

Exemple...

Code : Tout sélectionner

;Ci-dessous commenté, le contenu du fichier texte 
;(copier/coller tel que, mais sans les commentaires, dans le bloc-notes et enregsitrer)
;Donne par exemple : C:\Users\zobilamouche\Documents\My Stationery\Listedemerde.txt

; Bla
; Cla
; Dla Dlo
; Ti
; Bli
; Clo Cle
; Dli
; Ta Tu
; Blo
; Clu
; Dla Dlu
; Te To

;Ainsi pas de délimiteur, c'est au moment de la lecture du fichier que tu décides combien de ligne il faut lire pour
;correspondre avec ce que tu veux, 4 en l'occurence, pour 4 colonnes.
;donc... pour l'exemple

Global Filename$ = "C:\Users\zobilamouche\Documents\My Stationery\Listedemerde.txt" ; Changer ça...
If ExamineDesktops() <> 0
Width = DesktopWidth(0)
Height = DesktopHeight(0)
EndIf 
W=500
H=400

If OpenWindow(0,(Width/2)-W/2,(Height/2)-H/2,W,H,"Verbe")  
  
  ListIconGadget(0,5,5,490,390,"Colonne 1",100) ;colonne 0
  AddGadgetColumn(0,1,"Colonne 2",100)
  AddGadgetColumn(0,2,"Colonne 3",100)
  AddGadgetColumn(0,3,"Colonne4",100)  
  
  If ReadFile(0,Filename$)
    While Eof(0) = 0      ; lit jusqu'à la fin du fichier
      c1$=ReadString(0)    ; tu lis une ligne
      c2$=ReadString(0)    ; puis la suivante
      c3$=ReadString(0)    ; puis la suivante
      c4$=ReadString(0)    ; et encore une fois
      ;tu as donc lu 4 lignes représentant chacune 1 colonne
      ;maintenant l'affichage normal dans la listicon
      AddGadgetItem(0,-1,c1$+Chr(10)+c2$+Chr(10)+c3$+Chr(10)+c4$)
      ;ça c'est fait, donc on continue de boucler jusqu'à EOF 
      ;et on ajoute une ligne de 4 colonnes à chaque boucle
    Wend
    CloseFile(0)
  EndIf  
  
Repeat 
  Select WaitWindowEvent() 
    Case #PB_Event_CloseWindow: Break  
  EndSelect 
ForEver 
EndIf 
@+
Quand tous les glands seront tombés, les feuilles dispersées, la vigueur retombée... Dans la morne solitude, ancré au coeur de ses racines, c'est de sa force maturité qu'il renaîtra en pleine magnificence...Jacobus.
Répondre