gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 1 févr. 2006 à 12:16
Bonjour,
Voici tout le code-source de votre demande. Mais comme je ne connais pas trop les coordonée du ce type de fichier je les affiches avec un facteur qui me permet de les mettres a dimention dans la form.
Private Sub Form_Load()
' RECUPERATION DU PATH DE L'APPLICATION.
strFilePath = App.Path
If Right(strFilePath, 1) <> "" Then strFilePath = strFilePath & ""
' CHARGEMENT ET AFFICHAGE DU FICHIER.
Call setDrawPLT(strFilePath & "test.plt", 20)
Private Function setDrawPLT(ByVal strFileName As String, ByVal lngFactor As Long) As Boolean
' DECLARATION DES VARIABLES.
Dim lngI As Long
Dim lngJ As Long
Dim lngCanal As Long
Dim strResult As String
Dim tabResult() As String
Dim tpeResult() As TPECOORDXY
' CHARGMENT DU FICHIER PLT.
lngCanal = FreeFile
Open strFileName For Input As #lngCanal
Do Until EOF(lngCanal)
Line Input #lngCanal, strResult
Call StringDecoupe(strResult, " ", tabResult())
If UBound(tabResult()) = &H2 Then
lngI = lngI + &H1
ReDim Preserve tpeResult(&H1 To lngI) As TPECOORDXY
tpeResult(lngI).lngX = Val(tabResult(&H1)) / lngFactor
tpeResult(lngI).lngY = Val(tabResult(&H2)) / lngFactor
Else
GoTo ERREUR
End If
Loop
Close #lngCanal
' AFFICHAGE DU FICHIER PLT.
For lngJ = &H1 To lngI - &H1 Step &H1
frmPrincipal.Line (tpeResult(lngJ).lngX, tpeResult(lngJ).lngY)-(tpeResult(lngJ + &H1).lngX, tpeResult(lngJ + &H1).lngY), &H0, BF
Next lngJ
ERREUR:
Public Sub StringDecoupe(ByVal strLine As String, ByVal strSeparator As String, ByRef strResult() As String)
' DECLARATION DES VARIABLES.
Dim lngI As Long ' VARIABLE TEMPORAIRE.
Dim lngJ As Long ' VARIABLE TEMPORAIRE.
Dim lngU As Long ' VARIABLE TEMPORAIRE.
' INITIALISATION DU TABLEAU DE RESULTAT.
ReDim lngResult(&H1 To &H1) As String
' DECOUPE DE LA CHAINE DE CARACTERE.
lngJ = &H1
For lngI = &H1 To Len(strLine) Step &H1
If Mid$(strLine, lngI, Len(strSeparator)) = strSeparator Then
lngU = lngU + &H1
ReDim Preserve strResult(&H1 To lngU) As String
strResult(lngU) = Mid$(strLine, lngJ, (lngI - &H1) - (lngJ - Len(strSeparator)))
lngJ = lngI + Len(strSeparator)
End If
Next lngI
If Right(strLine, Len(strSeparator)) <> strSeparator Then
lngU = lngU + &H1
ReDim Preserve strResult(&H1 To lngU) As String
strResult(lngU) = Mid$(strLine, lngJ, Len(strLine) - (lngJ - Len(strSeparator)))
End If
gallyhc
Messages postés386Date d'inscriptionsamedi 4 octobre 2008StatutMembreDernière intervention19 février 20182 27 janv. 2006 à 17:25
Bonjour,
Tout depend le type de fichier (fichier texte, hexa, bin...). en fonction du type il y a plusieur methode et apres pour le dessin tu programme tes petites routine de traçage et voila...
Donc pour plus d'aide, il faut le type de fichier...
cs_nkos
Messages postés7Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention17 mai 2006 27 janv. 2006 à 17:52
Ce fichier (.plt) est de type texte. Avec les coordonnées des points ...
Comment lire dans un fichier de type texte ?
Et comment afficher à l'écran ces points ?
Merci
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_nkos
Messages postés7Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention17 mai 2006 1 févr. 2006 à 11:38
Merci, ca marche nickel ! (la lecture du fichier...)
J'ai donc réussi à lire et à afficher les coordonnées des points.
Ces coordonnées sont de type (x,y) ex d'un cas : (5480 8882)...
2691 8282
2692 8284
2696 8290
2702 8297
2710 8307
2720 8315
2732 8324
....
Reste à savoir comment faut il s'y prendre afin de tracer ces lignes sous VB6!
Merci
Bye
cs_nkos
Messages postés7Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention17 mai 2006 1 févr. 2006 à 19:43
Merci beaucoup pour ce code qui est très bien fait!
Je suis en train d'adapter mon code au votre, à savoir utiliser des tableaux dynamiques pour enregistrer les coord. après avoir séparé les X et les Y...
Ce que je n'ai pas bien compris, c'est les variables &H0, &H1 &H2 !
Sinon le reste est très bien et je vous en remercie encore!!!
cs_nkos
Messages postés7Date d'inscriptionvendredi 7 janvier 2005StatutMembreDernière intervention17 mai 2006 6 févr. 2006 à 13:18
Salut,
Mon appli. permettant d'ouvrir/visualiser des images vectorielles au format HPgl fonctionne comme je le souhaitaits! Merci encore
Je souhaiterai maintenant l'améliorer en permettant de la visualiser avec un rendu OpenGl, toujours sous VB6 !!
J'ai récupérer du codes utilisant OpenGL sous VB mais je ne comprend pas tout... :-(
Je souhaite comme l'autre faire apparaître ce fichier avec un rendu OpengL!
Je remercie par avance si tu pouvais m'éclairer!
Sinon je peux faire un nouveau sujet dans le forum