cs_sim4444
Messages postés11Date d'inscriptionmercredi 19 janvier 2005StatutMembreDernière intervention25 juillet 2005
-
1 mai 2005 à 01:30
cs_sim4444
Messages postés11Date d'inscriptionmercredi 19 janvier 2005StatutMembreDernière intervention25 juillet 2005
-
3 mai 2005 à 03:03
Bonjour à tous,
j'aimerais créer une application qui lit des fichiers qui contiennent des commandes et que l'application exécute les commandes qu'il faut. Je m'explique...!!!
Je vais prendre comme exemple le fichier 0000.dat Imaginons que le code de ce fichier est le suivant :
ABJS
SJBA
ABBA
BJJA
SSSS
Supposons que le programme charge ce fichier (0000.dat) dans un mémo. Supposons aussi que chaque lettre représente une commande. Pour cette exemple on va dire que les lettres représentent les commandes suivantes :
A : ShowMessage('Allo!');
B : ShowMessage('Bonjour!');
J : ShowMessage('Joyeux Noël!')
S : ShowMessage('SSS');
Bon ce que j'aimerais c'est que le programme lit les lettre du fichier une par une et qu'il exécute la commande qui correspond. Je sais que l'exemple que j'ai fait est tout à fait inutile mais je vais évidemment le changer! Je veux juste comprendre le principe! Et en passant, je n'ai aucune idée comment je pourrais faire alors les grandes explications sont les bienvenue!
cs_sim4444
Messages postés11Date d'inscriptionmercredi 19 janvier 2005StatutMembreDernière intervention25 juillet 2005 3 mai 2005 à 03:03
lol t'as bien raison! Mais je m'intérrogeais justement si j'allais mettre la réponse! Donc pour je vais la mettre et tant mieux si ça sert à qq'un, si non, tant pis!
La solution est très simple :
{Procédure qui permet d'exécuter les commandes que je voulais lors du clique du bouton Button1...}
procedure TForm1.Button1Click(Sender: TObject);
var
Analyse : string;
Lettre : string;
NbreLignes : integer;
i : integer;
a : integer;
begin
if FileExists('0000.dat') then
begin
{Je charge le fichier dans un mémo...}
Memo1.Lines.LoadFromFile('0000.dat');
{Mémorisation du nombre de lignes...}
NbreLignes:=Memo1.Lines.Count;
{Pour toutes les lignes on fait : ...}
for i:= 1 TO NbreLignes Do
begin
Analyse:=Memo1.Lines.Strings[i-1];
{Pour chaque lettre on fait : ...}
for a:= 1 TO 4 DO
begin
Lettre:=Copy(Analyse,a,1);
{Les commandes selon les lettres : }
if Lettre = 'A' then
begin
ShowMessage('Allo!');
end;
if Lettre = 'B' then
begin
ShowMessage('Bonjour!');
end;
if Lettre = 'J' then
begin
ShowMessage('Joyeux Noël!');
end;
if Lettre = 'S' then
begin
ShowMessage('SSS');
end;
end;
end;
end
else
begin
ShowMessage('Fichier non trouvé');
end;
end;
Attention ! À retenir que le nombre de lignes de codes du fichier 0000.dat n'est pas important mais chaque ligne ne doit pas excéder 4 caractères (bien sûr, j'aurais pu y remédier mais ça ne me tentais pas!).