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

Free Pascal Discussion :

[Linux] Comment tester un path de façon case insensitive ? [Free Pascal]


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 18
    Par défaut [Linux] Comment tester un path de façon case insensitive ?
    Bonjour à tous,

    Je cale depuis un petit moment sur un problème avec FPC et sollicite votre aide.

    J'ai besoin de pouvoir tester si un fichier (avec son chemin complet) est présent ou pas sur un système Linux mais ceci avec la condition que le test doit être case-insensitive, y compris au niveau du path. Dit autrement , je voudrais que si je cherche à tester l'existence de "/root/test/toto.txt" , les chemins suivants soient considérés comme valides:

    • /root/Test/toto.txt
    • /root/TEST/toto.txt
    • /root/test/Toto.txt


    Merci d'avance pour l'aide ou les pistes que vous pourrez m'apporter.

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Bonjour !

    J'ai lu une discussion dans laquelle quelqu'un suggérait de changer la valeur de la constante typée FileNameCaseSensitive. Il faut voir si cela résout votre problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    program SetFileNameCaseSensitive;
     
    { Free Pascal 2.6.4
      Testé sous Windows
    }
     
    begin
      WriteLn(FileNameCaseSensitive); // TRUE
      FileNameCaseSensitive := FALSE;
      WriteLn(FileNameCaseSensitive); // FALSE
      ReadLn;
    end.

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 18
    Par défaut
    Citation Envoyé par Roland Chastain Voir le message
    Bonjour !

    J'ai lu une discussion dans laquelle quelqu'un suggérait de changer la valeur de la constante typée FileNameCaseSensitive. Il faut voir si cela résout votre problème.
    Merci pour votre réponse.
    J'ai fait le test et fondais beaucoup d'espoir sur cette piste, mais malheureusement FileNameCaseSensitive ne me permet pas de régler le problème. Même en positionnant cette constante à FALSE, j'obtiens le même résultat (les paths avec casse différente ne sont pas trouvés sous Linux).
    Encore merci.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    Pas de quoi ! Apparemment, c'était trop beau pour être vrai. Il doit bien y avoir une façon de faire ce que vous voulez mais, ne connaissant pas Linux, je préfère ne pas trop m'avancer. J'espère que quelqu'un d'autre vous proposera une solution.

  5. #5
    Membre averti
    Homme Profil pro
    ingenieur
    Inscrit en
    Octobre 2012
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingenieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 22
    Par défaut Et avec la directive de compilation {$I+ $I-
    tu test le premier chemin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {$I-}
    ASSIGN ( FICHIER_TRUC, CHEMIN_UN}
    RESET   (FICHIER_TRUC)
    {$I+}
    IF IORESULT <> 0 THEN
        BEGIN
       Tu test le chemin 2 (idem ci-dessus)
        IF IORESULT <> 0 THEN
              BEGIN
              TU test le chemin 3 (idem dessus}
              END;
        END;
    quand IORESULT = 0 c'est que ca marche

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 167
    Billets dans le blog
    9
    Par défaut
    @NOVICE76

    Effectivement on peut vérifier l'existence d'un fichier de cette façon mais cela ne résout pas le problème principal, car il faudrait tester toutes les variantes possibles de la chaîne, qui sont innombrables. Les trois exemples donnés par LeMontois n'épuisent pas toutes les possibilités.

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

Discussions similaires

  1. comment tester si une case d'un tableau est vide
    Par khadi8 dans le forum Débuter
    Réponses: 7
    Dernier message: 01/05/2013, 09h13
  2. Comment tester le watchdog Linux ?
    Par petitclem dans le forum Linux
    Réponses: 0
    Dernier message: 27/01/2011, 17h53
  3. comment tester si une case est cochée dans un fenêtre d'impression
    Par tibofo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/08/2009, 16h13
  4. Comment tester si un repertoire est vide sous Linux
    Par chouchouappc dans le forum Linux
    Réponses: 3
    Dernier message: 24/02/2005, 12h03

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