Utiliser le contenu d'un fichier texte sans composant memo - Delphi/Pascal - Programmation
Marsh Posté le 29-04-2005 à 23:14:22
Sachant que la propriété Lines du TMemo est un TStrings, et que la classe TStringList est aussi un TStrings, je te laisse deviner le nom de la classe à utiliser si tu veux juste jouer avec ce TStrings sans avoir tout le TMemo
Marsh Posté le 30-04-2005 à 14:01:58
bon j'ai à peu près vaguement réussi ce que je voulais, mais maintenant, je voudrais pouvoir me déplacer à une ligne voulue dans le fichier texte. On m'a dit d'utiliser la fonction seek, mais je ne comprends pas bien son fonctionnement Ya pas une fonction simple genre "takeline(file,n)"
Marsh Posté le 30-04-2005 à 14:39:38
Si tu charges tout le fichier t'accèdes à la ligne d'index N via Liste[N] où Liste est ta liste
Marsh Posté le 30-04-2005 à 14:51:26
oui je vais faire comme ça, en fait, j'essayais de travailler sans liste directement dans le fichier Mais je vais utiliser cette methode ou celle du memo, parce-que je m'en sors pas . Au pire je modifierai plus tard
Marsh Posté le 30-04-2005 à 15:22:13
Il y a rien de prévu pour te donner la N-ème ligne d'un fichier, vu que pour savoir où sont les lignes il faut de toute façon lire tout le contenu en comptant les retour à la ligne. Tu peux faire une boucle de ReadLn par exemple.
Marsh Posté le 30-04-2005 à 19:08:01
Bon j'ai presque finis, il y a justeun probléme à la compilation,c'estqu'il me sort l'erreur la:
[Erreur] MainUnit.pas(74): Déclaration forward ou external non satisfaite : 'TMain.appartient'
[Erreur] MainUnit.pas(75): Déclaration forward ou external non satisfaite : 'TMain.decouvrir'
[Erreur] MainUnit.pas(76): Déclaration forward ou external non satisfaite : 'TMain.mot_au_hasard'
appartient et mot_au_hasard sont des fonctions que j'ai rajouté et decouvrir une procedure,tandis que main est le nom de ma fiche princiaple. Cela s'arrete dans la partie type en haut de la feuille,j'ai d oublier un petit truc quelque part, mais je ne vois pas trop ce que c'est
Tu vois quel est le problème?!
Marsh Posté le 30-04-2005 à 21:30:07
T'as déclaré les fonctions/procédures dans "interface" mais pas leur contenu dans "implementation"
Essaie Ctrl+Shift+C quand le curseur est sur une des trois, pour qu'il crée les fonctions/procédures dans la partie implémentation ; mais en Delphi 4 je ne sais pas si ce raccourci existait déjà, il faut probablement les déclarer à la main.
Et si tu les as déjà déclarées dans implementation, t'as dû oublier de préfixer le nom de la fonction du nom de la classe (function TMain.appartient...)
Marsh Posté le 30-04-2005 à 21:50:17
Alors déjà le raccourcis fonctionne, mais me créé alors des fonction procedure en dessous qui n'ont pas à être là, puisqu'elle sont déjà là
En rajoutant Tmain., voiçi ce qu'il me sort
Le Tmain. je viens de le rajouter pour voir ce que celà fait, sinon cela s'arrete en message d'erreur comme j'avais dit plus haut.
Je ne sais pas si tu vas voir comme ça quel est le problème, mais bon, sait-on jamais
ps: le curseur est alors juste derrière appartient. De plus les fonctions sont déjà et dans implemtation et dans interface. Donc j'ai essayé t.main, mais je ne sais pas si c'est comme ça que tu pensais faire
Marsh Posté le 30-04-2005 à 22:04:46
Gloups autant pour moi, c'était dans la section implementation qu'il fallait mettre les tmain
Maintenant il se lance, merçi encore à toi Plus que 2-3babioles à regler et c'est fini
Marsh Posté le 30-04-2005 à 22:44:43
darkangel a écrit : mais me créé alors des fonction procedure en dessous qui n'ont pas à être là, puisqu'elle sont déjà là |
Soit c'était buggé dans Delphi 4 soit tu les avais mal mises
Marsh Posté le 29-04-2005 à 22:45:09
Bonsoir les gens
Je cherche donc un moyen de me servir d'un fichier texte banal pour y lire une chaine de caractère à la fois dedans : chaque ligne possède une certaine chaine de caractère et je veux fouttre dans une variable l'une de ces chaines de caractère (en fait une de ces lignes donc) au hasard.
J'ai pensé donc d'abord charger intégralement ce fichier texte dans un composant memo (ayant sa propriété visible à false donc) et ensuitemeservir facilement des propriétés de ce composant pour faire ce que je veux : par exemple la "propriété" memo.lines.count pour avoir le nombre de ligne et gerer facilement ma fonction hasard.
A propos, pour charger le fichier texte dedans, on fait bien comme ça:
memo.lines.loadfromfile(fichier_texte.txt);
Comme je trouve cette technique un peu "crade", je me demandais si on ne pouvais pas faire ceci directement du fichier texte, sans se servir donc du composant memo et de ses propriétés en intermédiaire
Bon je ne sais pas si j'ai été très clair, mais en même temps c'est encore assez fouilli dans ma tête Donc demandez si ya un truc que vous n'avez pas bien compris
Voila, donc si vous avez des idées
ps: ca doit êtrefaisable sous delphi4, pas plus haut