• Miércoles 1 de Mayo de 2024, 21:29

Autor Tema:  Traducir Codigo De Vb A Pb  (Leído 1363 veces)

PowerDavid

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Traducir Codigo De Vb A Pb
« en: Lunes 22 de Mayo de 2006, 17:46 »
0
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.