Buscar este blog

lunes, 7 de junio de 2010

gotoWorkSpace oracle

public static boolean gotoWorkSpace(escenario escenario){

try {
IConnection C= escenario.getCwp().getConnection();
ConnectionJDBC jdbc = (ConnectionJDBC) C;

String call = "{ call DBMS_WM.GotoWorkspace(?) }";

Statement st = jdbc.getConnection().createStatement();
CallableStatement CL=jdbc.getConnection().prepareCall(call);
CL.setQueryTimeout(1800);
CL.registerOutParameter(1, Types.VARCHAR);
CL.setString(1, escenario.getNombreWorkSpace());
CL.executeUpdate();
CL.close();
conecta.commitConec();
System.out.println("GOTOWORKSPACE: " +escenario.getNombreWorkSpace());

} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;

} Carlos Javier Martín Cano

jueves, 19 de marzo de 2009

101 ejemplos : Visual Studio .NET 2003

Microsoft ha puesto a disposición de todos los programadores de 101 Ejemplos de Programación en Visual Basic.Net.
Estas descargas incluyen una compilación de ejemplos en Visual Basic.NET que demuestran varios aspectos importantes del lenguaje como: sintaxis, acceso a datos, Windows Forms, desarrollo web, servicios web, XML, seguridad, Framework, sistemas de archivos, entrada y salida de datos, interoperabilidad y migración, COM+, ADO.NET, y tópicos avanzados incluyendo gráficos con GDI+, remoting, serialización, MSMQ, y servicios Windows.

http://download.microsoft.com/download/6/4/7/6474467e-b2b7-40ea-a478-1d3296e78adf/VisualBasic.msi (tamaño 6.822MB)

http://www.microsoft.com/downloads/details.aspx?FamilyID=08e3d5f8-033d-420b-a3b1-3074505c03f3&DisplayLang=en

http://www.mistrucos.net/truco-visual-basic-net-101-en-visual-basicnet-708.htm Carlos Javier Martín Cano

Patrón Creador

Este patrón asigna a la clase B la responsabilidad de crear una instancia de la clase A si alguna de las siguientes premisas es cierta:
B agrega objetos de A.
B contiene objetos de A.
B registra instancias de objetos de A.
B usa mucho obbjetos de A.
B tiene la data inicial que sera pasada a A cuando es creada( asi B es un experto con respecto a la creacion de A). B es el creador de los objetos de A.
Si más de una opción aplica, se prefiere una clase de B que agrega o contiene a la clase A.
El uso de este patrón presenta un problema interesante que consiste en elegir quién debe ser el responsable de crear una nueva instancia de alguna clase.
La creación de objetos es una de las actividades mas comunes en un sistema orientado a objetos, Consecuentemente, es muy útil tener un principio general para la asignación de la creación de responsabilidades. Asignados de una manera correcta, el diseño soporta un bajo acoplamiento, incrementa la claridad, la encapsulacion y es posible reusarlo.
Aplicabilidad:
El creador guía la asignación de responsabilidades relacionadas a la creación de objetos, una tarea muy común en sistemas orientados a objetos. El intento básico del patrón creador es encontrar un creador que necesite estar conectado al objeto creado en un evento en particular.
El Agregar agrega partes, Contener contiene contenido, Grabar graba, todas estas son relaciones muy comunes entre clases en un diagrama de clases. El creador sugiere que el contenedor encerrado o grabado es un buen candidato por la responsabilidad de crear la cosa contenida o grabada. Por supuesto esto es una guía.
Es necesario darse cuenta de que el concepto de agregar ha sido usado considerando el patrón creador. La agregación envuelve cosas que están en una relación de parte completa o parte ensamblada, tales como el cuerpo agrega la pierna, o el párrafo agrega la oración. Algunas veces un creador es encontrado mirando la clase de tiene la data (información) inicial que será pasada durante la creación. Esto es un ejemplo del patrón experto. La data inicial es pasada durante la creación por vía de algún método de inicialización, tal como un constructor de Java que tiene parámetros.
Beneficios:
El bajo acoplamiento es soportado, lo cual implica bajo mantenimiento y altas oportunidades de reuso. Carlos Javier Martín Cano

