Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

La meilleure facon...

6 réponses
Avatar
Claude
Bonjour à tous!

Je ne suis pas programmeur de métier mais infirmier. Je travaille avec
Visual Basic 5 Pro.
J`aimerais faire une simple application pour le travail et j`aimerais savoir
quelle serait la meilleure facon d`y parvenir.

Voici ce que j`aimerais faire:

1. Creer une liste d`employé, nom, téléphone qui veulent faire du temps
supplémentaire.
2. afficher cette liste par ordre d`ancienneté.
3. Afficher le premier nom et le numéro de téléphone à téléphoner
4. Si cette personne accepte, elle devient la dernière sur la liste.
5. Si elle refuse, la seconde personne a téléphoner s`affiche.
6. Quand une personne accepte ou refuse, la date ainsi que sa réponse
s`inscrit dans un fichier.

et voila! Quelle serait la meilleure facon de proceder en tenant compte que
je ne suis pas programmeur mais je n`en suis pas vraiment à mes débuts avec
VisualBasic 5.
Un de mes problemes fréquents est de capter une erreur système lorsque
j`essaie d`ouvrir un fichier sur disque et que celui-ci n`existe pas.
Exemple: Il faut bien que je crée le fichier des noms pour la première fois.
Si je l`ouvre en écriture, j`obtient une erreur que le fichier n`existe pas.

De plus, avec quelle type de variable devrais-je travailler?

Merci

Claude

6 réponses

Avatar
jhon29
elo.
si tu utilises VB5 pro, tu vas pouvoir travailler avec des
données au format access ( sans pour autant avoir besoin
d'Access sur le poste ) : dans le menu complément de vb,
tu devrais trouver "Gestionnaire de données" : un clic la
dessus t'ouvre un utilitaire qui va te permettre, entre
autre, de créer une petite ( voir un grosse ) base de
donnée, dans laquelle tu pourra stocker de facon trés
structurées toutes les infos dont tu as besoin ( Nom,
adresse, telephone, etc).

Pas le temps de faire un cours base de donnée et SQL ici,
mais si je comprends bien ton post, tu travailles avec des
fichiers texte. Or, dans ton cas, le temps que tu perdras
a te familiariser avec ces notions sera largement amorti
quant au developement de ton application.
De plus je suis sur que mister Picalausa se fera un
plaisir de te communiquer les meileurs pages MSDN
pour "bucher" sur JET et Access.

Enfin, si j'ai mal compris, et que tu es un expert en
SGBDR, et bien désolé.
Bonne chance en tout cas.

-----Message d'origine-----
Bonjour à tous!

Je ne suis pas programmeur de métier mais infirmier. Je


travaille avec
Visual Basic 5 Pro.
J`aimerais faire une simple application pour le travail


et j`aimerais savoir
quelle serait la meilleure facon d`y parvenir.

Voici ce que j`aimerais faire:

1. Creer une liste d`employé, nom, téléphone qui veulent


faire du temps
supplémentaire.
2. afficher cette liste par ordre d`ancienneté.
3. Afficher le premier nom et le numéro de téléphone à


téléphoner
4. Si cette personne accepte, elle devient la dernière


sur la liste.
5. Si elle refuse, la seconde personne a téléphoner


s`affiche.
6. Quand une personne accepte ou refuse, la date ainsi


que sa réponse
s`inscrit dans un fichier.

et voila! Quelle serait la meilleure facon de proceder en


tenant compte que
je ne suis pas programmeur mais je n`en suis pas vraiment


à mes débuts avec
VisualBasic 5.
Un de mes problemes fréquents est de capter une erreur


système lorsque
j`essaie d`ouvrir un fichier sur disque et que celui-ci


n`existe pas.
Exemple: Il faut bien que je crée le fichier des noms


pour la première fois.
Si je l`ouvre en écriture, j`obtient une erreur que le


fichier n`existe pas.

De plus, avec quelle type de variable devrais-je


travailler?

Merci

Claude



.



Avatar
Bismark Prods
Pour rester fidèle à ta demande, tu peux créer un type personalisé qui
contiendra les infos par personne et ensuite créer un tableau de ce type
pour contenir tout tes collaborateurs. Ce dernier pourra être écrit
séquentiellement dans un fichier texte et vice-versa. Cela étant il te
faudra ou moins 2 feuilles, 1 pour afficher une liste exhaustive, 1 pour la
saisie, et peut-etre 1 pour afficher le prochain numero a faire apparaitre
pour l'appeler et un champs pour inscrire la réponse.

