Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : repere dans un fichier texte [ Système / Fichier & Disque ] (yabiyou)

jeudi 23 août 2007 à 17:47:10 | repere dans un fichier texte

yabiyou

Voila mon problème

J'ai un fichier texte, Nomfichier[0], je le parcours avec streamearder et stok les valeurs dans une arraylist. je veux repérer dans mon fichier le numero de la ligne contenant "# heure d'acquisition". Je n'arrive pas à savoir si c'est le bon code car quand j'essaie de convertir repere en string et l'afficher dans un label j'ai un message d'erreur...
voicii le code:

StreamReader

sr = newStreamReader(Nomfichier[0]);

String ligne;

ArrayList maListe = newArrayList();

 

int taille;

taille = 0;

while ((ligne = sr.ReadLine()) != null)

{

maListe.Add(ligne);

}

sr.Close();

int repere =maListe.IndexOf("# heure d'acquisition");

label1.Text = repere.ToString;


jeudi 23 août 2007 à 18:00:58 | Re : repere dans un fichier texte

_Syl_

Bonjour,

tel qu'est écrit ton code tu récupère la position de la chaine "# heure d'acquisition" dans ton objet liste.
L'erreur que tu obtiens est logique puisque c est dans les objets de ta liste (maListe[unePosition]) que tu as inséré les lignes de ton fichier.

Tu peux donc boucler sur tous les éléments de ta liste afin de regarder dans chacun d'entre eux si la chaine que tu cherches s'y trouve.

int laLigne=-1;
for(int i=0;i<maListe.Items.Count;i++)
{
if(maListe[i].IndexOf("tachaine")>0)
{
laLigne=i;
}
}

label1.Text = laLigne.ToString();

(je suis pas sur pour la récupération de la taille de la liste, le Items.Count, mais de mémoire je crois que c est ca)


Tu es sûr que la chaine en question n'apparait qu une fois dans le fichier ? Sinon tu ne récupèreras que la ligne de sa derniere occurence avec cette méthode.

Tiens nous au courant

Bonne fin de journée

_Syl_

vendredi 24 août 2007 à 09:44:06 | Re : repere dans un fichier texte

yabiyou

ça à pas l'air de fonctionner:
message d'erreur: object (maliste[i]) ne contient pas de défintion pour Indexof...

int laLigne=-1;

for(i=0;i<maListe.Count;i++)

{

if(maListe[i].IndexOf("# liste des mesures : Balayage=xx.xx Amplitude=xx.xx Phase=xx.xx [amp. phase pour voies suivantes]")>0)

{

laLigne=i;

}

}


vendredi 24 août 2007 à 10:07:39 | Re : repere dans un fichier texte

_Syl_

Bonjour,

Essaie avec un

if(maListe[i].ToString().IndexOf("tachaine")>0)



_Syl_

vendredi 24 août 2007 à 10:30:38 | Re : repere dans un fichier texte

yabiyou

Ca ne marche pas non plus...
j'ai i = -1

vendredi 24 août 2007 à 11:16:55 | Re : repere dans un fichier texte

_Syl_

Ca veut dire que la ligne :
"# liste des mesures : Balayage=xx.xx Amplitude=xx.xx Phase=xx.xx [amp. phase pour voies suivantes]"

ne se trouve nul part dans ton fichier

Quel est ton code exact ?

vendredi 24 août 2007 à 11:38:20 | Re : repere dans un fichier texte

yabiyou

La ligne existe bien à la ligne 75 donc dans maListe[74]
Mon code est le suivant:

StreamReader

sr = newStreamReader(Nomfichier[0]);

String ligne;

ArrayList maListe = newArrayList();

while

((ligne = sr.ReadLine()) != null)

{

maListe.Add(ligne);

}

sr.Close();

 

for(i=0;i<maListe.Count;i++)

{

if (maListe[i].ToString().IndexOf("# liste des mesures : Balayage=xx.xx Amplitude=xx.xx Phase=xx.xx [amp. phase pour voies suivantes]") > 0)

{

laLigne=i;

}

}

label1.Text=laLigne.ToString();