jueves, 26 de febrero de 2009

Patrón Experto

Este patrón plantea asignar una responsabilidad al experto en información, es decir, la clase que tiene la información necesaria para cumplir con la responsabilidad.
El experto es usado mas que cualquier otro patrón en la asignación de responsabilidades, es un principio usado continuamente en el diseño orientado a objetos. Experto no significa una obscura idea, sino que expresa la "intuición" común mediante el cual los objetos hacen cosas relacionadas con la información que ellos tienen.
Hay que notar que al cumplimiento de una responsabilidad requiere información que está esparcida entre clases diferentes de objetos. Esto implica que hay muchos "expertos " parciales que colaboran en la tarea.

BENEFICIOS:
La encapsulación es mantenida, desde que los objetos usan sus propias informaciones para realizar tareas. Esto permite poco acoplamiento, lo cual conduce a sistemas mas robustos y de mantenimiento mucho mas fácil.


El comportamiento está distribuído a lo largo de clases que tienen la información requerida, así se alienta una clase "pesoligero" de definiciones que son fáciles de entender y mantener. La alta cohesián tmabién es soportada. Carlos Javier Martín Cano

jueves, 12 de febrero de 2009

Funcion para recorrer un directorio y copiarlo en una ruta especificada

Aqui os dejo una función util, encargada de copiar todo un directorio
en la ruta especificada.

Private Shared Sub DirectoryCopy( _
ByVal sourceDirName As String, _
ByVal destDirName As String, _
ByVal copySubDirs As Boolean)
Dim dir As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(sourceDirName)
Dim dirs As System.IO.DirectoryInfo() = dir.GetDirectories()
' If the source directory does not exist, throw an exception.
If Not dir.Exists Then
Throw New System.IO.DirectoryNotFoundException( _
"Source directory does not exist or could not be found: " _
+ sourceDirName)
End If
' If the destination directory does not exist, create it.
If Not System.IO.Directory.Exists(destDirName) Then
System.IO.Directory.CreateDirectory(destDirName)
End If
' Get the file contents of the directory to copy.
Dim files As System.IO.FileInfo() = dir.GetFiles()
Dim file As System.IO.FileInfo
For Each file In files
' Create the path to the new copy of the file.
Dim temppath As String = Path.Combine(destDirName, file.Name)
' Copy the file.
file.CopyTo(temppath, False)
Next file
' If copySubDirs is true, copy the subdirectories.
If copySubDirs Then
For Each dir In dirs
' Create the subdirectory.
Dim temppath As String = _
Path.Combine(destDirName, dir.Name)
' Copy the subdirectories.
DirectoryCopy(dir.FullName, temppath, copySubDirs)
Next dir
End If
End Sub

Saludos Carlos Javier Martín Cano

domingo, 1 de febrero de 2009

Obtener punto medio de una via

Try
pPolyline = obtenervias()
pMidPoint = New Point
If Not pPolyline Is Nothing Then
pPolyline.QueryPoint(0, 0.5, True, pMidPoint)
Else
pMidPoint = Nothing
End If
Return pMidPoint
Catch ex As Exception
Throw ex
Finally
End Try Carlos Javier Martín Cano

Conversion de tipos de campos arcGis-.NET

Public Function getConversionTipo(ByVal Field As IField) As String
Select Case Field.Type
Case esriFieldType.esriFieldTypeSingle
Return "System.Double"
Case esriFieldType.esriFieldTypeOID
Return "System.Int32"
Case esriFieldType.esriFieldTypeString
Return "System.String"
Case esriFieldType.esriFieldTypeInteger
Return "System.Int32"
Case esriFieldType.esriFieldTypeDouble
Return "System.Double"
Case esriFieldType.esriFieldTypeDate
Return "System.DateTime"
Case esriFieldType.esriFieldTypeSmallInteger
Return "System.Int16"
End Select
Return Nothing
End Function Carlos Javier Martín Cano