Je sais pas si c'est une bonne solution mais tu peux d'abord vérifier
l'existence du fichier avec la fonction dir et puis si cela n'existe pas
encore le fait d'ouvrir un fichier en Binary, le créé automatiquement, puis
tu peux le refermer immédiatement et le rouvrir en séquentiel et remplir ton
fichiers. Le reste c'est du traitement pur et simple.


"Claude" a écrit dans le message de
news:
Bonjour à tous!

Je ne suis pas programmeur de métier mais infirmier. Je travaille avec
Visual Basic 5 Pro.
J`aimerais faire une simple application pour le travail et j`aimerais


savoir
quelle serait la meilleure facon d`y parvenir.

Voici ce que j`aimerais faire:

1. Creer une liste d`employé, nom, téléphone qui veulent faire du temps
supplémentaire.
2. afficher cette liste par ordre d`ancienneté.
3. Afficher le premier nom et le numéro de téléphone à téléphoner
4. Si cette personne accepte, elle devient la dernière sur la liste.
5. Si elle refuse, la seconde personne a téléphoner s`affiche.
6. Quand une personne accepte ou refuse, la date ainsi que sa réponse
s`inscrit dans un fichier.

et voila! Quelle serait la meilleure facon de proceder en tenant compte


que
je ne suis pas programmeur mais je n`en suis pas vraiment à mes débuts


avec
VisualBasic 5.
Un de mes problemes fréquents est de capter une erreur système lorsque
j`essaie d`ouvrir un fichier sur disque et que celui-ci n`existe pas.
Exemple: Il faut bien que je crée le fichier des noms pour la première


fois.
Si je l`ouvre en écriture, j`obtient une erreur que le fichier n`existe


pas.

De plus, avec quelle type de variable devrais-je travailler?

Merci

Claude





Avatar
Claude
Merci beaucoup pour vos solutions!

C`est une très petite liste d`environ 16 noms, je crois que je vais définir
une variable personalisé qui contiendra le numéro, le nom et le téléphone.

Merci encore
"Bismark Prods" wrote in message
news:
| Pour rester fidèle à ta demande, tu peux créer un type personalisé qui
| contiendra les infos par personne et ensuite créer un tableau de ce type
| pour contenir tout tes collaborateurs. Ce dernier pourra être écrit
| séquentiellement dans un fichier texte et vice-versa. Cela étant il te
| faudra ou moins 2 feuilles, 1 pour afficher une liste exhaustive, 1 pour
la
| saisie, et peut-etre 1 pour afficher le prochain numero a faire apparaitre
| pour l'appeler et un champs pour inscrire la réponse.
|
| Je sais pas si c'est une bonne solution mais tu peux d'abord vérifier
| l'existence du fichier avec la fonction dir et puis si cela n'existe pas
| encore le fait d'ouvrir un fichier en Binary, le créé automatiquement,
puis
| tu peux le refermer immédiatement et le rouvrir en séquentiel et remplir
ton
| fichiers. Le reste c'est du traitement pur et simple.
|
|
| "Claude" a écrit dans le message de
| news:
| > Bonjour à tous!
| >
| > Je ne suis pas programmeur de métier mais infirmier. Je travaille avec
| > Visual Basic 5 Pro.
| > J`aimerais faire une simple application pour le travail et j`aimerais
| savoir
| > quelle serait la meilleure facon d`y parvenir.
| >
| > Voici ce que j`aimerais faire:
| >
| > 1. Creer une liste d`employé, nom, téléphone qui veulent faire du temps
| > supplémentaire.
| > 2. afficher cette liste par ordre d`ancienneté.
| > 3. Afficher le premier nom et le numéro de téléphone à téléphoner
| > 4. Si cette personne accepte, elle devient la dernière sur la liste.
| > 5. Si elle refuse, la seconde personne a téléphoner s`affiche.
| > 6. Quand une personne accepte ou refuse, la date ainsi que sa réponse
| > s`inscrit dans un fichier.
| >
| > et voila! Quelle serait la meilleure facon de proceder en tenant compte
| que
| > je ne suis pas programmeur mais je n`en suis pas vraiment à mes débuts
| avec
| > VisualBasic 5.
| > Un de mes problemes fréquents est de capter une erreur système lorsque
| > j`essaie d`ouvrir un fichier sur disque et que celui-ci n`existe pas.
| > Exemple: Il faut bien que je crée le fichier des noms pour la première
| fois.
| > Si je l`ouvre en écriture, j`obtient une erreur que le fichier n`existe
| pas.
| >
| > De plus, avec quelle type de variable devrais-je travailler?
| >
| > Merci
| >
| > Claude
| >
| >
| >
|
|
Avatar
Jérôme Prioux
Vu le petit nombre de noms, tu peux utiliser des fichiers texte.
Ouverture du fichier en écriture :
Dim NF As Integer
Dim Fichier As String
Dim Nom As String
Dim Telephone As String

