Power Builder - Traducir código VB a PB

 
Vista:

Traducir código VB a PB

Publicado por David Hdz (1 intervención) el 22/05/2006 16:18:33
Hola a todos

Necesito traducir el siguiente código de VB a PB

************************************************************************
'Read the contents of the active layer's Renderer property.
'Run one of the "Load..." procedures to populate the appropriate
'tab with the current renderer's properties.

Select Case True
Case lyr.Renderer Is Nothing
sstLayerProp.Tab = 0
Call LoadSingleSymbol
Case TypeOf lyr.Renderer Is mapobjects2.ValueMapRenderer
sstLayerProp.Tab = 1
Call LoadUniqueValues
Case TypeOf lyr.Renderer Is mapobjects2.ClassBreaksRenderer
sstLayerProp.Tab = 2
Call LoadClassBreaks
Case TypeOf lyr.Renderer Is mapobjects2.LabelRenderer
sstLayerProp.Tab = 3
Call LoadStandardLabels
Case TypeOf lyr.Renderer Is mapobjects2.LabelPlacer
sstLayerProp.Tab = 4
colorMask = lyr.Renderer.MaskColor
Call LoadNoOverlapLabels
Case TypeOf lyr.Renderer Is mapobjects2.ZRenderer
sstLayerProp.Tab = 5
Call LoadZRenderer
Case Else
sstLayerProp.Tab = 0
Call LoadSingleSymbol
End Select

'If the active layer does not support Z shapes, disable
'the "Elevation" rendering tab.
If (InStr(lyr.tag, "[SHAPEFILZ]") = 0) And (InStr(lyr.tag, "[SDEZ]") =
0) Then
sstLayerProp.TabEnabled(5) = False
End If
**********************************************************************************

Estoy usando los OCX de ESRI MapObjects 2.0 en mi aplicación para mostrar mapas de la ciudad donde vivo. En esos mapas cargo puntos de interés como Hospitales, Estaciones de Gas, Bancos, etc. Además me sirve para crear mapas temáticos para el anáñisis delictivo.

El código forma parte de una aplicación de ejemplo en VB 6 que viene con MapObjects.
Nosotros trabajamos en PowerBuilder 9 y 10, y ahora tengo la necesidad de manejar cambios en las propiedades de los mapas como tipo de líneas de contorno, colores de fondo, etiquetas, etc.

Para hacer esto primero cargo los mapas en el control mapa (capas o layers) y después trabajo uno a uno con cada capa. El paso siguiente es evaluar el tipo de capa al que se le modificarán los aspectos mencionados.

En la línea que dice "...Case lyr.Renderer Is Nothing " no se como aplicar "Nothing" en PowerBuilder.

En otra línea donde dice "...Case TypeOf lyr.Renderer Is mapobjects2.ValueMapRenderer..."
necesito comparar la Clase del layer que voy a modificar comparandola con los nombres de Clase ya establecidos por MapObjects. En Visual Basic se usa el TypeOf...Is, en PowerBuilder la función TypeOf() me regresa el tipo de objeto, mas no me sirve para comparar la clase del objeto que deseo evaluar. La pregunta es ¿existe en PB alguna función para hacer esto así como el TypeOf...is de Visual Basic?

Traté de usar ClassName y ClassType de PowerBuider pero no ha dado resultado.

Si alguien de ustedes sabe como puedo acomodar esto en PowerBuilder y desea compartirlo se lo agradecería enormemente.

Saludos desde Monterrey, México.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder