jihednond
Messages postés143Date d'inscriptionjeudi 27 mars 2008StatutMembreDernière intervention 3 septembre 2011
-
31 oct. 2010 à 21:17
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 2017
-
1 nov. 2010 à 17:19
bonjour,
je suis en cour de création d'un petit jeux OnLine de type RPG donc je doit ajouter un "PictureBox" pour chaque joueur présent dans ma Base de donnée en utilisant une boucle while par exemple ou autre
MySqlConnection connection = new MySqlConnection(myconstring);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader reader;
command.CommandText = "select * from player";
connection.Open();
reader = command.ExecuteReader();
int i = 0;
while (reader.Read())
{
PictureBox pic[i] = new PictureBox();
pic[i].Image = Image.FromFile(@"C:\Users\jumperx\Desktop\playerimg.png");
this.Controls.Add(pic);
string playername[i] = reader.GetValue(1).ToString();
int x = Convert.ToInt32(reader.GetValue(3).ToString());
int y = Convert.ToInt32(reader.GetValue(4).ToString());
pic[i].Location = new Point(x, y);
i++;
}
pour ceux qui cherche la connexion c# Mysql vous pouvez utiliser mysqlconnector.NET
merci d’avance
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 1 nov. 2010 à 15:06
Bonjour
Il me semble que tu n'es pas loin d'y arriver
mais il y a un probleme avec le tableau "pic"
passe plutot par une liste, c'est plus souple.
ex:
tu définis une class player
internal class Player
{
public string Username { get; private set; }
public PictureBox Picturebox { get; private set; }
public Player(string name, PictureBox picturebox)
{
Username = name;
Picturebox = picturebox;
}
}
dont tu crées une liste, dans les variables globales de ta classe
List Players = new List();
puis dans ta boucle tu remplis la liste
while (reader.Read())
{
PictureBox pic = new PictureBox();
int x = Convert.ToInt32(reader.GetValue(3).ToString());
int y = Convert.ToInt32(reader.GetValue(4).ToString());
pic.Location = new Point(x, y);
pic.Image = Image.FromFile(@"C:\Users\jumperx\Desktop\playerimg.png");
Players.Add(new Player(reader.GetString(1),pic);
this.Controls.Add(pic);
}
petite info,
si les valeurs de postion, dans ta base, son déjà des entiers, plutot que de passer par une string
utilise reader.GetInt32() pour les récuperer
jihednond
Messages postés143Date d'inscriptionjeudi 27 mars 2008StatutMembreDernière intervention 3 septembre 20111 1 nov. 2010 à 15:43
merci Robert33
je ne sait pas comment j'ai pu oublier d'utilisé les classes
votre code est parfait vraiment vraiment géniale je peut et sur le même principe je voit les chose en claire encore merci
moi aussi j'adore C# c'est un langage de programmation parfait