Parcours de Listview

scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 10 mars 2004 à 19:03
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 10 mars 2004 à 23:54
bon ca compile pas :
Qql'1 pourrait me dire ce qui déconne & si les formules du genre 'System.Windows.Forms.ListBox' C propre ou bien si y'a moyen de raccourcir.
Il est bien connu qu'un développeur c fénéant.
Et pis au passage, y'a moyen de redéfinir 'long' en 's32' afin de rester standard pour du cross-platform ?
Thx
Vince

Method 1:
-----------
error CS0246: The type or namespace name 'ListViewItems' could not be found (are you missing a using directive or an assembly reference?)
Method 2:
-----------
error CS0117: 'object' does not contain a definition for 'Text'

*********

public void MyInit (System.Windows.Forms.ListBox _ObjectLb)
{
// Get all names METHOD1
foreach(ListItem i in _ObjectLb.Items)
{
}

// METHOD2
for (int i = 0; i < _ObjectLb.Items.Count; i++)
{
if (_ObjectLb.Items[i].Text == "toto")
{
// OK
}
}
}

----------------------------
C++ forever
C# amateur

3 réponses

scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
10 mars 2004 à 19:47
Bon G trouvé la réponse tt seul mais en C# doit-on vraiment tt le tps caster ?

public void MyInit (System.Windows.Forms.ListBox _ObjectLb)
{
for (int i = 0; i < _ObjectLb.Items.Count; i++)
{
string str = (string)_ObjectLb.Items[i];
if (str == "toto")
{
}
}
}

----------------------------
C++ forever
C# amateur
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 mars 2004 à 21:24
pas tout le temps, dans des collections typées ce n'est pas nécessaire comme de toute maniere elles n'acceptent qu'un seul type de données

mais le ListBox "stockant" des System.Object (dont tous les types derivent) tu dois forcement caster sinon le compilateur ne peut pas savoir ce qu'est l'objet

pour pouvoir taper ListBox au lieu de System.Windows.Forms.ListBox tu met
using System.Windows.Forms;

en debut de fichier

pour le long en s32 tu peux créer un alias comme ceci :
using s32 = System.Int64;

s32 sera ainsi un long
enfin là je suis pas sur d'avoir vraiment compris le sens de la question :)

Cocoricoooooooo !!!!
0
scoubidou944 Messages postés 714 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017
10 mars 2004 à 23:54
merci ca me permet de progresser, surtotu que de retoru du sport, G pas encore remis tous mes neurones en place.

Pour l'alias :
using s32 = System.Int64;
j'avais déjà vu cela qql part mais ca implique de le remettre à chaque début de fichier/
l'objectif est de revenir vers du s8,u8,s16,u16,s32,u32,f32,f64
déja C plus court d'écrire f64 que double ou f32 pour float ;p
en plus le sizeof(int) dépendant de la plateforme, je ne suis pas sur que sizeof(int) sur Itanium ne soit pas égal au mot machine cad 64 bits.
Bref, tt ca pour dire que le portage C mieux si à un endroit du code, on définit un type indiquant précisant son nombre de bit de resolutions ce qui permet de prévoir davantage les Integer Overflow très à la mode (cf les bug sur Debian sur le Kernel ;p)

----------------------------
C++ forever
C# amateur
0
Rejoignez-nous