Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1442 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Utiliser le contenu d'un fichier texte sans composant memo

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Utiliser le contenu d'un fichier texte sans composant memo

n°1066324
darkangel
C2FFA
Posté le 29-04-2005 à 22:45:09  profilanswer
 

Bonsoir les gens :jap:  
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 [:xx_xx]  
 
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  [:tsouille] Donc demandez si ya un truc que vous n'avez pas bien compris
 
Voila, donc si vous avez des idées :o
 
ps: ca doit êtrefaisable sous delphi4, pas plus haut :D

mood
Publicité
Posté le 29-04-2005 à 22:45:09  profilanswer
 

n°1066350
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-04-2005 à 23:14:22  profilanswer
 

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 :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1066791
darkangel
C2FFA
Posté le 30-04-2005 à 14:01:58  profilanswer
 

[:ddr555]
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 :p Ya pas une fonction simple genre "takeline(file,n)" :D
:hello:

n°1066822
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-04-2005 à 14:39:38  profilanswer
 

:??: Si tu charges tout le fichier t'accèdes à la ligne d'index N via Liste[N] où Liste est ta liste


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1066837
darkangel
C2FFA
Posté le 30-04-2005 à 14:51:26  profilanswer
 

oui je vais faire comme ça, en fait, j'essayais de travailler sans liste directement dans le fichier :o Mais je vais utiliser cette methode ou celle du  memo, parce-que je m'en sors pas [:ddr555]. Au pire je modifierai plus tard :D

n°1066852
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-04-2005 à 15:22:13  profilanswer
 

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.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1066881
darkangel
C2FFA
Posté le 30-04-2005 à 15:39:30  profilanswer
 

ah d'accord, merçi pour ces précisions :)
:hello:

n°1067065
darkangel
C2FFA
Posté le 30-04-2005 à 19:08:01  profilanswer
 

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 [:pulpipi]
Tu vois quel est le problème?! :jap:


Message édité par darkangel le 30-04-2005 à 19:08:45
n°1067248
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-04-2005 à 21:30:07  profilanswer
 

T'as déclaré les fonctions/procédures dans "interface" mais pas leur contenu dans "implementation" [:spamafote]
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...)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1067266
darkangel
C2FFA
Posté le 30-04-2005 à 21:50:17  profilanswer
 

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à :o
 
En rajoutant Tmain., voiçi ce qu'il me sort :heink:  
http://achaifair.free.fr/tmain.png
 
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 [:yaisse2]
 
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 :o


Message édité par darkangel le 30-04-2005 à 21:51:57
mood
Publicité
Posté le 30-04-2005 à 21:50:17  profilanswer
 

n°1067275
darkangel
C2FFA
Posté le 30-04-2005 à 22:04:46  profilanswer
 

Gloups autant pour moi, c'était dans la section implementation qu'il fallait mettre les tmain [:cyriadis]  
 
Maintenant il se lance, merçi encore à toi :ouch: Plus que 2-3babioles à regler et c'est fini [:rhetorie du chaos]

n°1067298
antp
Super Administrateur
Champion des excuses bidons
Posté le 30-04-2005 à 22:44:43  profilanswer
 

darkangel a écrit :

mais me créé alors des fonction procedure en dessous qui n'ont pas à être là, puisqu'elle sont déjà là :o


 
Soit c'était buggé dans Delphi 4 soit tu les avais mal mises :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1067301
darkangel
C2FFA
Posté le 30-04-2005 à 22:46:29  profilanswer
 

C'était potentiellement une combinaison des 2 [:ddr555]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Utiliser le contenu d'un fichier texte sans composant memo

 

Sujets relatifs
ouverture d'un fichierscanner un texte entier
Ecrire un fichier dans un char *exécuter un fichier java sans jbuilder
pb Upload fichier tout bête ! [Demande] Envoie de fichier
Insérer le contenu d'un fichier TXT dans une table...Copier le contenu d'un fichier dans un buffer
Plus de sujets relatifs à : Utiliser le contenu d'un fichier texte sans composant memo


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR