Archive

Archive for 28 febrero 2009

[Games] Grand Theft Auto IV – The Lost And Damned

febrero 28, 2009 1 comentario

Apoco no dan ganas ya de jugarlo….

Etiquetas de Technorati: ,,

Categorías:Games, Xbox, Xbox 360

[Word] Colocar el cursor en la primera página

febrero 23, 2009 2 comentarios

Aquí un Tip, para colocar el cursor el inicio del Documento. Esto lo hacemos con una sola línea de código que es:

Word.Selection.HomeKey(Microsoft.Office.Interop.Word.WdUnits.wdStory, False)

El segundo parámetro nos indica si vamos a seleccionar el texto, si lo colocamos en True, selecciona desde el punto donde se encontraba el puntero hasta el inicio.

Etiquetas de Technorati: ,,

[Access] Obtener el tipo de datos y Formato de un campo en una Tabla

febrero 21, 2009 Deja un comentario

Aquí un tip más si quieren saber el tipo de datos lo hacen con esta instrucción:

miBD.TableDefs("Alumnos").Fields("ID").Type

El objeto miBD es de tipo data base que hereda de la clase DAO, para esto debes agregar una referencia al proyecto y después asignarle el tipo de datos de la Aplicacción Access más o menos así:

miBD = Access.CurrentDb

Para saber el formato de tipo de datos es con la siguiente instrucción:

miBD.TableDefs("Alumnos").Fields("ID").Properties("Format").Value

Espero que les sea de utilidad Saludos..

@nor

Etiquetas de Technorati: ,,,,,

[Access] Como identificar los efectos de Celdas de una Tabla

febrero 20, 2009 Deja un comentario

Que tal, pues ya pase de programar para Word y ahora me estoy reventando un round con Access, que para serles sincero me gusta mucho más, ya que en verdad se pueden hacer cosas muy interesantes. Pero bueno hay que hablar del post. Pues resulta que tengo que identificar que efecto tienen las celdas en formulario, lo podemos hacer fácil y rápido:

Access.Screen.ActiveDatasheet.DatasheetCellsEffect = 1

Con esta instrucción determinamos el efecto, la propiedad DatasheetCellsEffect es de tipo byte, los valores que le podemos asignar son los siguientes:

  1. Sin relieve
  2. Con relieve
  3. Bajo relieve

Espero que les sirva Saludos!!

Etiquetas de Technorati: ,,

Windows Day – Tecnologías para derribar paredes

febrero 17, 2009 Deja un comentario
Regístrate al Windows Day. Actualización técnica gratuita y online
 

Etiquetas de Technorati: ,,,

[Word] Saber en que página esta el cursor en un Documento

febrero 9, 2009 Deja un comentario

Que tal, siguiendo con estos mini ejemplos de programación en Office, mientras pasa el tiempo, y en base a una pregunta eh aquí el como identificar en que página se encuentra el cursor en un Documento de Word.

El ejemplo siguiente es muy sencillo pero hice un menú para que pudieran apreciar el funcionamiento. Contiene un menú con las opciones:

  1. Abrir un Documento
  2. Mover el Cursor
  3. Cerrar Documento

El código es el siguiente.

Imports Word = Microsoft.Office.Interop.Word

Module Module1

    Public word As Word.Application
    Sub Main()
        word = New Word.Application
        Menu()
        Dim valor As Integer
        Do
            Try
                valor = Integer.Parse(Console.ReadLine())
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Proceso(valor)
            Console.Clear()
            Menu()
        Loop While valor <> 4

    End Sub

    Public Sub Menu()
        Console.WriteLine("1.- Abrir Documento")
        Console.WriteLine("2.- Mover Cursor")
        Console.WriteLine("3.- Cerrar el Documento")
        Console.WriteLine("4 Cerrar Aplicación")
        Console.Write("Selecciona alguna Opción :")
    End Sub


    Public Sub AbrirDocumento(ByVal val As Boolean)

        If val = False Then
            word.Documents.Open("C:\Demo.docx")
            word.Application.Visible = True
        Else
            word = word.ActiveDocument.Application
            For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next
        End If
    End Sub

    Public Sub CerrarDocumento()
        
        For Each doc As Word.Document In word.Documents
            doc.Close(SaveChanges:=False)
        Next
        word.Application.Quit()
        
    End Sub

    Public Sub Proceso(ByVal id As Integer)
        Select Case id
            Case 1
                AbrirDocumento(False)
            Case 2
                Console.Clear()
                AbrirDocumento(True)
                Console.ReadLine()
            Case 3
                CerrarDocumento()
        End Select
    End Sub

