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

Delphi Discussion :

[Debutant] 2 Questions sous Delphi5


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [Debutant] 2 Questions sous Delphi5
    Bonjour,

    Je suis sous delphi 5, j'ai 2 questions.

    1// Je voudrais savoir comment ouvrir un fichier texte se trouvant dans le meme dossier que l'executable.

    2// Je voudrais savoir comment faire un mélange de lettres choisies, par exemple pour sortir une chaine de caractères de a à z au hasard je fais : melange := 97+random(26); et j'aimerais par exemple faire une mélange des lettres "a" "p" "r"
    est-ce possible ?

    Merci d'avance, bonne journée

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 454
    Points : 24 866
    Points
    24 866
    Par défaut
    Tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringList.LoadFromFile('.\MonFichier.txt');
    si il n'y a pas eu de changement du répertoire encours ou sinon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TStringList.LoadFromFile(ExctractFilePath(Application.ExeName)+'MonFichier.txt');
    sinon tu as au aussi AssignFile, ReadLn, ...

    pour ton mélange

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    melange := ''; // string;
    melange := melange +  Chr(Ord('A') + random(26)); 
    ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2002
    Messages : 27
    Points : 30
    Points
    30
    Par défaut [Debutant] 2 Questions sous Delphi5
    Bonjour ,
    pour ta premiere question
    1. comment ouvrir un fichier qui se trouve dans le meme dossier que ton application.
    tu as le code suivant qui te donne le chemin de ton application .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Var 
       F: Text;
       Chemin :string;
     begin
       Try
        Chemin := ExtractFilePath(Application.ExeName);
        AssignFile(F , Chemin+'NomFichierAvecExtension');
        Reset(F);
        (* Faire le traitement sur le fichier *)
       Finally
         CloseFile(F);
       End;
     end;
    2.Pour ta deuxieme question.
    Elle se divise en 2 partie
    Premiere partie :
    Pour faire un mélange avec des lettre aléatoirement de 'a' à 'z'
    Voici la fonction tu lui donne la taille de ta chaine et elle te rend en sortie une chaine aléatoire constituée de 'a' à 'z' (aléatoirement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        function ChaineAleatoire(Taille : integer) : string;
          var i : integer;
               chaine : string; 
         begin
              chaine := '';
              for i:= 1 to Taille do chaine := chaine + chr(97 + Random(26)) ;
              Result := chaine  
          end;
    Pour la deuxieme partie :
    tu auras besoin d'un tableau dans lequel tu stock les caracteres voulus dans la chaine .
    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
     
       function ChaineAleatoireCarVoulu (Taille : integer) : string;
        var
          TAB : Array[0..2] of  char;
          I : integer;
          Chaine : string;
        Begin
         TAB[0] := 'a';
         TAB[1] := 'p';
         TAB[2] := 'r';
         Chaine := '';
         For i:= 1 to Taille do 
           Chaine := Chaine + Tab[Random(2)];
     
        Result := Chaine; 
     
        End;
    J'espere que ca te conviendra .
    Cordialement.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci de vos réponses !

    J'ai testé pour ouvrir le fichier texte mais ca ne marche pas, les 2 techniques ne fonctionnent pas, j'ai fais deux screenshots :

    http://img338.imageshack.us/img338/5279/erreur1xm8.jpg
    http://img404.imageshack.us/img404/1259/erreur2dv6.jpg

    Pour le mélange, je testerais plus tard, ca ma l'air bien compliqué ^^'

  5. #5
    Membre actif Avatar de petitprince
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    322
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juillet 2006
    Messages : 322
    Points : 267
    Points
    267
    Par défaut
    Houla!! Y a du boulot....
    Déjà, un coup de F1, ça peut aider...
    Bref, TStringList est un Objet, il faut le creer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var
     MaListe:TStringList;
    begin
     MaListe:=TStringList.Create;   // on crée l'objet
     MaListe.LoadFromFile('MonText.txt');
     MaListe.Free;   // on oublie pas de le libérer !!!
    end;
    Ne Surtout pas oublier de libérer ton objet en fin de procédure !!

    Mais avec ca, tu ne vois rien !! Un simple mémo ca suffit pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Memo1.LoadFromFile('MonText.txt');
    Pour le deuxième bug:
    Voilà....
    Je te laisse le soin de paufiner le reste...
    A plus!

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 454
    Points : 24 866
    Points
    24 866
    Par défaut
    Merci, petitprince, ... d'avoir compléter ma réponse, mais oui, F1, c'est indispensable, on ne peut toujours donner un code complet à toutes les questions mais un piste ..., faudrait que je précise quand je met du vrai code ou une pseudo proposition

    Pour ton problème sur Text il faut utiliser TextFile, c'est la même chose, mais l'un est "deprecated" (obselète) et je ne sais plus dans quel uses il est dispo ...
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. [debutant STL] question sur les vectors
    Par killerjeff dans le forum SL & STL
    Réponses: 13
    Dernier message: 19/08/2004, 17h32
  2. [Debutant(e)]Impression sous Eclipse 3.0 Linux/motif
    Par Archangelo dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 30/06/2004, 17h30
  3. Réponses: 2
    Dernier message: 04/06/2004, 10h36
  4. Réponses: 2
    Dernier message: 14/04/2004, 19h37
  5. [Debutant]Procedure stockee sous MSDE
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/04/2004, 10h39

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