avatar69
Messages postés8Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention12 octobre 2009
-
19 juin 2009 à 09:39
avatar69
Messages postés8Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention12 octobre 2009
-
19 juin 2009 à 19:13
Bonjour,
je suis programmeur en PHP, PERL et je dois modifier un prog fait par un collegue en C# et la ca me fait tourner la tete !!!!!
J'ai la fonction substrings qui ne marche pas ca me fait une erreur suivante
Erreur 1 'object' ne contient pas une définition pour 'Substring' et aucune méthode d'extension 'Substring' acceptant un premier argument de type 'object' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?) C:\Documents and Settings\Administrateur\Mes documents\Visual Studio 2008\Projects\FeelImpClients\FeelImpClients\Form1.cs 63 39 FeelImpClients
J'ai besoin de faire du LEFT et du RIGHT sinon, quel est la meilleur solution ?
j'ai pas l'impression qu'on puisse faire du RIGHT avec substring mais que du LEFT ?
Voici mon script
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.IO;
namespace FeelImpClients
{
public partial class Form1 : Form
{
string strAppPath = Directory.GetCurrentDirectory();
ed73
Messages postés276Date d'inscriptionlundi 8 septembre 2008StatutMembreDernière intervention15 avril 20132 19 juin 2009 à 09:58
Bonjour,
Substring est une méthode de String donc row[96] étant de type Object il est normal que le compilateur te donne une erreur quand tu fais row[96].substring(2,5)
Left : str.Substring(0,5); // 5 premiers caractères
Right : str.Substring(str.Length - 5,5); // 5 dernier caractères
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 19 juin 2009 à 10:20
L'erreur me semble parler d'elle-même. Comme le dit ed73, la méthode Substring n'existe pas pour un object (et encore heureux, car toute classe hérite de object, et j'imagine mal ce que serait censé faire un code du genre "maVoiture.Substring()").
De plus, quand Intellisense (le système de saisie semi-automatique de Visual Studio) te propose une liste qui ne contient pas ce que tu cherches, tu as 99% de chances que ce ne soit pas valide de l'écrire.
Substring n'existe que dans la classe string. Donc il faut d'abord récupérer un string.
3 méthodes :
Si c'est un objet non null de n'importe quelle classe, tu peux faire monObjet.ToString();
Si c'est réellement un string, tu peux faire (string)monObjet. Si monObjet n'est pas un string => Exception
Tu peux également faire monObjet as string. Si monObjet n'est pas un string, ça renverra null.
Donc dans ton code : row[96].ToString().Substring(2, 5);
Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
avatar69
Messages postés8Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention12 octobre 2009 19 juin 2009 à 15:25
Merci pour vos réponses ca ma permi d'avancé un peu.
Mais la logique est completement differente de ce que j'ai l'habitude de f aire..... je m'en voie un peu pour un script qui aurais du me prendre meme pas 10 minutes..