begin process at 2012 05 28 20:13:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Demande d'aide pour créer un tableau ce classes en C++ ou C#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Demande d'aide pour créer un tableau ce classes en C++ ou C#

vendredi 18 juin 2010 à 17:08:40 | Demande d'aide pour créer un tableau ce classes en C++ ou C#

jpbglm




Demande d’aide
Je remercie par avance la personne qui pourra m’aider sur le problème suivant :
Je veux créer une cartographie GPS du globe en coordonnées horaires : °, ‘,‘’.
Je n’ai pas trouvé d’autre manière que comme suit :
Je crée une classe GPS pour les °,’,’’,Altitude…
Je crée un tableau d’éléments : ,Classe My_GPS : My_GPS = new Class_GPS[360, 181];
Je parcours le tableau pour définir chaque coordonnée horaire :for (int Lig = 0; Lig < 90; Lig++)
for (int Col = 0; Col < 360 - 1; Col++)
En ligne ***************, j’obtient l’erreur suivante :
Une exception non gérée du type 'System.NullReferenceException' s'est produite dans Univers.exe
Informations supplémentaires : La référence d'objet n'est pas définie à une instance d'un objet.

Le compilateur indique que le tableau My_GPS[ 360,181] est créé, mais chaque élément est affecté de NULL..
Je ne peux pas accéder aux éléments de la classe My_GPS :
private int Var_Color_R = 255;// Couleur R
private int Var_Color_G = 255;// Couleur G
private int Var_Color_B = 255;// Couleur B
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;

namespace Univers
{
public partial class Form_Sim_Planet_Globe : Form
{
private long Var_Globe_Rayon = 0;//0<=Glo_Rayon<=550
private long Var_Globe_Long_Axe = 0;//Longueur de l'Axe
private long Var_Globe_Teta = 0;//0<=Teta<=90
private long Var_Globe_Phi = 0;//0<=Phi<=360
private long Var_Globe_d_Teta = 0;//0<=d_Teta<=30 d_Teta=5
private long Var_Globe_d_Phi = 0;//0<=d_Phi<=30 d_Phi=30
private long Var_Globe_Inclinaison = 0;//-180<=Inclinaison<=180
private long Var_Globe_v_Phi = 0;//Vitesse de rotation suivant Phi
//private Class_GPS Var_GPS;//Localisation (°,',") C# Base Access
private int Var_GPS_Lat_Deg = 0;// -90<D<=90 3c 10c 10 Octets
//private string Var_Globe_Lat_1 = ":";//: 1c
private int Var_GPS_Lat_Min = 0;// 0<=Min<=59 2c
//private string Var_Globe_Lat_2 = ":";//: 1c
private int Var_GPS_Lat_Sec = 0;// 0<=Sec<=59 2c
private string Var_GPS_Lat_Lat = " ";// N/S 1c
private int Var_GPS_Lon_Deg = 0;// 0<D<=360 -180<D<+180 4c 11c 11 Octets
//private string Var_Globe_Lon_1 = ":";//: 1c
private int Var_GPS_Lon_Min = 0;// 0<=Min<=59 2c
//private string Var_Globe_Lon_2 = ":";//: 1c
private int Var_GPS_Lon_Sec = 0;// 0<=Sec<=59 2c
private string Var_GPS_Lon_Lon = " ";// E/W 1c
private float Var_GPS_Altitude;//-12000<=Var_Hauteur<=+9000 mètres.
// ***** Définition des Variables *****
int Var_Calcul;
// ***** Définition des Classes *****
Class_Globe My_Globe;
Class_GPS[,] My_GPS;
//Class_Color My_Color;//Couleur du tracé
// ***** Constantes *****
private const float Const_Altitude_Min = -11034;
private const float Const_Altitude_Max = +8847;

public Form_Sim_Planet_Globe()
{
InitializeComponent();
}
private void Form_Sim_Planet_Globe_Load(object sender, EventArgs e)
{
// ***** Initialisation de l'écran; *****
this.MinimizeBox = true;
this.MaximizeBox = true;
this.HelpButton = true;
this.Location = new System.Drawing.Point(0, 0);
this.ClientSize = new System.Drawing.Size(1885, 1071);
RdoDegres.Checked = true;
}
// ***** Création de l'image du globe *****
private void Bt_Create_Click(object sender, EventArgs e)
{
// ????? Array My_GPS = Array.CreateInstance(typeof(Class_GPS), 360, 181);// ?????
My_GPS = new Class_GPS[360, 181];// (Degrés) (360° * 181°) [360,2*90+1]
// ***** Début de Numérotation Horaire Degrés (Deg,Min,Sec)(°,',") *****
// ***** [0..360,2*0..90+1] [360,180]=64 800 °carrés
// ***** Hémisphère Nord *****
Var_GPS_Lat_Sec = 0;
Var_GPS_Lat_Min = 0;
Var_GPS_Lon_Sec = 0;
Var_GPS_Lon_Min = 0;
Var_GPS_Lat_Deg = 90;
for (int Lig = 0; Lig < 90; Lig++)// Hémisphère Nord Pôle Nord à Equateur
{
Var_GPS_Lon_Deg = 0;
for (int Col = 0; Col < 360 - 1; Col++)
{
Var_GPS_Lat_Lat = "N";
Var_GPS_Lon_Lon = "A";
Var_GPS_Altitude = 0;
// ***** Procédure Coloration des Altimétrie/ Bathymétrie *****
if (Var_GPS_Altitude <= 0)
{
**************** this.My_GPS[Lig, Col].GPS_Var_Color_R = 0;
this.My_GPS[Lig, Col].GPS_Var_Color_G = 0;
Var_Calcul = (int)Math.Truncate(Math.Abs((Var_GPS_Altitude / Const_Altitude_Min) * 192));
this.My_GPS[Lig, Col].GPS_Var_Color_B = Var_Calcul;
}
else if (Var_GPS_Altitude > 0)
{
this.My_GPS[Lig, Col].GPS_Var_Color_R = 0;
Var_Calcul = (int)Math.Truncate(Math.Abs((Var_GPS_Altitude / Const_Altitude_Max) * 192));
this.My_GPS[Lig, Col].GPS_Var_Color_G = Var_Calcul;
this.My_GPS[Lig, Col].GPS_Var_Color_B = Var_Calcul;
}
// ***** Appel Classe Class_GPS *****
this.My_GPS[Lig, Col].GPS_Var_Lon_Deg = Var_GPS_Lon_Deg;
this.My_GPS[Lig, Col].GPS_Var_Lat_Deg = Var_GPS_Lat_Deg;
this.My_GPS[Lig, Col].GPS_Var_Altitude = Var_GPS_Altitude;
//Décrémentation Latitude Degré
Var_GPS_Lat_Deg--;
//Incrémentation Longitude Degré
Var_GPS_Lon_Deg++;
}
}
//*
// ***** Equateur *****
Var_GPS_Lat_Deg = 0;
Var_GPS_Lon_Deg = 0;
//Lig = 90;//Latitude de l'Equateur
for (int Col = 0; Col < 360 - 1; Col++)
{
Var_GPS_Lat_Lat = "E";
Var_GPS_Lon_Lon = "A";
Var_GPS_Altitude = 0;
// ***** Appel de la procédure Coloration *****
this.My_GPS[90, Col].GPS_Var_Color_R = 255;
this.My_GPS[90, Col].GPS_Var_Color_G = 255;
this.My_GPS[90, Col].GPS_Var_Color_B = 255;
// ***** Appel Classe Class_GPS *****
this.My_GPS[90, Col].GPS_Var_Lon_Deg = Var_GPS_Lon_Deg;
this.My_GPS[90, Col].GPS_Var_Lat_Deg = Var_GPS_Lat_Deg;
this.My_GPS[90, Col].GPS_Var_Altitude = Var_GPS_Altitude;
//Incrémentation Longitude Degré
Var_GPS_Lon_Deg++;
}
// ***** Hémisphère Sud *****
Var_GPS_Lat_Deg = 1;
for (int Lig = 91; Lig <= 180; Lig++)// Equateur à Pôle Sud
{
Var_GPS_Lon_Deg = 0;
for (int Col = 0; Col < 360 - 1; Col++)
{
Var_GPS_Lat_Lat = "S";
Var_GPS_Lon_Lon = "A";
Var_GPS_Altitude = 0;
// ***** Procédure Coloration des Altimétrie/ Bathymétrie *****
if (Var_GPS_Altitude <= 0)
{
this.My_GPS[Lig, Col].GPS_Var_Color_R = 0;
this.My_GPS[Lig, Col].GPS_Var_Color_G = 0;
Var_Calcul = (int)Math.Truncate(Math.Abs((Var_GPS_Altitude / Const_Altitude_Min) * 192));
this.My_GPS[Lig, Col].GPS_Var_Color_B = Var_Calcul;
}
else if (Var_GPS_Altitude > 0)
{
this.My_GPS[Lig, Col].GPS_Var_Color_R = 0;
Var_Calcul = (int)Math.Truncate(Math.Abs((Var_GPS_Altitude / Const_Altitude_Max) * 192));
this.My_GPS[Lig, Col].GPS_Var_Color_G = Var_Calcul;
this.My_GPS[Lig, Col].GPS_Var_Color_B = Var_Calcul;
}
// ***** Appel Classe Class_GPS *****
this.My_GPS[Lig, Col].GPS_Var_Lon_Deg = Var_GPS_Lon_Deg;
this.My_GPS[Lig, Col].GPS_Var_Lat_Deg = Var_GPS_Lat_Deg;
this.My_GPS[90, Col].GPS_Var_Altitude = Var_GPS_Altitude;
//Incrémentation Latitude Degré
Var_GPS_Lat_Deg++;
//Incrémentation Longitude Degré
Var_GPS_Lon_Deg++;
}
}
// ***** Fin de Numérotation Horaire Degrés *****
Ma Classe GPS :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Univers
{
//delegate Class_Color;

public class Class_GPS
{
//private Class_GPS Var_GPS;//Localisation (°,',") C# Base Access
private int Var_Lat_Deg;// -90<D<=90 3c 10c 10 Octets
//private string Var_Lat_1 = ":";//: 1c
private int Var_Lat_Min = 0;// 0<=Min<=59 2c
//private string Var_Lat_2 = ":";//: 1c
private int Var_Lat_Sec = 0;// 0<=Sec<=59 2c
private string Var_Lat_Lat = " ";// N/S 1c
private int Var_Lon_Deg = 0;// 0<D<=360 -180<D<+180 4c 11c 11 Octets
//private string Var_Lon_1 = ":";//: 1c
private int Var_Lon_Min = 0;// 0<=Min<=59 2c
//private string Var_Lon_2 = ":";//: 1c
private int Var_Lon_Sec = 0;// 0<=Sec<=59 2c
private string Var_Lon_Lon = " ";// E/W 1c
private float Var_Altitude;//-12000<=Var_Hauteur<=+9000 mètres.
private int Var_Color_R = 255;// Couleur R
private int Var_Color_G = 255;// Couleur G
private int Var_Color_B = 255;// Couleur B
// Constructeur par défaut
public Class_GPS()
{
Var_Lat_Deg = 0;// -90<D<=90
Var_Lat_Min = 0;// 0<=Min<=59
Var_Lat_Sec = 0;// 0<=Sec<=59
Var_Lat_Lat="A";// N/S
Var_Lon_Deg = 0;// 0<D<360 -180<D<=180
Var_Lon_Min = 0;// 0<=Min<=59
Var_Lon_Sec = 0;// 0<=Sec<=59
Var_Lon_Lon="A";// E/W
Var_Altitude = 0;//-11034<=Var_Hauteur<=8847
Var_Color_R=0;//Couleur du tracé R
Var_Color_G=0;//Couleur du tracé G
Var_Color_B=0;//Couleur du tracé B
}
// Constructeurs
public Class_GPS(int _Var_Lat_Deg, int _Var_Lat_Min, int _Var_Lat_Sec, string _Var_Lat_Lat, int _Var_Lon_Deg, int _Var_Lon_Min, int _Var_Lon_Sec, string _Var_Lon_Lon, long _Var_Altitude, int _Var_Color_R, int _Var_Color_G, int _Var_Color_B)
{
this.Var_Lat_Deg = _Var_Lat_Deg;// -90<D<=90
this.Var_Lat_Min = _Var_Lat_Min;// 0<=Min<=59
this.Var_Lat_Sec = _Var_Lat_Sec;// 0<=Sec<=59
this.Var_Lat_Lat= _Var_Lat_Lat;// N/S
this.Var_Lon_Deg = _Var_Lon_Deg;// 0<D<360 -180<D<=180
this.Var_Lon_Min = _Var_Lon_Min;// 0<=Min<=59
this.Var_Lon_Sec = _Var_Lon_Sec;// 0<=Sec<=59
this.Var_Lon_Lon= _Var_Lon_Lon;// E/W
this.Var_Altitude = _Var_Altitude;//-11034<=Var_Hauteur<=8847
this.Var_Color_R = _Var_Color_R;//Couleur du tracé R
this.Var_Color_G = _Var_Color_G;//Couleur du tracé G
this.Var_Color_B = _Var_Color_B;//Couleur du tracé B
}
//Propriétés
public int GPS_Var_Lat_Deg
{
get
{
return Var_Lat_Deg;
}
set
{
Var_Lat_Deg = value;
}
}
...



Cette discussion est classée dans : var, gps, lat, lon, deg


Répondre à ce message

Sujets en rapport avec ce message

coordonne gps iphone [ par WIALES ] quand je fait un appel a mon traceur il m envoie un sms avec les coordonnees gps es t il possible d avoir dans mon sms un lien clicable sur google map #define VS const [ par jadoud ] bjr, SVP si vous peuvez me aider et me dire la difference entre #define var_st et const var_st merci Stopper mise en veille pocket PC [ par seb1280 ] Bonjour, Mon problème est le suivant : Je développe une application pour pocket PC "Windows mobile" en c++ en lien avec un GPS qui relève régulièremen probléme avec un Slider : comment envoyé la valeur généré par le slider a une intérface opengl [ par controlleur ] Bonjour dans mon projet j'ai réalisé une petite interface que je l'ai intégré dans un mainwindow class mainwindow : public QMainWindow { Q dimension constante d'un tableau [ par Skyffer3 ] Bonjour à tous, [^^happy13] Je me pose une question suite à une affirmation de mon livre pour apprendre le C++ : "La dimension d'un tableau ne peut ê recupéré les donné gps [ par hanologie ] je veux récupérer la trame mnea de GPS en passant par un code de langage c++ je ss debutant et j ai rien trouvé pour commencer suggeré moi qlq chose s affichage gps sur mappoint [ par eduriaux ] bonjour, voila mon probleme , j utilse des portables kenwood avec des tete gps un recepteur kenwood recoit les trame mmea et les trames kenwood prop Pointeur et référence [ par kawazaki ] Bonjour je commence a programmer en c++ je voudrais comprendre quand j'utilise les pointeurs et les références ainsi que les déclarations:*var**var&va


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales