Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Delphi .NET
Delphi .NET Forum d'entraide sur l'EDI Delphi pour .NET et Borland Developer Studio
Avant de poster -> F.A.Q. Delphi .NET, F.A.Q. Delphi ASP.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 08/04/2009, 16h34   #1
Benoit_T
Futur Membre du Club
 
Inscription : février 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 124
Points : 18
Points : 18
Par défaut problèmes avec tableau

Bonjour, je suis confronté à un problème dont je ne comprends pas l'origine. Lorsque j'exécute ce bout de code :

Code :
1
2
3
4
lineString : Array of String;
...
lineString := _in.ReadLine().split(' ');
        Console.WriteLine("caractère 1: "+lineString[0]+" ...");
j'obtient la sortie suivante:

caractère 1: ...

alors qu'avec le code suivant:
Code :
1
2
3
4
5
 
lineString : Array of String;
...
lineString := _in.ReadLine().split(' ');
        Console.WriteLine("caractère 1: "+in.ReadLine().split(' ')[0]+" ...");
j'obtient la sortie que je désire:
caractère 1:125 ...

Je ne comprends pas du tout le problème. la méthode Split de la classe string est censée me renvoyer un tableau de String (ce qu'elle fait avec succès). Lorsque j'affecte ma variable lineString de type Array of String, celle-ci n'est pas égale au tableau obtenu par _in.ReadLine().split(' ');...

Si quelqu'un voit d'où vient le problème (c'est peut être trivial mais débutant en delphi (et delphi prism), je ne voit pas d'où vient le problème.

Par avance merci.

Cordialement,
Benoit_T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2009, 16h46   #2
Benoit_T
Futur Membre du Club
 
Inscription : février 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 124
Points : 18
Points : 18
Je rajoute qu'en initialisant mon tableau avec la taille du tableau que renvoie le méthode ça marche (mais ça n'est pas pertinent):

Code :
1
2
3
4
5
lineString : Array of String;
...
lineString := new String[_in.ReadLine().split(' ').length];
lineString := _in.ReadLine().split(' ');
        Console.WriteLine("caractère 1: "+lineString[0]+" ...");
Cependant cette façon de faire ne me satisfait pas du tout car j'appelle deux fois la méthode ReadLine et du coup le tableau est initialiser avec la taille de la première ligne et prend les valeurs de la seconde ligne ...

Du coup ça ne marche pas ...
Benoit_T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2009, 17h17   #3
Benoit_T
Futur Membre du Club
 
Inscription : février 2006
Messages : 124
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 124
Points : 18
Points : 18
Bon en fait j'ai résolu mon problème, je lisais tout simplement une chaine vide ...
Benoit_T est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h58.


 
 
 
 
Partenaires

Hébergement Web