Opendialog et fichiers texte

Résolu
Tiekula Messages postés 13 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 18 août 2008 - 5 nov. 2005 à 12:53
f0xi Messages postés 4204 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 7 nov. 2005 à 02:28
Lorsque j'appel un opendialog, je ne peut plus ouvrir de fichier texte, après.

>L'ouverture de l'opendialog:
opendialog1.InitialDir:='';
opendialog1.Execute;
if opendialog1.filename='' then showmessage('Redéfinissez le chemin du fichier')
else edit1.Text:=opendialog1.FileName;

>L'ouverture de fichier:
ouverture_fichier_F;

i:=0;
form1.combobox3.clear;
//affichage de la liste de matricules d'individus
while not eof(F) do
begin
seek(F,i);
read(F,individu);
form1.combobox3.Items.Add(individu.matricule);


i:=i+1;
end;

:Les données de F ne sont plus lues!
A voir également:

5 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
5 nov. 2005 à 13:40
opendialog modifie le chemin par defaut de l'application donc ton
assignfile redemarre du chemin choisi pour ouvrir le fichier de
l'opendialog il faut faire:

assignfile(f,opendialog1.filename).

si tu veux repartir du repertoire precedent il faut le memoriser avant l'appel a opendialog.execute:

chemin_actuel: GetCurrentDir;

et le restaurer apres. SetCurrentdir(chemin_actuel);

bonne prog
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
5 nov. 2005 à 13:16
il y a plus simple pour charger un fichier texte dans un combobox:

form1.combobox3.Items.loadfromfile(opendialog1.FileName).

ensuite

comment ouvres-tu ton fichier dans ouverture_fichier_F?;

comment as-tu declaré ton fichier F?

si ton fichier est un fichier texte tu ne peux pas le charger dans une variable record.

bonne prog
0
Tiekula Messages postés 13 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 18 août 2008
5 nov. 2005 à 13:28
L'opendialog me permet de connaitre le nom d'un fichier autre que celui que je veux ouvrir avec "ouverture_fichier_F"

"ouverture_fichier_F" marche sauf après l'ouverture de l'opendialog.

Pour l'ouverture de F:

procedure ouverture_fichier_F;
begin
//Attribution d'un nom et d'un emplacement au fichier f
assignfile(F,'\individu.dat');

{$I-}reset(F);{$I+}
if ioresult<>0 then //rewrite(f) else reset(f);
begin
if not FileExists('/individu.dat') then
begin
rewrite(f)
end
else
begin
{$I-}closefile(F);
reset(F);
end;
end;



//mise en place du curseur au début du fichier
seek(F,0);
end;
0
Tiekula Messages postés 13 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 18 août 2008
5 nov. 2005 à 14:17
Merci beaucoup, ça marche.

Ca donne:
dossier_courant:=GetCurrentDir;
opendialog1.InitialDir:='';
opendialog1.Execute;
if opendialog1.filename='' then showmessage('Redéfinissez le chemin du fichier')
else edit1.Text:=opendialog1.FileName;
SetCurrentdir(dossier_courant);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f0xi Messages postés 4204 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 34
7 nov. 2005 à 02:28
cherche l'erreur :



dossier_courant:=GetCurrentDir;

opendialog1.InitialDir:='';

opendialog1.Execute;

if opendialog1.filename='' then showmessage('Redéfinissez le chemin du fichier')

else edit1.Text:=opendialog1.FileName;






A modifier par :



if opendialog1.execute then

edit1.text := opendialog1.filename;



tout simplement



TOpenDialog.Execute renvois True si l'utilisateur click sur le boutton OK de opendialog et qu'un fichier est selectionné.

Renvois False dans tout les autre cas (fichier non selectionné, appuis sur Annuler ou Fermer).
0
Rejoignez-nous