Pascal question de débutant
Résolu/Fermé
A voir également:
- Pascal question de débutant
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Logiciel de programmation pour débutant - Guide
- Dev-pascal - Télécharger - Édition & Programmation
- Debut logiciel de capture video - Télécharger - TV & Vidéo
7 réponses
mnlad
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
8
8 juin 2008 à 13:59
8 juin 2008 à 13:59
A mon avis c'est le pud c'est une procedure qu'il a faite pour permettre l'ecriture dans le segond fichier creer qui est le fichier g alors que get permet de recuperer des donneés se trouvant dans le fichier f. Je dirai c'est un peu comme le get ou getter (get en anglais )
J'espere que c'est peu etre utilie mais essaye un peu de donner tout ce qu'il y a
Amicalement
J'espere que c'est peu etre utilie mais essaye un peu de donner tout ce qu'il y a
Amicalement
oh la ... a la touche (ta quel niveau ? -bac+(-10) )
merci de m'aider
y a il une réponse ?
merci de m'aider
y a il une réponse ?
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
8 juin 2008 à 17:10
8 juin 2008 à 17:10
comme l'a dit mnlad, il serait plus aisé de t'aider si tu nous donnes les fonctions/procédures/types/variables/unités définues avant ta fonction et que tu utilises car flèche, get et pud, ne me sont pas connu (certes je ne connais pas tout en pascal, mais tu dis question de débutant, alors...)
mnlad
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
8
8 juin 2008 à 17:27
8 juin 2008 à 17:27
si tu trouves cela tu peut bien comprendre et d'ailleurs peut etre que les lignes des codes que tu presentes font parties d'une grande portion de code ou d'un module que tu n'as pas mais auquel on fait appel alors tu ne comprendra pas facilement si tu ne possede tout le code
Alors ... Tu peut chercher au pres de celui qui a editer ce cours pour qu'il te donnes des explications bien precises ...
Alors ... Tu peut chercher au pres de celui qui a editer ce cours pour qu'il te donnes des explications bien precises ...
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
8 juin 2008 à 17:31
8 juin 2008 à 17:31
Normalement, toutes les procédures copier doivent se ressembler (à quelques type, ou fonctions intermédiaires près)
Celle-ci est surement la plus succincte :
procedure copier(cheminF,cheminG:string);
var f,g:file of char; c:char;
begin
assign(f,cheminF);
reset(f);
assign(g,cheminG);
rewrite(g);
while not eof(f) do
begin
read(f,c);
write(g,c);
end;
close(g);
close(f);
end;
Celle-ci est surement la plus succincte :
procedure copier(cheminF,cheminG:string);
var f,g:file of char; c:char;
begin
assign(f,cheminF);
reset(f);
assign(g,cheminG);
rewrite(g);
while not eof(f) do
begin
read(f,c);
write(g,c);
end;
close(g);
close(f);
end;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mnlad
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
8
8 juin 2008 à 18:10
8 juin 2008 à 18:10
oui comme ce que te donne KX ce la est claire, limpide et tu peut bien utiliser ce code pour bien comprendre tu peut voir le code suivant :
procedure copier(cheminF,cheminG:string);
var f,g:filer; lineread:string;
begin
lineread=' ';
assignfile(f,cheminF);
assignfile(g,CheminG);
{$I-} // On intercepte l'erreur qui peut subvenir avec l'ouverture du fichier
Reset(f);
{$I+}
if IOResult = 0 then
begin
Rewrite(g);
while not Eof(f) do
begin//On lit le contenu du fichier
ReadLn(f, lineread);//linereadpermet de stocker la valeur lue dans f
writeln(g,lineread);
WriteLn(lineread);//Affiche a l'écran la ligne copiée
inc(nombre_ligne);//On compte le nombre des lignes existantes
end;//end while
close(g);//Ferme le fichier g
CloseFile(f);//fermeture du fichier f
end else
WriteLn('Impossible d ouvrir le fichier cheminF suite a une erreur survenue ');
end;
procedure copier(cheminF,cheminG:string);
var f,g:filer; lineread:string;
begin
lineread=' ';
assignfile(f,cheminF);
assignfile(g,CheminG);
{$I-} // On intercepte l'erreur qui peut subvenir avec l'ouverture du fichier
Reset(f);
{$I+}
if IOResult = 0 then
begin
Rewrite(g);
while not Eof(f) do
begin//On lit le contenu du fichier
ReadLn(f, lineread);//linereadpermet de stocker la valeur lue dans f
writeln(g,lineread);
WriteLn(lineread);//Affiche a l'écran la ligne copiée
inc(nombre_ligne);//On compte le nombre des lignes existantes
end;//end while
close(g);//Ferme le fichier g
CloseFile(f);//fermeture du fichier f
end else
WriteLn('Impossible d ouvrir le fichier cheminF suite a une erreur survenue ');
end;
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
8 juin 2008 à 23:17
8 juin 2008 à 23:17
Une petite remarque, ce programme ne peux s'utiliser qu'avec des fichiers contenant du texte...
De plus il y a un petit oubli concernant la déclaration de nombre_ligne :
procedure copier(cheminF,cheminG:string);
var f,g:text; lineread:string; nombre_ligne:integer;
begin
lineread:=' '; nombre_ligne:=0;
Le reste est évidemment correct...
De plus il y a un petit oubli concernant la déclaration de nombre_ligne :
procedure copier(cheminF,cheminG:string);
var f,g:text; lineread:string; nombre_ligne:integer;
begin
lineread:=' '; nombre_ligne:=0;
Le reste est évidemment correct...
mnlad
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
8
8 juin 2008 à 18:49
8 juin 2008 à 18:49
Ou soit j'ai pus faire pour toi une petite procédure
procedure CopyFile(srcpath:string,destpath:string)
var
srcFile: Text;
destFile: Text;
line: string;
begin
AssignFile(srcFile, srcpath);
{$I-}
Reset(srcFile);
{$I+}
if IOResult = 0 then
begin
AssignFile(destFile, destpath);
{$I-} //Desactive le contrôle automatique des erreurs lors de l'acces au fichier
Rewrite(destFile);//Test l'ouverture du fichier
{$I+}//Active ce contrôle
if IOResult = 0 then //dans le cas ou l'ouverture s'est bien passée on fait la copie des fichiers
begin
while not Eof(srcFile) do
begin
ReadLn(srcFile, line);
WriteLn(destFile, line);
WriteLn('Copying: ', line);
end; // while not Eof
CloseFile(destFile);
WriteLn;
WriteLn('File successfully copied.');
end; // if destFile is OK
else writeln('Impossible d'ouvrir le fichier pour la lecture a cause d'une erreur survenue lors de l'ouverture'); //Sinon on ferme le fichier srcFile car on a pas su ouvrir le fichier destFile
CloseFile(srcFile);
end; // if srcFile is OK
else writeln('Impossible d'ouvrir le fichier pour la lecture a cause d'une erreur survenue lors de l'ouverture');
//On quitte le programme et l'execution s'arrete
end;
procedure CopyFile(srcpath:string,destpath:string)
var
srcFile: Text;
destFile: Text;
line: string;
begin
AssignFile(srcFile, srcpath);
{$I-}
Reset(srcFile);
{$I+}
if IOResult = 0 then
begin
AssignFile(destFile, destpath);
{$I-} //Desactive le contrôle automatique des erreurs lors de l'acces au fichier
Rewrite(destFile);//Test l'ouverture du fichier
{$I+}//Active ce contrôle
if IOResult = 0 then //dans le cas ou l'ouverture s'est bien passée on fait la copie des fichiers
begin
while not Eof(srcFile) do
begin
ReadLn(srcFile, line);
WriteLn(destFile, line);
WriteLn('Copying: ', line);
end; // while not Eof
CloseFile(destFile);
WriteLn;
WriteLn('File successfully copied.');
end; // if destFile is OK
else writeln('Impossible d'ouvrir le fichier pour la lecture a cause d'une erreur survenue lors de l'ouverture'); //Sinon on ferme le fichier srcFile car on a pas su ouvrir le fichier destFile
CloseFile(srcFile);
end; // if srcFile is OK
else writeln('Impossible d'ouvrir le fichier pour la lecture a cause d'une erreur survenue lors de l'ouverture');
//On quitte le programme et l'execution s'arrete
end;
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
8 juin 2008 à 23:27
8 juin 2008 à 23:27
Là encore, valable uniquement pour des fichiers de texte, et avec quelques fautes de frappe.
Il fallait lire :
procedure CopyFile(srcpath:string;destpath:string);
var
srcFile: Text;
destFile: Text;
line: string;
begin
AssignFile(srcFile, srcpath);
{$I-}
Reset(srcFile);
{$I+}
if IOResult = 0 then
begin
AssignFile(destFile, destpath);
{$I-} //Desactive le contrôle automatique des erreurs lors de l'acces au fichier
Rewrite(destFile);//Test l'ouverture du fichier
{$I+}//Active ce contrôle
if IOResult = 0 then //dans le cas ou l'ouverture s'est bien passée on fait la copie des fichiers
begin
while not Eof(srcFile) do
begin
ReadLn(srcFile, line);
WriteLn(destFile, line);
WriteLn('Copying: ', line);
end; // while not Eof
CloseFile(destFile);
WriteLn;
WriteLn('File successfully copied.');
end // if destFile is OK
else writeln('Impossible d''ouvrir le fichier pour la lecture a cause d''une erreur survenue lors de l''ouverture'); //Sinon on ferme le fichier srcFile car on a pas su ouvrir le fichier destFile
CloseFile(srcFile);
end // if srcFile is OK
else writeln('Impossible d''ouvrir le fichier pour la lecture a cause d''une erreur survenue lors de l''ouverture');
//On quitte le programme et l'execution s'arrete
end;
La confiance n'exclue pas le contrôle (comme disait mon prof de maths)
Il fallait lire :
procedure CopyFile(srcpath:string;destpath:string);
var
srcFile: Text;
destFile: Text;
line: string;
begin
AssignFile(srcFile, srcpath);
{$I-}
Reset(srcFile);
{$I+}
if IOResult = 0 then
begin
AssignFile(destFile, destpath);
{$I-} //Desactive le contrôle automatique des erreurs lors de l'acces au fichier
Rewrite(destFile);//Test l'ouverture du fichier
{$I+}//Active ce contrôle
if IOResult = 0 then //dans le cas ou l'ouverture s'est bien passée on fait la copie des fichiers
begin
while not Eof(srcFile) do
begin
ReadLn(srcFile, line);
WriteLn(destFile, line);
WriteLn('Copying: ', line);
end; // while not Eof
CloseFile(destFile);
WriteLn;
WriteLn('File successfully copied.');
end // if destFile is OK
else writeln('Impossible d''ouvrir le fichier pour la lecture a cause d''une erreur survenue lors de l''ouverture'); //Sinon on ferme le fichier srcFile car on a pas su ouvrir le fichier destFile
CloseFile(srcFile);
end // if srcFile is OK
else writeln('Impossible d''ouvrir le fichier pour la lecture a cause d''une erreur survenue lors de l''ouverture');
//On quitte le programme et l'execution s'arrete
end;
La confiance n'exclue pas le contrôle (comme disait mon prof de maths)
mnlad
Messages postés
29
Date d'inscription
samedi 7 juin 2008
Statut
Membre
Dernière intervention
13 août 2011
8
>
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
9 juin 2008 à 08:15
9 juin 2008 à 08:15
Merci beaucoup d'avoir fait cette correction car avec une bonne fatigue j'ai pas vraiment fait attention a d'autre erreurs de frappe
Merci ....
Merci ....