begin process at 2012 05 26 18:11:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PDA

 > 

Divers

 > 

Général

 > 

VB.Net Prog. sur mon iPAQ Erreur


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

VB.Net Prog. sur mon iPAQ Erreur

mercredi 22 août 2007 à 02:19:36 | VB.Net Prog. sur mon iPAQ Erreur

JeffC1977

Salut J'ai un Méga problème...

Quand j'utilise mon porgramme (programme codé sur VB.Net Compact Framework - Visual Sutio 2005) que j'ai importé sur mon iPaq J'appuis sur un bouton de mon programme et j'ai un messahge d'erreur (il ferme mon programe)

SVP aidez moi.. J'ai presque fini mon prog... et ca me dit qu'un bouton (mon bouton cmdCalcul) ne fonctionne pas. Je vous annexe l'enssemble de mon code... Si vous voyer d'ou peux venir le probleme..

Ca dit:
Calcul.exe InvalidCastException
à
Microsoft.VisualBasic.CompilerService.Conversions.ToDouble()
à
Microsoft.VisualBasic.CompilerService.Conversions.ToDouble()
à DataGrid.Form1.cdmCalcul_Click()
à
System.Windows.Forms.Control.OnClick()
à
System.Windows.Forms.Button.OnClick()
à
System.Windows.Forms.ButtonBase.WnProc()
à
System.Windows.Forms.Control._InteralWnProc()
àMicrosoft.AGL.Forms.EVL.EnterMainLoop()
à
System.Windows.Forms.Application.Run()


Imports

System.IO

Imports

System.Math

Public

Class Form1

Public FichierTexte AsString

Public Tableau(0) AsString

Public CoordYStation AsDouble

Public CoordXStation AsDouble

Public CoordYBack AsDouble

Public CoordXBack AsDouble

Public CompteurFormule AsInteger

Public dbRadian AsDouble = (180 / System.Math.PI)

Public AppPath AsString = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly.GetName.CodeBase)

Public LigneSplit(4) AsString

Dim Etape1 AsDouble, Etape2_Dx AsDouble, Etape2_Dy AsDouble, Etape3_X AsDouble, Etape3_Y AsDouble

 

Dim X1 AsDouble, X2 AsDouble, Y1 AsDouble, Y2 AsDouble, dX AsDouble, dY AsDouble

Dim aTan1 AsDouble

Public aTan2 AsDouble

Dim dbDistance AsDouble

Dim Degres AsSingle, Minutes AsLong, Secondes AsLong

Dim Degres_ AsSingle, Minutes_ AsSingle, Secondes_ AsDouble

Dim Degres__ AsSingle, Minutes__ AsSingle, Secondes__ AsDouble

Dim sglValeurDD AsSingle

 

 

PublicFunction GisementDepart()

'*******************************************************

'Trouver Gisement de l'Ouverture

'*******************************************************

If CompteurFormule = 1 Then

X1 =

CDbl(CoordXStation)

X2 =

CDbl(CoordXBack)

Y1 =

CDbl(CoordYStation)

Y2 =

CDbl(CoordYBack)

ElseIf CompteurFormule = 2 Then

X1 =

CDbl(CoordXStation)

X2 =

CDbl(CoordXBack)

Y1 =

CDbl(CoordYStation)

Y2 =

CDbl(CoordYBack)

ElseIf CompteurFormule = 3 Then

X1 =

CDbl(Replace(lblCoordX.Text, ".", ","))

X2 =

CDbl(CoordXStation)

Y1 =

CDbl(Replace(lblCoordY.Text, ".", ","))

Y2 =

CDbl(CoordYStation)

ElseIf CompteurFormule = 4 Then

'X1 = CDbl(Form1.lblStationCoordXPolaire.Caption)

'X2 = CDbl(Form1.lblBackCoordXPolaire.Caption)

'Y1 = CDbl(Form1.lblStationCoordYPolaire.Caption)

'Y2 = CDbl(Form1.lblBackCoordYPolaire.Caption)

EndIf

dX = X2 - X1

dY = Y2 - Y1

'***********************************************************************

'Formule pour connaître le cadrant dans lequel se trouve les coordonnées

If dX >= 0 And dY >= 0 Then

aTan1 = Atan(dX / dY)

ElseIf dX >= 0 And dY < 0 Or dX < 0 And dY < 0 Then

aTan1 = Atan(dX / dY) + System.Math.PI

ElseIf dX < 0 And dY >= 0 Then

aTan1 = Atan(dX / dY) + (2 * System.Math.PI)

EndIf

'************************************************************************

aTan2 = aTan1 * dbRadian

'Convertir les Radians en Degrés décimaux

'******************************************************************************

' Conversion en Degré, Minute, Seconde pour des fins visuel seulement

Degres = Fix(aTan2)

'Fix sans décimal et Val avec décimal

Minutes = Fix((aTan2 - Degres) * 60)

Secondes = (((aTan2 - Degres) * 60) - Minutes) * 60

'******************************************************************************

'Calcul Inverse entre Station et Back

If StatusBar1.Text = "Facteur: 1"Then

dbDistance = (Sqrt(dX ^ 2 + dY ^ 2)) / 1

Else

dbDistance = (Sqrt(dX ^ 2 + dY ^ 2)) / 0.9999

EndIf

If CompteurFormule = 1 Then

lblDistanceConnu.Text = Fix(dbDistance) + Format(dbDistance - Fix(dbDistance),

"0.000")

lblDistanceConnu.Text = lblDistanceConnu.Text & Space(1) &

"m"

ElseIf CompteurFormule = 2 Then

lblDistance.Text = Fix(dbDistance) + Format(dbDistance - Fix(dbDistance),

"0.000")

lblDistance.Text = lblDistance.Text & Space(1) &

"m"

ElseIf CompteurFormule = 4 Then

'lblDistanceConnuPolaire.text = Fix(dbDistance) + Format(dbDistance - Fix(dbDistance), "0.000")

'lblDistanceConnuPolaire.text = lblDistanceConnuPolaire.text & Space(1) & "m"

EndIf

GisementDepart = aTan2

EndFunction

PublicFunction DegreDecimal_en_DMS()

If CompteurFormule = 1 Then

sglValeurDD = aTan2

ElseIf CompteurFormule = 2 Then

'sglValeurDD = frmCalcul.lblAzimut.Caption

ElseIf CompteurFormule = 3 Or CompteurFormule = 4 Then

sglValeurDD = GisementDepart()

EndIf

' Conversion en DMS pour des fins visuel seulement

Degres_ = Fix(sglValeurDD)

'Fix sans décimal et Val avec décimal

Minutes_ = Fix((sglValeurDD - Degres_) * 60)

Secondes_ = (((sglValeurDD - Degres_) * 60) - Minutes_) * 60

Secondes_ = Format(Secondes_,

"0.00") 'Format(dbDistance - Fix(dbDistance), "0.000")

DegreDecimal_en_DMS = Degres_ &

"°" & Minutes_ & "'" & Val(Secondes_) & "''"

'DegreDecimal_en_DMS = Format(DegreDecimal_en_DMS, "0.00000")

EndFunction

PublicFunction DMS_en_DegreDecimal()

Dim AzimutDMS AsDouble

'AzimutDMS = CDbl(frmCalcul.txtAzimutSaisi)

 

Degres__ =

CDbl(Fix(AzimutDMS))

Minutes__ =

CDbl(Fix((AzimutDMS - Degres__) * 100))

Secondes__ =

CDbl((((AzimutDMS - Degres__) * 100) - Minutes__) * 100)

DMS_en_DegreDecimal =

CDbl((((Secondes__ / 60) + Minutes__) / 60) + Degres__)

EndFunction

PublicFunction CalculCoord()

If CompteurFormule = 3 Then

Etape1 = DMS_en_DegreDecimal()

Else

If DMS_en_DegreDecimal() + aTan2 > 360 Then

Etape1 =

CDbl(DMS_en_DegreDecimal() + aTan2) - 360

Else

Etape1 =

CDbl((DMS_en_DegreDecimal() + aTan2)) '345,97969

EndIf

EndIf

Etape2_Dx = Sin((Etape1 * System.Math.PI) / 180) *

CDbl(Replace(txtDistanceSaisi.Text, ".", ","))

Etape2_Dy = Cos((Etape1 * System.Math.PI) / 180) *

CDbl(Replace(txtDistanceSaisi.Text, ".", ","))

Etape3_X = CoordXStation + Etape2_Dx

Etape3_Y = CoordYStation + Etape2_Dy

lblCoordX.Text = Format(Etape3_X,

"0.0000")

lblCoordY.Text = Format(Etape3_Y,

"0.0000")

EndFunction

 

 

 

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

'Private Sub DegréRadian()

'Reponse.Text = (Valeur.Text * Pi) / 180 'txt.Text = (Sin(1 * Pi / 180))

'End Sub

'Private Sub RadianDegré()

'Reponse.Text = (Valeur.Text * 180) / Pi

'End Sub

'txt1.Text = Sin(1 * System.Math.PI / 180)

Dim i AsInteger

StatusBar1.Text =

"Facteur: 1"

Try

Dim ObjetFichier As StreamReader = New StreamReader(AppPath & "\Coord.txt")

Do

FichierTexte = ObjetFichier.ReadLine()

If FichierTexte IsNothingThen

i = i - 1

Else

If i = 0 Then

ReDim Tableau(i)

Else

ReDimPreserve Tableau(i)

EndIf

Tableau(i) = FichierTexte

EndIf

If i = 0 Then

TextBox1.Text = Tableau(i)

Else

TextBox1.Text = TextBox1.Text & vbCrLf & Tableau(i)

'vbCrLf = Changement de ligne

EndIf

i = i + 1

LoopUntil FichierTexte IsNothing

ObjetFichier.Close()

i = i - 1

Catch exc As Exception

MsgBox(

"Fichier inexistant")

EndTry

EndSub

PrivateSub cdmCalcul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cdmCalcul.Click

Dim i AsInteger

