martes, 30 de noviembre de 2010

Configurar red de datos móviles (3g) en Iphone 3g, 3gs, 4

Recuerdo antes era extremadamente complicado cambiar la configuración de datos móviles para el iphone o al menos cuando no correspondía a tu operador de teléfono, pero por suerte la gente de Apple saco una aplicación que reduce el problema a 0.

lunes, 29 de noviembre de 2010

Actualizar un archivo de base de datos compacta (SqlServerCe) y pasarlo a una PocketPC

Cuál es la idea:

Tenemos una aplicación que debe sincronizar pedidos en bases de datos compactas para que luego estas salgan y se actualicen off line (sean trabajadas por los operarios), luego el dispositivo vuelve a la central y se debe actualizar con la base de datos principal para procesar la información.

Primero tenesmos que actualizar la base de datos compacta con la base de datos principal, esto es bastante simple por lo que no lo explico, si se necesita me avisan y agrego el proceso.

Nuestro dispositivo móvil va a estar sincronizado con nuestra computadora, es por ello que debemos definir una carpeta que contendrá los archivos a actualizar.

Luego una vez actualizada la base de datos lo único que necesitamos hacer es dejarla guardada en un lugar predeterminado (esto se hace ya que para actualizar el archivo con la PocketPC utilizáremos el mismo centro de dispositivos móviles que viene con el equipo).

En visual estudio debemos copiar el nuevo archivo en nuestro repositorio, para ello tenemos que tener un lugar para hacerlo.


Imports System.IO
Public Class AccesoDatosExternos
Public Sub MoverArchivosDispositivoServidor()
System.IO.File.Copy("C:\BD\SCDDBC001.sdf", "C:\Documentos en PDA de 001\SCDDBC001.sdf", True)
End Sub
End Class


Con esto hacemos que el archivo modificado en visual estudio se copie en nuestra carpeta predeterminada y cuando se realice la actualización automática el mismo se copiara en la PDA. Luego el sistema que está en la PDA accederá sin problemas al nuevo archivo, se podrá modificar y cuando regrese se actualizara y guardara en el mismo lugar para que sea procesado por nuestra aplicación de Visual Studio.

La idea es bastante rudimentaria pero tenía que salir del apuro y fue los más rápido que pude sacar, la idea es unas el framework de sincronización de bases de datos pero como todavía no lo aprendí bien voy a implementar esta solución.

Espero que les sirva.

jueves, 25 de noviembre de 2010

Combo Box múltiple en Visual Studio

A esto me refiero con un combo que tenga dos elementos ejemplo el código y la descripción, que se muestre solo la descripción y obtengamos el código de esa selección.
Lo primero que hacemos es definir una nueva clase en nuestro proyecto Ej. ClassComboMultiple, el cual tiene un value y una descripción (adjunto el codigo):
Public Class ClassComboMultiple
Public Value As Object
Public Description As String

Public Sub New(ByVal NewValue As Object, ByVal NewDescription As String)
Value = NewValue
Description = NewDescription
End Sub

Public Overrides Function ToString() As String
Return Description
End Function
End Class

Una vez armado esto (en mi caso los valores son obtenidos de una tabla de un sqlce) solo tenemos que cargar los datos:

vL_ConexionMobil = New SqlCeConnection(vL_ArchivoMobil)
StrSql = "Select * from " & NombreTabla
MobilDataAdapter = New SqlCeDataAdapter(StrSql, vL_ConexionMobil)
Dim MobilTable As New DataTable
MobilDataAdapter.Fill(MobilTable)
For Each row As DataRow In MobilTable.Rows
FrmVenta.ComboBox1.Items.Add(New ClassComboMultiple(row.Item("Codigo"), row.Item("Razon").ToString))
Next

Y listo esto cargara en nuestro combo box los datos.
Para mostrar el dato seleccionado solo debemos hacer:

Me.CodigoCliente = CType(ComboBox1.SelectedItem, ClassComboMultiple).Value

Espero que les sirva.