NF = FreeFile()
Fichier = "D:Noms.txt"

Open Fichier For OutPut As #NF
' Ecriture :
Write #NF, Nom, Telephone
Close NF

Lecture du fichier :
Open Fichier For Input As #NF

Do While Not EOF(NF)
Input, #NF, Nom, Telephone
Loop

La gestion de ce type de fichier est un peu lourde mais vu le peu de
données, ça peut suffire.
Les inconvénients : c'est uniquement à lecture séquentielle. Donc, une fois
qu'on a lu le fichier jusqu'à la fin, il faut le fermer et le rouvrir pour
le relire.
Pour Ajouter des données, il faut l'ouvrir en mode Append (attention, le
mode OutPut écrase tout le contenu du fichier existant éventuel !!!).
Pour supprimer un enregistrement, il faut recopier tous les enregistrements
dans un nouveau fichier sauf celui qu'on ne veut plus voir, supprimer le
fichier source et renommer le nouveau fichier.
Pour déplacer une personne de la première à la dernière place, il faudra
donc :
- Ouveir le fichier en lecture, en ouvrir un nouveau en écriture.
- Lire tous les enregistrements du premier et les réécrire dans le nouveau,
sauf bien sûr celui qu'on supprime de la première ligne.
- Fermer les deux fichiers. Supprimer le source (ou le renommer avec une
extension BAK) et renommer le destination avec le nom du source.
- Rouvrir le fichier en mode Append et y ajouter, avec Write, le nom et le
téléphone de la personne à déplacer à la fin.
Ouf !!!
Si on utilise Print, l'enregistrement sera du type :
Dupont 01 45 78 12 13
Si on utilise Write, l'enregistrement sera du type
"Dupont", "01 45 78 12 13"
Bon courage.

"Claude" a écrit dans le message de
news:
Merci beaucoup pour vos solutions!

C`est une très petite liste d`environ 16 noms, je crois que je vais


définir
une variable personalisé qui contiendra le numéro, le nom et le téléphone.

Merci encore
|
|
| "Claude" a écrit dans le message de
| news:
| > Bonjour à tous!
| >
| > Je ne suis pas programmeur de métier mais infirmier. Je travaille avec
| > Visual Basic 5 Pro.
| > J`aimerais faire une simple application pour le travail et j`aimerais
| savoir
| > quelle serait la meilleure facon d`y parvenir.
| >
| > Voici ce que j`aimerais faire:
| >
| > 1. Creer une liste d`employé, nom, téléphone qui veulent faire du


temps
| > supplémentaire.
| > 2. afficher cette liste par ordre d`ancienneté.
| > 3. Afficher le premier nom et le numéro de téléphone à téléphoner
| > 4. Si cette personne accepte, elle devient la dernière sur la liste.
| > 5. Si elle refuse, la seconde personne a téléphoner s`affiche.
| > 6. Quand une personne accepte ou refuse, la date ainsi que sa réponse
| > s`inscrit dans un fichier.
| >
| > et voila! Quelle serait la meilleure facon de proceder en tenant


compte
| que
| > je ne suis pas programmeur mais je n`en suis pas vraiment à mes débuts
| avec
| > VisualBasic 5.
| > Un de mes problemes fréquents est de capter une erreur système lorsque
| > j`essaie d`ouvrir un fichier sur disque et que celui-ci n`existe pas.
| > Exemple: Il faut bien que je crée le fichier des noms pour la première
| fois.
| > Si je l`ouvre en écriture, j`obtient une erreur que le fichier