CompteurFormule = 1

'Utilisation pour chercher variable dans fichier texte

For i = 0 To UBound(Tableau)

LigneSplit = Tableau(i).Split(

" ")

If LigneSplit(0) = txtStation.Text Then

CoordYStation = LigneSplit(1)

CoordXStation = LigneSplit(2)

lblStation.Text = CoordYStation & Space(1) & CoordXStation

EndIf

If LigneSplit(0) = txtback.Text Then

CoordYBack = LigneSplit(1)

CoordXBack = LigneSplit(2)

lblBack.Text = CoordYBack & Space(1) & CoordXBack

EndIf

Next i

GisementDepart()

lblAzimutConnu.Text = DegreDecimal_en_DMS

EndSub

PrivateSub mnuFacteurGeodesique_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFacteurGeodesique.Click

mnuFacteurLocal.Checked =

False

mnuFacteurGeodesique.Checked =

True

StatusBar1.Text =

"Facteur: 0,9999"

EndSub

PrivateSub mnuFacteurLocal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuFacteurLocal.Click

mnuFacteurLocal.Checked =

True

mnuFacteurGeodesique.Checked =

False

StatusBar1.Text =

"Facteur: 1"

EndSub

PrivateSub cmdTravAzimut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdTravAzimut.Click

CompteurFormule = 3

'Utilisé pour la Fonction GisementDepart

CalculCoord()

GisementDepart()

lblAzimutSaisi.Text = DegreDecimal_en_DMS()

lblAzimutChange.Text =

"Azimut du Point" & Space(1) & txtPointSaisi.Text & Space(1) & "vers le point" & Space(1) & txtStation.Text

EndSub

End

Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mercredi 22 août 2007 à 08:42:16 | Re : VB.Net Prog. sur mon iPAQ Erreur

Baguauda

Réponse acceptée !
tout est dans le message
Calcul.exe InvalidCastException
à
Microsoft.VisualBasic.CompilerService.Conversions.ToDouble()

Problème de conversion.
1) Vérifie tes conversion.
2) ajoute des try catch comme ca l'application ne se stoppera pas.
3) avant conversion vérifie les donnée, par exemple lors de la conversion string Double - une chaine vide ca passe pas.


mercredi 22 août 2007 à 13:12:36 | Re : VB.Net Prog. sur mon iPAQ Erreur

JeffC1977

Ok merci je  vérifie ca mais pourquoi avec l'émulateur ca fonctionne très bien ????
mercredi 22 août 2007 à 20:41:31 | Re : VB.Net Prog. sur mon iPAQ Erreur

JeffC1977

J'ai réglé le prob... Chiant à corriger mais ca marche...

Merci


Cette discussion est classée dans : text, system, cdbl, fix, compteurformule


Répondre à ce message

Sujets en rapport avec ce message

FindFirstProjectFile [ par PSylvie ] Bonjour, Je programme une application pour Smartphone 2003 avec eVC++ 4.0.. J'aimerais lister tous les fichiers textes se trouvant sur la carte du dev Base de registre Windows CE en EVC++ : HELP [ par patdan ] Bonjour à tous,Je reviens à la charge car j'ai tout essayé, sauf la bonne méthode. Ca fait un sacré bout de temps que je me prends la tête pour récupé Problème connexion réseau avec POCKET PC [ par predictus ] Bonjour,Je développe présentement une application en VB.net pour un Pocket PC avec Windows Mobile 2003 SE.Premièrement, j'ai essayé mon code avec VB.N L'ouverture d'une nouvelle form me renvoie : null reference exception [ par sisi35 ] Bonjour,Je développe en vb.net pour un périphérique mobile.J'ai une BDD SQL CE sur le périphérique.J'affiche une table dans un formulaire et je souhai Pourquoi ?... [ par scortex84 ] Bonjour,C'est mon second message sur ce forum, j'espere qu'il aura plus de succès que le premier !Alors je continue dans ma découverte du compact fram Convertir un BMP en Jpg [ par jamonisation ] Salut a tous,Je m'arrache les cheveux depuis une bonne semaine pour compresser une image bmp en jpg.Quelqu'un aurait il une solution miracle ! Un algo Actulisation/ouverture d'une fenêtre sur PDA en C# [ par Diafwl1 ] Bonjour, Je suis en trein de faire des tests sur PDA et j'ai un petit problème, je n'arrive pas à afficher une fenêtre par dessous une autre (ou actul Ouvrir BD avec C++ natif sous windows mobile 5.0 [ par Loki6 ] salut à tous, alors voilà mon objectif : je souhaite créer une application MFC fonctionnant sous windows mobile 5.0 qui permettrait d'ouvrir des bases Smartphone et MySQL [ par pikapote ] Bonjour, je suis en train d'essayer de développer une application pour PDA (par Visual Studio 2005) qui utilise une base de données MySQL (déjà exista System.Data.DataRowView [ par gzitoun ] Salut, j ai un souci au demarrage de l application : voici le message que j obtiens dans la case labelTst:System.Data.DataRowView Sinon a part cel


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,546 sec (3)

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