vendredi 24 août 2007 à 11:59:33 | Re : repere dans un fichier texte

_Syl_

La ligne existe dans le fichier ?
avec des xx.xx ?
si tu ouvres ton fichier dans un editeur de texte et que tu fais une recherche pour "# liste des mesures : Balayage=xx.xx Amplitude=xx.xx Phase=xx.xx [amp. phase pour voies suivantes]" il trouve ta ligne ?
Quand tu debug tu peux voir la ligne dans ta liste ?

vendredi 24 août 2007 à 13:19:44 | Re : repere dans un fichier texte

yabiyou

Quand j'ouvre le fichier avec notepad il me trouve bien  la ligne.
Par contre je sais pas utiliser le debug... ça fait une semaine que je fait du C# seulement.

vendredi 24 août 2007 à 14:47:15 | Re : repere dans un fichier texte

_Syl_

Bon donc à priori la ligne existe dans le fichier

Pour le Debug, tu peux mettre des points d'arrets

Tu cliques dans la fine colonne grise à gauche pour qu'un point rouge apparaisse en face de la ligne sur laquelle tu souhaites que le programme s'arrete.
Tu peux en mettre un sur la ligne
for(i=0;i<maListe.Count;i++)

Ensuite quand tu vas lancer ton appli via la touche F5, lorsque le programme arrivera à cette ligne il s'arrêtera et tu pourras voir le contenu de ta liste soit en cliquant dessus soit dans l explorateur automatique (les onglets du bas)

une fois que tu peux voir ce qu'il y a dans ta liste regarde aux environs de liste[74] pour voir ce qu'elle contient.

N'hésite pas à reposer des questions si je n'ai pas été assez précis (ce qui est surement le cas :))

_Syl_


1 2

Cette discussion est classé dans : fichier, ligne, texte, repere, sr


Répondre à ce message

Sujets en rapport avec ce message

Effacer une ligne d'un fichier texte [ par fafelle1 ] Bonjour, voila je vous explique mon petit probleme, si quelqu'un sais la reponse ou peut m'aider cce serai pas de refu :-)Bref voici mon souci : Je me Problème retour à la ligne dans un fichier texte [ par goldeneagle_4 ] Bonjour à tous,voilà j'ai un problème, j'utilise en C#.Net une richbox dans laquelle j'affiche du texte puis à partir du contenu de la richbox, je cré Lecture d'un fichier texte. [ par jjhoareau ] Bonjour,En C# (CSharp), j'aimerais lire un fichier texte et récupérer les données qui le composent ligne par ligne et les stocker dans des variables. fichier texte [ par ducker88 ] Bonjour à tous,J'aimerai savoir s'il existe un moyen rapide et simple de parcourir chaque ligne d'un fichier.J'enregistre des données dans un fichier Association de fichiers [ par holy_artefact ] J'ai besoin de savoir comment on obtient le chemin du fichier qui a été ouvert par l'utilisateur en C#?Exemple:Je suis sur mon bureau et je voit un fi Ajout de lignes dans Excel. [ par PeTeRsLaStAr ] Bonjour. Mon problème est le suivant. Je traite dans mon application (en C# donc) pas mal de collections que j'ajoute sous forme de lignes (et non pas lire fichier texte avec lignes séparées par des ";" [ par Jordan59 ] Bonjour à tous,Je réalise une application posant un QCMPour cela j'utilise un fichier texte avec sur chaque ligne une question et la réponse correspon Problème lecture de fichier [ par Steph115 ] Bonjour,J'ai  créer ce code en C# poru lire un fichier et le stocker ligne par ligne dans un tableau de String.Le problème c'est que le new efface tou lecture d'un fichier texte avec C# [ par wasim ] salut; je suis débutant avec le c# et j'ai un ptit pb:lorsque j'écris le code pour l'ouverture d'un fichier texte le compilateur de visual studio 2005 Probleme d'ecriture dans un fichier texte [ par francesdereve ] je veux avoir le chemin complet de mon fichier en lui donnant le nom.Dans mon texte box le chemin est affiché,mais je n'arrive pas à ecrire dans le fi


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.