OVH Cloud OVH Cloud

fichier texte.

14 réponses
Avatar
ephores
Bonjour ,
je voudrais faire un simple petit agenda. J'ai un fichier texte de ce type :

"
10/09/2004
anniversaire
12/09/2004
reunion
bureau
rendez-vous
13/09/2004
restaurant

"

je voudrais pouvoir lire les info d'une date precise et afficher dans une
textbox.
aussi si je modifie le contenu du 12 septembre, qu'il supprime et remplace
par le nouveau contenu.

Merci les pro !

4 réponses

1 2
Avatar
houbahop2003
Il n'est pas nécéssaire d'installer Access pour creer une base access en VB
(mais access dispose d'un éditeur graphique assez facile a utiliser pour
creer une premiére base)
Par contre il faut installer le MDAC microsoft et lier microsoft activex
data object comme référence au projet.

Il doit y avoir des exemples simples sur www.planetsourcecode.com
Honettement, je n'ai jamais touché a windev. Je crois que pour un petit
agenda personnel, c'est un peu l'artillerie lourde ;)
Une petite base access pas trés performante fera trés bien l'affaire :)

D.


"ephores" <ephores(at)free.fr> a écrit dans le message de news:

oui c'est vrai, mais vous l'aurez compris, j'en suis pas la
malheureusement....
mais une question : faut il installer acces pour faire une base de données
avec VB ?
n'est il pas plus simple de programmer avec Windev dès qu'on touche aux
bases de données ?

Merci de m' m'eclairer.

"houbahop2003" a écrit dans le message de
news:ci2a96$ad3$
> Bonjour,
> C'est en me faisant faire un programme de ce genre la qu'un de mes


maitres
> de stage m'a fait découvrir les bases de données.
>
> Tu vas faire ton appli avec un fichier texte, puis quand ça marchera


bien,
> tu va dire, tiens, et si je rajouttais telle donnée, et telle donnée, et
> encore telle relation entre les personnes... etc. Et tu te rendra compte
par
> toi meme que ça va devenir de plus en plus complexe à gérer avec des
> fichiers, jusqu'au point ou tu sera bloqué.
>
> Et la il faut tout recommencer en utilisant une base de donnée qui est
> adaptée pour ce genre d'applis.
> L'idéal pour débuter, c'est une base access je crois ( *.mdb) .
> tu la cree soit avec Vb ou bien avec l'éditeur graphique d'access, puis


tu
> l'exploite en VB avec la technologie ADO.
>
> Le mieux c'est de te renseigner sur le net, ou bien d'acheter un petit
livre
> de poche VB qui contient les explications.
>
> Bonne chance !
>
>
> "ephores" <ephores(at)free.fr> a écrit dans le message de news:
> OwZuH#
> > Merci , je vais essayer de me debrouiller avec ça, mais ça risque


d'être
> > long si il faut charcher tous l'agenda en mémoire, car dans mon


exemple
il
> y
> > a trois dates et deux lignes par date, mais en réel....
> > existe t il une fonction du style Instr, où on lit le fichier et on
charge
> > en memoire ce qu'il y a entre deux caractere du style "*"
> > ansi je ferai :
> >
> > dans mon fichier texte :
> >
> > 10/09/2004
> > *anniversaire*
> > 12/09/2004
> > *reunion
> > bureau
> > rendez-vous*
> > 13/09/2004
> > *restaurant*
> >
> > "
> > dans ma fonction Open monfichier texte
> > while oef(1)... etc
> > if ligneÚte then 'affiche dans une textbox ce qu'il y a entre les 2


*
> >
> > Merci !
> >
> >
> > "Jean-Marc" a écrit dans le message de
> > news:41449267$0$12175$
> > > "ephores" <ephores(at)free.fr> a écrit dans le message de
> > > news:
> > > > Bonjour ,
> > > > je voudrais faire un simple petit agenda. J'ai un fichier texte de
ce
> > type
> > > :
> > > >
> > > > "
> > > > 10/09/2004
> > > > anniversaire
> > > > 12/09/2004
> > > > reunion
> > > > bureau
> > > > rendez-vous
> > > > 13/09/2004
> > > > restaurant
> > > >
> > > > "
> > >
> > > Hello,
> > > il faut formaliser un tout petit peu plus le format du fichier


texte:
> Est
> > ce
> > > que le format est toujours: une date, suivi d'infos, une info par
ligne,
> > la
> > > fin des données pour une date étant soit la fin du fichier soit une
> > nouvelle
> > > date?
> > >
> > > Si oui, alors ce n'est pas très compliqué.
> > >
> > > On lit le fichier, ligne par ligne; si c'est une date, alors on crée
une
> > > nouvelle entrée date,
> > > sinon, on stocke les infos comme apprtenant à la dernière date.
> > > On fera pour cela une structure de données assez simple, du genre
> > > Type EntreeCalendrier
> > > date as String
> > > infosJour(50) as String ' selon le nombre de trucs à stocker


