Opendialog et fichiers texte [Résolu]

Tiekula 13 Messages postés samedi 3 janvier 2004Date d'inscription 18 août 2008 Dernière intervention - 5 nov. 2005 à 12:53 - Dernière réponse : f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention
- 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!
Afficher la suite 

5 réponses

Répondre au sujet
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 5 nov. 2005 à 13:40
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jlen100
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 5 nov. 2005 à 13:16
0
Utile
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
Commenter la réponse de jlen100
Tiekula 13 Messages postés samedi 3 janvier 2004Date d'inscription 18 août 2008 Dernière intervention - 5 nov. 2005 à 13:28
0
Utile
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;
Commenter la réponse de Tiekula
Tiekula 13 Messages postés samedi 3 janvier 2004Date d'inscription 18 août 2008 Dernière intervention - 5 nov. 2005 à 14:17
0
Utile
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);
Commenter la réponse de Tiekula
f0xi 4304 Messages postés samedi 16 octobre 2004Date d'inscription 9 mars 2018 Dernière intervention - 7 nov. 2005 à 02:28
0
Utile
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).
Commenter la réponse de f0xi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.