IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

lire un fichier texte et comparer une chaine de caractere [Fait]


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut lire un fichier texte et comparer une chaine de caractere
    Bonjour à tous, j'ai un problème, j'ai une page web sur laquelle il y a un champ dans lequel on rentre un identifiant.

    je voudrais lire cet identifiant et le comparer a ceux qui sont éventuellement présent dans un fichier texte.

    Cependant je débute en ASP et donc je ne sais pas comment ouvrir le fichier, lire une chaine de caractère, la comparer avec l'identifiant. Et continuer jusqu'à trouver la même chaine ou jusqu'à la fin du fichier.

    merci de votre aide

  2. #2
    Membre chevronné
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Points : 1 839
    Points
    1 839
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par letom46 Voir le message
    Bonjour à tous, j'ai un problème, j'ai une page web sur laquelle il y a un champ dans lequel on rentre un identifiant.

    je voudrais lire cet identifiant et le comparer a ceux qui sont éventuellement présent dans un fichier texte.

    Cependant je débute en ASP et donc je ne sais pas comment ouvrir le fichier, lire une chaine de caractère, la comparer avec l'identifiant. Et continuer jusqu'à trouver la même chaine ou jusqu'à la fin du fichier.

    merci de votre aide
    essai ce lien que j'ai trouvé dans "Tutoriel ASP" sur le site

    http://msdn.microsoft.com/library/fr...bjectmodel.asp

    Si c'est bon n'oublie pas la balise résolu

  3. #3
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Bienvenu sur le forum.

    Tu peux regarder ici aussi: http://www.w3schools.com/asp/met_readline.asp.

    C'est expliqué un peu plus simplement.

    A+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    j'ai regardé un peu les liens que vous m'avez passé, mais je galère a mort!!
    En fait ce que je veut faire, la variable NUM vient d'une autre page html, elle contient un ID que je veut rechercher dans des fichiers textes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    ouvrir le fichier qui_a_repondu.txt
    TANT QUE on est pas a la fin du fichier
    {
    	lire une ligne
    	SI la ligne contient 'NUM'
    	{
    		envoyer sur la page deja_repondu.php
    	}
    }
    fermer le fichier qui_a_repondu.txt
     
    declarer trouver=0
    ouvrir le fichier numero_cp_up.txt
    TANT QUE on est pas a la fin du fichier
    {
    	lire une ligne
    	SI la ligne contient NUM
    	{
    		ouvrir qui_a_repondu.txt
    		ecrire 'NUM'+retour chariot dans qui_a_repondu.txt
    		fermer qui_a_repondu.txt
    		envoyer sur la page questionnaireup.php
    		trouver=1
    	}
    }
    fermer le fichier numero_cp_up.txt
     
    ouvrir le fichier numero_cp_corres.txt
    TANT QUE on est pas a la fin du fichier
    {
    	lire une ligne
    	SI la ligne contient 'NUM'
    	{
    		ouvrir qui_a_repondu.txt
    		ecrire 'NUM'+retour chariot dans qui_a_repondu.txt
    		fermer qui_a_repondu.txt
    		envoyer sur la page questionnairecorres.php
    		trouver=1
    	}
    }
    fermer le fichier numero_cp_corres.txt
     
    SI trouver !=1
    {
    	envoyer sur erreur.php
    }
    Pour le moment j'ai fait cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Set FSO = Server.CreateObject("Scripting.FileSystemObject") 
    dir= Server.MapPath("chemin repertoire")
    cheminfichier= dir & "\qui_a_repondu.txt"
    if FSO.FileExists(cheminfichier) then
    set fichier=FSO.OpenTextFile(cheminfichier,1,false)
    qui ne sert qu'à ouvrir un fichier...si j'ai bien saisi

    ensuite, pour les boucles while et if je sais vraiment pas comment faire

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Salut,

    Si tu accèdes à ta page de recherche de NUM après validation d'un formulaire où NUM est un champ de ce formulaire tu peux utiliser
    Ensuite il me semble que la fonction qui cherche une chaîne de caractère dans une autre est InStr() qui est expliquée ici

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ensuite il me semble que la fonction qui cherche une chaîne de caractère dans une autre est InStr() qui est expliquée ici
    en effet ça pourrait me servir, mais encore une fois ya un truc que je comprend pas lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Les exemples suivants utilisent la fonction InStr pour rechercher une chaîne : 
    Dim SearchString, SearchChar, MyPos
    SearchString ="XXpXXpXXPXXP" ' Chaîne dans laquelle rechercher.
    SearchChar = "P" ' Rechercher "P".
     
    ' Comparaison textuelle commençant à la position 4. Retourne 6.
    MyPos = Instr(4, SearchString, 
    SearchChar, 1)
    Pourquoi cela retourne 6, ya rien d'expliqué, 6 ça veut dire que la chaine a été trouvée??
    merci

  7. #7
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    En fait ça retourne 0 si la chaîne n'est as trouvée, la position de la chaîne trouvé dans le cas contraire (ici 6 car on commence à partir du 4° caractère et que le premier P suivant est à la 6° position à partir du 4° caractère)

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    aaaahhh ok, donc si c'est different de 0, la chaine est trouvée ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Août 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    exactement

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    pour le moment, j'ai fait ça, et je suppose que c'est truffé de fautes lol
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    <%
    //////////////////////////////ouverture en lecture//////////////////
    	Set FSO = Server.CreateObject("Scripting.FileSystemObject") 
    	dir= Server.MapPath("chemin repertoire")
    	cheminfichier= dir & "\qui_a_repondu.txt"
    	if FSO.FileExists(cheminfichier) then
    		set fichier=FSO.OpenTextFile(cheminfichier,1,false)
    ////////////////////////////////////////////////////////////////////
     
    //////////////////////////lecture fichier///////////////////////////
    	dim variable_lue,variable,var2
    //lire une ligne, l'extraire, rechercher une chaine dedans
    While*not*fichier.atEndOfStream =*fichier.readLine<br>		//tant qu'on est pas a la fin du fichier ?!
    	Set fichier=fs.OpenTextFile(Server.MapPath("qui_a_repondu.txt"), 1) //on lit un mot?!
     
    	variable=Instr(, variable_lue,NUM, 1)
    	if variable=0 then 	// 0-> chaine trouvée
    		var2=1
    	else
    	Set fichier=fs.OpenTextFile(Server.MapPath("qui_a_repondu.txt"), 1)
    	end if
    Wend
    if var2 <> 1 then
    	INPUT TYPE="HIDDEN" VALUE="erreurs/deja_repondu.php'" NAME="redirect">	//redirection vers la page déja repondu?!
    //////////////////////////////////////////////////////////////////////
    %>

  11. #11
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Et si tu essayais simplement comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%
    dim fs, t, x
    set fs = Server.CreateObject("Scripting.FileSystemObject") 
        set t = fs.OpenTextFile(Server.MapPath("chemin relatif du fichier"),1,false)
            x = t.ReadAll
            t.close
        set t = nothing
    set fs = nothing
    if instr(x, "NUM") then Response.Write("test")
    %>
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer une chaine de caractere à une autre
    Par cotede2 dans le forum Linux
    Réponses: 5
    Dernier message: 09/12/2009, 23h45
  2. Lire un fichier Texte d'1 bloc dans une chaine
    Par User dans le forum Langage
    Réponses: 6
    Dernier message: 13/09/2006, 21h56
  3. Réponses: 8
    Dernier message: 09/07/2006, 14h42
  4. Lire des fichiers texte (des chaines de caracteres) ifstream
    Par jamesleouf dans le forum SL & STL
    Réponses: 1
    Dernier message: 22/03/2006, 23h58
  5. Réponses: 2
    Dernier message: 04/11/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo