#1 Wed 23 June 2004 09:24
- Nizar Ing
- Invité
tracer des lignes avec mapbasic
Bonjour,
je suis un nouveau utilisateur de mapbasic je veux savoir comment faire pour tracer des lignes sur map info en fonction d'une table acces ou il ya quatres colonnes contenant x1,y1,x2,y2
si possible envoyemois un code ...
merci
#2 Thu 24 June 2004 11:07
- Francois Biju-Duval
- Invité
Re: tracer des lignes avec mapbasic
Bonjour.
Exemple de code (c'est theorique mais ca devrait marcher); sachant que x1,y1,x2 et y2 doivent etre numeriques en Access :
dim CanalConnect as integer
dim CanalExecute as integer
dim W_Code_Ligne as string
dim W_X1 as Float
dim W_Y1 as Float
dim W_X2 as Float
dim W_Y2 as Float
'** Etablit la connexion avec Acces
CanalConnect = Server_Connect( QELIB , DBQ= & D:\BaseAccess.mdb; &
Driver={Microsoft Access Driver (*.mdb)} )
'** Extrait les donnees de la table Access et les met dans la table MapInfo non graphique DonneesLignes
CanalExecute = Server_Execute(CanalConnect, select CodeLigne,x1,y1,x2,y2 from TableAccess )
Server CanalExecute Fetch Into DonneesLignes File D:\DonneesLignes.tab
Server CanalExecute Close
'Server CanalConnect Disconnect
Create Table VecteursLignes
(CodeLigne Char(10))
File D:\VecteursLignes.tab
'** Lambert II etendu
Create Map For VecteursLignes CoordSys Earth Projection 3,1002, m ,0,46.8, 45.898918964419,47.696014502038,600000,2200000 Bounds (-113967455.417,-106367759.649) (115167455.417,122767151.185)
'** Creation des lignes dans la table VecteursLignes
Fetch First from DonneesLignes
Do until EOT(DonneesLignes)
W_Code_Ligne = DonneesLignes.CodeLigne
W_X1 = DonneesLignes.x1
W_Y1 = DonneesLignes.y1
W_X2 = DonneesLignes.x2
W_Y2 = DonneesLignes.y2
Insert into VecteursLignes(CodeLigne,obj)
Values (W_Code_Ligne,CreateLine(W_X1,W_Y1,W_X2,W_Y2))
Fetch Next from DonneesLignes
Loop
Amicalement a la liste.