pour
> une
> > > journée
> > > End Type
> > >
> > > et une bon tableau de tout ça:
> > >
> > > Dim Calendrier(1000) as EntreeCAlendrier
> > > ' on peut rendre tout ça dynamique, mais ce n'est pas le but semble


il
> > >
> > > On stocke le contenu de tout le fichier en mémoire.
> > >
> > > Exemple d'utilisation:
> > >
> > > Pour l'affichage, on affiche par exemple dans une list box les


entrées
> > > dates, puis dans un texte box multilignes les infos pour la date
> > > sélectionnée.
> > > On rafraichit juste le textbox sur l'évènement double clic de la
liste,
> > par
> > > exemple.
> > >
> > > Si l'utilisateur change une info, on stocke tout ça au bon endroit
dans
> le
> > > tableau.
> > >
> > > Puis à la fermeture du programme, on écrase le fichier texte qu'on
> > remplace
> > > par le nouveau, avec le contenu du tableau.
> > > On peu aussi aisément rajouter une entrée dans le tableau.
> > >
> > > Cela te semble t'il suffisant pour démarrer?
> > >
> > > --
> > > Jean-marc
> > >
> > >
> > >
> >
> >
>
>




Avatar
le_troll
Bonjour,

Ben affichable ou pas, un caractère de contrôle doit être prévu en "mot
réservé" car on ne sait jamais ce que peux faire l'utilisateur, par
ailleurs, quand on met au point, visuellement il est toujours plus pratique
dans un fichier texte de voir les délimiteurs que de les deviner...

Quant aux BDD, non, pour moi ça n'entre pas dans le cadre de la
programmation (même si certaines requêtes sont complexes), mais ça entre
dans le cadre du paramétrage. L'agenda en question peut très bien être fait
avec une interface acces, il n'y a pas besoin de programmer si c'est pour y
coller une BDD. De plus il te faut le runtime de la BDD, il te faut la
table, voire des mdp, si jamais ça s'altère ça ne tourne plus, si la version
change c'est pas toujours merveilleux... Sans omettre que la BDD, lire
directement les data ce n'est pas facile, et la table ne te laisse pas
toutes possibilité, elle est restrictive dans sa configuration...

Pour les fichiers, les extensions, il n'y a aucun problème, tu peux
gérer 10 fichiers toi même, faire des tables (index), etc... Pour preuve,
toute les applis individuelles utilisent rarement des BDD, ce type de
construction ne s'utilise que sur des applications en entreprise pour
accélérer le développement au détriment de la qualité et de la souplesse
d'un fichier, au risque de manipuler de moins en moins bien les fichiers...
De plus en plus, on emploie avec VB, Excel pour afficher le résultat, ou
Word, Access ou une autre BDD pour les fichiers, ce qui signifie en pratique
que pour programmer il faut (VB + Word + Access + Excel + Moteur de BDD),
désolé, mais VB fait tout ça tout seul, ça s'appelle de la programmation :o)

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"houbahop2003" a écrit dans le message de
news:ci2hib$c36$

"le_troll" a écrit dans le message de news:

> Bonsoir, j'ai lu un peu tout le fil, j'ai déjà fait des agendas,
> plusieurs observations qui n'engagent que moi:
>
> D'une part, je crois qu'il ne faut pas prévoir de taille fixe, car


tu
> peux un jour vouloir dépasser la taille prévue, donc il faut simplement


un
> mot clef sur lequel chercher, mais la date n'est pas suffisante, car tu
peux
> toi-même saisir une date, et alors là le programme ne saura plus


comment
> faire, par exp
> le 10/10/4 du écris rdv au 11/10/4
> Le programme ne va pas savoir quelle est la date qui indique le début de
ta
> data..
> Il faut mettre un signe spécial de début et de fin d'enregistrement,
c'est
> bien mieux, et si jamais l'utilisateur saisit ce signe, tu renvoies une
> erreur "mot réservé", par exp
> $D$...la date...<chr13>+<chr10>
> .....
> $F$<chr13>+<chr10>
> Là tu sais que tu dois chercher la date se situant juste après $D$


jusqu'à
> $F$ inclusivement..., puis à l'affichage évidemment tu enlèves ces
> marques...
>

Et pourquoi ne pas mettre un caractére ascii non affichable? (autre que
CRLF,TAB)
Au moins l'utilisateur ne le saisirait pas au clavier (on peut toujours
faire le test caractére réservé au cas ou il tenterai une combinaison
ALT+code)

