minimoix
Messages postés6Date d'inscriptionmardi 10 mai 2016StatutMembreDernière intervention28 mai 2016
-
13 mai 2016 à 12:48
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024
-
22 mai 2016 à 14:26
bonjour,
j'ai un exercice a faire mais je bloque un peu
voici l'énoncé
on souhaite crée un fichier qui contient les contacts d'un professionnel. ce fichier permet de savoir, pour une entreprise donnée, quel est le nom de la personne à contacter dans cette entreprise. les enregistrements dans le fichier sont donc constituées de :
- la raison sociale de l'entreprise (par exemple: SARL Moeve)
- le prénom et le nom de la personne à contacter( par exemple: Marc ASSIN)
- l'adresse éléctronique de la personne à contacter ( par exemple: [email]marc.assin@fai.Fr/email)
vous devez écrire, les trois méthodes suivantes:
- existe(RS): renvoie vraie si cette raison sociale existe déjà dans le fichier, faux sinon
- ajouter(RS,personne,email): ajoute ces informations dans le fichier à condition que la raison sociale n'existe pas déjà dans le fichier. ne renvoie pas de valeur
- trouve contact (RS): a partir de la raison sociale d'un entreprise, renvoie le prénom et le nom de la personne à contacter, ainso que son email ( par exemple: "Marc ASSIN [email]marc.assin@fai.fr/email)
j'ai déjà écrit ces fonctions les voici:
Module Module1 'trouver un RS existant Function existe(ByVal RS As String) As Boolean If Dir(contactspro) = "" Then existe = False Else Dim f As Integer Dim RSlu As String, trouve As Boolean f = FreeFile() FileOpen(f, contactspro, OpenMode.Input) trouve = False While Not EOF(f) And Not trouve Input(f, RSlu)
If RSlu = RS Then trouve = True End If End While FileClose(f) existe = trouve End If End Function
'ajoute un RS non existant Sub ajoute(ByVal RS As String, ByVal nom As String, ByVal email As String) If Not existe(RS) Then Dim f = FreeFile() FileOpen(f, contactspro, OpenMode.Append) WriteLine(f, RS, nom, email) FileClose(f) End If End Sub
'obtenir le nom et email d'une personne a partir du RS Function renseignement(ByVal RS As String) As String If Not existe(RS) Then renseignement = "non trouve" Else Dim f As Integer Dim RSlu f = FreeFile() FileOpen(f, contactspro, OpenMode.Input) While Not EOF(f) Input(f, RSlu) If RSlu = RS Then renseignement = RSlu 'LineInput(RS) End If End While FileClose(f) End If End Function
Sub Main()
End Sub
End Module
mais je voudrais vérifier que mon code est correct, je voudrais donc de l'aide pour crée ce fichier "contactspro" mais la je sèche!
j'avais penser mettre en tête :
const contactspro = "c:/bureau/contactspro.txt"
mais des que je fais ça , ça fausse le reste du code
ca me dit:
Avertissement 1 La variable 'RSlu' est passée par référence avant qu'une valeur ne lui ait été assignée. Une exception de référence null peut se produire au moment de l'exécution. C:\Users\simon\AppData\Local\Temporary Projects\ConsoleApplication1\Module1.vb 15 26 ConsoleApplication1
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 13 mai 2016 à 13:00
En VB.NET, désactives l'import automatique de Microsoft.VisualBasic (propriétés du projet/références) c'est un import qui te pourri ton code.
Ensuite, actives Option Strict et Option Explicit.
j 'ai essayé mais j 'ai encore plus d'erreur!
je suis débutant tu sais et tout n'est pas encore très clair pour moi
en faite ce que je n'ai pas bien compris et que je chercher a savoir c'est comment faire fonctionner ce programme
qu'est ce que je dois mettre dans le sub pour que le programme se lance ?
si je crée un fichier .txt comment le récuperer par ce programme ?
vb95
Messages postés3472Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention13 avril 2024169
>
minimoix
Modifié par vb95 le 15/05/2016 à 13:05
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 15 mai 2016 à 12:59
Quelles erreurs ?
Il faut que tu mette ton code dans le Sub Main, c'est le point d'entré du programme.
Pour lire un fichier, voir le lien que j'ai mis dans mon premier message.
j'ai regardé ton lien mais en faite je n'ai pas vu cette facon de faire dans mon cours et j'aimerais mieux me servir de mon cours
voila la methode qui m'a ete apprise pour lire un fichier
dim f as integer dim ligne as string f=freefile() fileopen(f, "C:\Users\simon\Desktop\contactspro.txt", openmode.input) while not eof(f) ligne = lineinput(f) msgbox(ligne) end while fileclose() end sub
donc j'ai teste ca fonctionne , les contacts aparaissent
maintenant ce que je voudrais faire , c'est creer le programme qui me permet d'utiliser les fonctions crées avec mon fichier
mais je ne sais pas ce qu'il faut mettre dans le sub main
je pensais faire un menu qui propose:
taper 1 pour ajouter un contact
taper 2 pour rechercher un contact
mais je sais pas comment m'y prendre
je sais pas trop si je m'exprime bien et si ce que je demande est assez clair
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 22 mai 2016 à 14:26
15 mai 2016 à 11:35
je suis débutant tu sais et tout n'est pas encore très clair pour moi
en faite ce que je n'ai pas bien compris et que je chercher a savoir c'est comment faire fonctionner ce programme
qu'est ce que je dois mettre dans le sub pour que le programme se lance ?
si je crée un fichier .txt comment le récuperer par ce programme ?
Modifié par vb95 le 15/05/2016 à 13:05
Pour un débutant en VB Net un excellent cours bien qu'il commence à dater : http://plasserre.developpez.com/cours/vb-net/
un bonjour à NHenry en même temps
15 mai 2016 à 12:59
Il faut que tu mette ton code dans le Sub Main, c'est le point d'entré du programme.
Pour lire un fichier, voir le lien que j'ai mis dans mon premier message.