Je cherche à utiliser un assemblage .NET de cartographie : Easy GIS .NET
Cet assemblage permet l'affichage de carte dans des contrôles .NET et la manipulation de données et de fichiers cartographiques.
Je dispose d'un exemple en C# que je cherche à traduire en code WD (http://www.easygisdotnet.com/api/Example1.aspx).
J'ai créé un projet WD avec une fenêtre et un contrôle .NET utilisant la classe SFMap de l'assemblage EGIS.Control.dll.
Le chargement de la carte se fait correctement avec l'instruction :
DOTNET_SansNom1.AddShapeFile(Path, "ShapeFile", "")
Par contre, pour l'instruction suivante :
WD m'indique de ne pas utiliser l'opérateur [].
Le souci est visiblement l'utilisation faite de l'opérateur [0] en C# pour adresser un membre de la classe SFMap (le champ DOTNET_sansnom1) (remarque : je ne suis pas très calé en POO je me trompe peut être ?).
En attendant, cet opérateur [0] n'est pas accepté en code WD ...
Comment puis-je faire pour effectuer une traduction correcte ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
============= CODE DE DEPART =============================
// clear any shapefiles the map is currently displaying
this.sfMap1.ClearShapeFiles();
// open the shapefile passing in the path, display name of the shapefile and
// the field name to be used when rendering the shapes (we use an empty string
// as the field name (3rd parameter) can not be null)
this.sfMap1.AddShapeFile(path, "ShapeFile", "");
// read the shapefile dbf field names and set the shapefiles's RenderSettings
// to use the first field to label the shapes.
EGIS.ShapeFileLib.ShapeFile sf = this.sfMap1[0];
sf.RenderSettings.FieldName = sf.RenderSettings.DbfReader.GetFieldNames()[0];
========================================================= |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
============ CODE WINDEV =================================
DOTNET_SansNom1.ClearShapeFiles();
// open the shapefile passing in the path, display name of the shapefile and
// the field name to be used when rendering the shapes (we use an empty string
// as the field name (3rd parameter) can not be null)
Path est une chaîne
Path = "C:\Temp\world_adm0.shp"
DOTNET_SansNom1.AddShapeFile(Path, "ShapeFile", "")
// read the shapefile dbf field names and set the shapefiles's RenderSettings
// to use the first field to label the shapes.
sf est un EGIS.ShapeFileLib.ShapeFile
sf = DOTNET_SansNom1[0]
sf.RenderSettings.FieldName = sf.RenderSettings.DbfReader.GetFieldNames()[0]
===================================================== |
Partager