bonjour,
Merci de tes remarques.
je vais essayer d'y répondre
Pour un fichier texte, on appelle ça des lignes, pas des enregistrements.
Si j'ai mis "enregistrement" c'est que dans le cadre de mon travail, on appelle ça des enregistrements et non lignes (déformation professionnelle)
mais c'est une bonne remarque.
Il faudrait sécuriser le code : que se passe-t-il si le fichier n'existe pas ? Si l'ouverture échoue ? etc.
Le principe est d'utiliser "envoyer vers" via le clic droit de la souris, or en principe le fichier existe... (sauf si entre temps il a disparu ou été renommé...)
j'avais mis ce code et puis ôté suite à ma réflexion
1 2 3 4 5 6 7 8
| if Paramcount=0 then
begin
writeln('pas de fichier selectionné... Ce progamme ne doit pas être lancé seul...');
Writeln;
Write('Enter pour quitter ...');
readln;
exit;
end; |
c'est vrai je ne teste pas si l'ouverture échoue...
je ne teste pas non plus s'il s'agit bien d'un fichier pur texte,
si on envoie plusieurs fichiers...
etc...
Tu peux te passer de la chaine n (curieux nom pour une chaine ), en écrivant directement
[..]
Writeln('il y a ',i,' enregistrements. ');
oui j'aurai du mettre C comme chaine
mais j'ai mis n car comme nombre.. car c'est un nombre d'enregistrements (de lignes !) que je restitue. Mais c'est transparent pour l'utilisateur
pour ce qui est de du code c'est aussi un reflexe Lazarus/Delphi
exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
n:string;
begin
i:=100;
str(i,n);
ShowMessage('il y a' + n +' enreg.'); // bonne syntaxe
//ShowMessage('il y a ',i,' enreg.');
//Unit1.pas(35,39) Error: Wrong number of parameters specified for call to "ShowMessage"
// ou
//ShowMessage('il y a' + i +' enreg.');
//Unit1.pas(37,18) Error: Incompatible types: got "Constant String" expected "LongInt"
end; |
mais j'aurais du écrire dans mon source
Writeln('il y a '+n+' enregistrements. ');
cela aurait été plus logique
merci pour ta contribution
marrant pour un petit truc, un mini utilitaire, que j'ai écris en 10 minutes env ...
Partager