John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009
-
19 août 2007 à 22:20
John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009
-
20 août 2007 à 18:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009 20 août 2007 à 18:23
Oki.
Avant de t'expliquer, j'ai vu quelques petites choses qui ne vont pas dans ton code, particulierement dans l'unité "Dictionnaire" puisque c'est elle qui te pose problème lors du chargement ou de la sauvegarde du fichier ...
A la ligne 49, tu ecris
if length(Edit1.Text)<3 then
Formerreur.showmodal
else
listdico.Items.Add(uppercase(Edit1.Text));
Edit1.Clear;
dico.listdico.Items.SaveToFile(open.filename);
Traduit textuellement, ça donne si la longueur est <3, j'affiche l'erreur, sinon j'ajoute l'element à la liste, ensuite je sauvegarde. Ce qui signifie qu'erreur ou pas, l'élement sera sauvegardé -> pas glop à mon avis ...
Il aurait été plus logique d'ecrire (pas la peine de sauvegarder un élément vide) :
if length(Edit1.Text)<3 then
begin
Formerreur.showmodal;
exit;
end;
listdico.Items.Add(uppercase(Edit1.Text));
Edit1.Clear;
dico.listdico.Items.SaveToFile(open.filename);
Ensuite je suis pas sûre que tu utilises correctement les compo TSaveDialog et TOpenDialog. Ceux ci sont censé ouvrir une boite de dialogue windows pour ouvrir ou sauver un fichier, or tu ne te sers pas de ces boîte de dialoges ...
Si tu veux sauver ou ouvrir un fichier, pas besoin de ces deux compo, écrire simplement "dico.listdico.Items.SaveToFile(<chemin fichier>)" devrait suffire.
Pour finir, si tu veux localiser un fichier qui est dans le même dossier que ton application fait comme ceci :
1) tu crée une variable chaine de caracteres
var CheminApplcation:string;
2) tu initialise ta variable avec le chemin complet vers ton application
james le programmeur
Messages postés1Date d'inscriptionmardi 9 mai 2006StatutMembreDernière intervention20 août 2007 20 août 2007 à 10:07
John, je n'ai pas compris comment faire pour la localisation du fichier dictionnaire, comment initialiser les champs "FileName" de "Open" et "Save".Si tu peux me donner plus de détail merci.
John Dogget
Messages postés384Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention 7 mai 2009 19 août 2007 à 22:20
Si je peux aider ...
De quelle remarque tu parles ?
20 août 2007 à 18:23
Avant de t'expliquer, j'ai vu quelques petites choses qui ne vont pas dans ton code, particulierement dans l'unité "Dictionnaire" puisque c'est elle qui te pose problème lors du chargement ou de la sauvegarde du fichier ...
A la ligne 49, tu ecris
if length(Edit1.Text)<3 then
Formerreur.showmodal
else
listdico.Items.Add(uppercase(Edit1.Text));
Edit1.Clear;
dico.listdico.Items.SaveToFile(open.filename);
Traduit textuellement, ça donne si la longueur est <3, j'affiche l'erreur, sinon j'ajoute l'element à la liste, ensuite je sauvegarde. Ce qui signifie qu'erreur ou pas, l'élement sera sauvegardé -> pas glop à mon avis ...
Il aurait été plus logique d'ecrire (pas la peine de sauvegarder un élément vide) :
if length(Edit1.Text)<3 then
begin
Formerreur.showmodal;
exit;
end;
listdico.Items.Add(uppercase(Edit1.Text));
Edit1.Clear;
dico.listdico.Items.SaveToFile(open.filename);
Ensuite je suis pas sûre que tu utilises correctement les compo TSaveDialog et TOpenDialog. Ceux ci sont censé ouvrir une boite de dialogue windows pour ouvrir ou sauver un fichier, or tu ne te sers pas de ces boîte de dialoges ...
Si tu veux sauver ou ouvrir un fichier, pas besoin de ces deux compo, écrire simplement "dico.listdico.Items.SaveToFile(<chemin fichier>)" devrait suffire.
Pour finir, si tu veux localiser un fichier qui est dans le même dossier que ton application fait comme ceci :
1) tu crée une variable chaine de caracteres
var CheminApplcation:string;
2) tu initialise ta variable avec le chemin complet vers ton application
CheminApplication:=ExtractFilePath(Application.ExeName);
3) si tu veux utiliser le fichier "dico.txt"
dico.listdico.Items.LoadFromFile(CheminApplication+'dico.txt');
Voila :)
20 août 2007 à 10:07
19 août 2007 à 22:20
De quelle remarque tu parles ?