> Ensuite, pour la modifications ou suppression, en dupliquant le
fichier
> en *.tmp, tu recopies tout sauf la date à modifier que tu changes, ou la
> date à supprimer que tu saute, puis tu tries...
>
> Pour terminer, je ne suis pas pour les BDD,
Moi si, de nos jours, on trouve des BDD partout, dans tous les systemes
d'information, s'en priver serait dommage
un programme doit être
> autonome,
En incluant la bibliothéque d'accés au données, le programme ne sera pas
moins autonome qu'avant.

>c'est source de plantage dans le futur,
Ah, parce que triturer un fichier texte dans tous les sens ca n'est pas
source de complexité et donc de plantage ?

> en plus ça t'enlève des
> manipulation intéressantes à faire, on doit être capable de tout faire


par
> fichier sois-même...
je suis ok ,c'est un exercice intéréssant...

Ce que je recommande, c'est de faire le test d'un fichier texte, et de
tenter une BDD aprés.
Dans ce cas ci, c'est un exemple simple, donc gérable avec des fichiers,
mais si un jour le programmeur veut faire plus complexe,
Il sera au pied du mur et comprendra de lui meme que ce n'est pas gérable


de
cette façon.

Dominique.







Avatar
ephores
Merci à vous tous , c'est un super forum qui encourage les novices comme moi
a aller plus loin. Je vais suivre tous vos conseilles et c'est vrai que ça
va m'apprendre beaucoup.



"le_troll" a écrit dans le message de
news:
Bonsoir, j'ai lu un peu tout le fil, j'ai déjà fait des agendas,
plusieurs observations qui n'engagent que moi:

D'une part, je crois qu'il ne faut pas prévoir de taille fixe, car tu
peux un jour vouloir dépasser la taille prévue, donc il faut simplement un
mot clef sur lequel chercher, mais la date n'est pas suffisante, car tu


peux
toi-même saisir une date, et alors là le programme ne saura plus comment
faire, par exp
le 10/10/4 du écris rdv au 11/10/4
Le programme ne va pas savoir quelle est la date qui indique le début de


ta
data..
Il faut mettre un signe spécial de début et de fin d'enregistrement,


c'est
bien mieux, et si jamais l'utilisateur saisit ce signe, tu renvoies une
erreur "mot réservé", par exp
$D$...la date...<chr13>+<chr10>
.....
$F$<chr13>+<chr10>
Là tu sais que tu dois chercher la date se situant juste après $D$ jusqu'à
$F$ inclusivement..., puis à l'affichage évidemment tu enlèves ces
marques...

Ensuite, pour la modifications ou suppression, en dupliquant le


fichier
en *.tmp, tu recopies tout sauf la date à modifier que tu changes, ou la
date à supprimer que tu saute, puis tu tries...

Pour terminer, je ne suis pas pour les BDD, un programme doit être
autonome, c'est source de plantage dans le futur, en plus ça t'enlève des
manipulation intéressantes à faire, on doit être capable de tout faire par
fichier sois-même...

Si tu veux les sources de mon agenda, tu me dis (mais il est assez
étoffé, il calcule la position de la lune, etc)...

--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !


"ephores" <ephores(at)free.fr> a écrit dans le message de
news:
> Bonjour ,
> je voudrais faire un simple petit agenda. J'ai un fichier texte de ce


type
:
>
> "
> 10/09/2004
> anniversaire
> 12/09/2004
> reunion
> bureau
> rendez-vous
> 13/09/2004
> restaurant
>
> "
>
> je voudrais pouvoir lire les info d'une date precise et afficher dans


une
> textbox.
> aussi si je modifie le contenu du 12 septembre, qu'il supprime et


remplace
> par le nouveau contenu.
>
> Merci les pro !
>
>




Avatar
Boss Hog
Salut,
c'est bien que tant de gens te répondent mais moi ce qui m'interpelle c'est:

Pourquoi ne pas utiliser XML ? pour ce genre d'appli ?!
enfin c'est vous qui voyez....
@+
Boss Hog

"ephores" <ephores(at)free.fr> wrote in message
news:
Bonjour ,
je voudrais faire un simple petit agenda. J'ai un fichier texte de ce type


:

"
10/09/2004
anniversaire
12/09/2004
reunion
bureau
rendez-vous
13/09/2004
restaurant

"

je voudrais pouvoir lire les info d'une date precise et afficher dans une
textbox.
aussi si je modifie le contenu du 12 septembre, qu'il supprime et remplace
par le nouveau contenu.

Merci les pro !




1 2