End Module

Explicando el Código.

El primer método es el de Menú, que solo contiene las opciones que se muestran en pantalla.

Lugo esta el método de Abrir un documento, que consta de 2 etapas en base a una condición sencilla, recibe un variable booleana que según el valor es la acción que realiza. Con la opción uno solo abre el documento llamad Demo.docx que esta en la unidad C. En la opción 2 muestra un mensaje en la consola que indica que página esta el puntero.

El método de Cerrar el documento. (Sin comentarios)

Por ultimo el de proceso que evalúa que es lo que el usuario eligió.

La parte importante de este post es el saber como identificar en que página esta el puntero y esto se encuentra en el método AbrirDocumento y el código es este:

 

For i As Integer = 1 To word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdNumberOfPagesInDocument)
                If word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber) = i Then
                    Console.WriteLine("El Cursor esta en la página: {0} ", i)
                End If
            Next

Que recorremos la cantidad total de páginas del documento y obtenemos en que página esta puntero con la instrucción:

word.Selection.Information _
                (Microsoft.Office.Interop.Word.WdInformation.wdActiveEndPageNumber)

Recuerden que para que funcione deben tener el archivo llama Demo.docx en su unidad D o colocar la ruta en donde se encuentre. Saludos.

@nor

Etiquetas de Technorati: ,,,

[SQL] Restando Fechas

febrero 7, 2009 4 comentarios

Este post es en respuesta a una pregunta de un lector de blog, que necesita restar una fecha. Esto es más sencillo de lo que parece, vamos a trabajar con un SQL, si necesitas ponerlo en un Gridview solo haces la consulta o el SP y listo.

Lo primero es saber que tipo de formato vamos a usar ya que desde SQL Server 2005 cuando trabajamos con fechas tenemos muchas opciones, por ejemplo si ejecutamos la siguiente instrucción T-SQL

SELECT GETDATE() as Fecha_1,
CONVERT(VARCHAR(12),GETDATE(),100) as Fecha_2,
CONVERT(VARCHAR(12),GETDATE(),113) as Fecha_3,
CONVERT(VARCHAR(12),GETDATE(),102) as Fecha_4,
CONVERT(VARCHAR(12),GETDATE(),103) as Fecha_5,
CONVERT(VARCHAR(12),GETDATE(),106) as Fecha_6

Tenemos como resultado lo siguiente:

image

Como pueden observar los formatos son diferentes y aquí es donde podemos elegir el cumpla mejor nuestras expectativas. Ahora vamos a ver como restamos unas fechas

Para esto solo vamos a usar la funcion DATEDIFF  que devuelve un entero de los límites datepart que se han cruzado entre los valores startdate y enddate especificados.

Una forma de hacer esto es:

select 
datediff(dd, (CAST('20080720' AS DATETIME)),(CONVERT(VARCHAR(12),GETDATE(),112))) as Dias

Que nos muestra la diferencia en días que en este caso es 202, para obtener mes, día y año solo agregamos un par de datediff más y listo. Algo como esto:

select 
datediff(dd, (CAST('20080720' AS DATETIME)),(CONVERT(VARCHAR(12),GETDATE(),112))) as Dias,
datediff(mm, (CAST('20080720' AS DATETIME)),(CONVERT(VARCHAR(12),GETDATE(),112))) as Mes,
datediff(yy, (CAST('20080720' AS DATETIME)),(CONVERT(VARCHAR(12),GETDATE(),112))) as Año

Que nos arroja como resultado lo siguiente:

image

Entonces de esta manera obtenemos la diferencia entre las fecha inicial y la fecha final, y dependiendo de esto podemos convertir el resultado en un DateTime de nuevo o en un Varchar o el tipo de dato que mejor les parezca para su aplicación.

Espero que esto les ayude y les sirva, si necesitan obtener la diferencia en Horas, Minutos, etc, aquí les dejo una tabla con las abreviaturas correspondientes.

  • Parte de la fecha
  • Abreviaturas
  • año
  • yy, yyyy
  • trimestre
  • tt, t
  • mes
  • mm, m 
  • dia del año
  • da, a 
  • dia
  • dd, d 
  • semana
  • sm, ss 
  • hora
  • Hs
  • minuto
  • mi, n
  • segundo
  • ss, s 
  • milisegundo
  • Ms

@nor

Etiquetas de Technorati: ,,,