n`existe
| pas.
| >
| > De plus, avec quelle type de variable devrais-je travailler?
| >
| > Merci
| >
| > Claude
| >
| >
| >
|
|




Avatar
Ledev
Bonjour,

Je pense qu'il parlait plutôt d'un exemple comme celui ci:

public type typContact
Nom as string * 50
Telephone as string * 10
Accepte as boolean
end type

dim Contact as typContact
dim f as integer

f=freefile
open app.path+"noms.txt" for random as f len=len(Contact)

Maintenant, admetont, pour lire tous les contacts et affichez tous ceux qui
ont accepté:
do while lof(1)/len(Contact)
get #1, a, Contact
if Contact.accepte=true then
debug.print Contact.nom+"["+Contact.Telephone+"] a accepté"
end if
loop

Puis, si on veus dire qu'un contact a décidé d'accepter:
do while lof(1)/len(Contact)
get #1, a, Contact
if ucase(Contact.nom)=UCase(NomDuContact) then
Contact.accept=true
put #1,a,Contact
end if
loop

Puis enfin, si on désire ajouter un Contact
dim NewContact as typContact 'Pour évité toute interérence avec un ancien
contact lue, on utilise pas la variable qui sert a lire
NewContact.nom=SonNom
NewContact.tel=SonTel
NewContact.acceptúlse 'Par défaut, il n'a pas acceptez.
put #1, (lof(1)/len(NewContact))+1, NewContact

Voilà, par contre si tu désire supprimer un contact, sa risque de t'éxiger
de passez par un fichier temporaire puis "retranscrire" tous le fichier
dedans mais sans le contact supprimer. Bon pour un ci petit fichier sa
suffiera, mais si tu souhaite un jour utiliser cette tehnique avec un gros
fichier(même si dans se cas, mieux vaut une BD), le meilleurs moyen est de
mettre dans le type une variable par exemple nommée Delete, de type booléan,
qu'on passe a true pour supprimer. Bon je ne rentre pas dans les détails sur
cette technique dans la mesure ou, vaus mieux une base de donnée ;-).

a+
Avatar
Claude
Merci mille fois Jérome et Ledev!

Claude

"Ledev" wrote in message
news:#
| Bonjour,
|
| Je pense qu'il parlait plutôt d'un exemple comme celui ci:
|
| public type typContact
| Nom as string * 50
| Telephone as string * 10
| Accepte as boolean
| end type
|
| dim Contact as typContact
| dim f as integer
|
| f=freefile
| open app.path+"noms.txt" for random as f len=len(Contact)
|
| Maintenant, admetont, pour lire tous les contacts et affichez tous ceux
qui
| ont accepté:
| do while lof(1)/len(Contact)
| get #1, a, Contact
| if Contact.accepte=true then
| debug.print Contact.nom+"["+Contact.Telephone+"] a accepté"
| end if
| loop
|
| Puis, si on veus dire qu'un contact a décidé d'accepter:
| do while lof(1)/len(Contact)
| get #1, a, Contact
| if ucase(Contact.nom)=UCase(NomDuContact) then
| Contact.accept=true
| put #1,a,Contact
| end if
| loop
|
| Puis enfin, si on désire ajouter un Contact
| dim NewContact as typContact 'Pour évité toute interérence avec un
ancien
| contact lue, on utilise pas la variable qui sert a lire
| NewContact.nom=SonNom
| NewContact.tel=SonTel
| NewContact.acceptúlse 'Par défaut, il n'a pas acceptez.
| put #1, (lof(1)/len(NewContact))+1, NewContact
|
| Voilà, par contre si tu désire supprimer un contact, sa risque de t'éxiger
| de passez par un fichier temporaire puis "retranscrire" tous le fichier
| dedans mais sans le contact supprimer. Bon pour un ci petit fichier sa
| suffiera, mais si tu souhaite un jour utiliser cette tehnique avec un gros
| fichier(même si dans se cas, mieux vaut une BD), le meilleurs moyen est de
| mettre dans le type une variable par exemple nommée Delete, de type
booléan,
| qu'on passe a true pour supprimer. Bon je ne rentre pas dans les détails
sur
| cette technique dans la mesure ou, vaus mieux une base de donnée ;-).
|
| a+
|
|