miércoles, 30 de diciembre de 2009

2010


Bueno en vez de cartita a santa, haré mi cartita de proyectos para el 2010.

En el 2010 se presentan cosas muy interesantes como la tan esperada versión 15 de Windev, pero también tenemos algunas cosas que quise realizar en este 2009 y por cuestiones de trabajo algunas no se pudieron realizar, pero afortunadamente otras si.


  • Windev Stream: Ya en algunas ocaciones con varias personas he tenido ganas de realizarlo, la idea es juntarnos ya sea fisicamente y/o virtualmente varias personas y hablar de uno o varios temas de windev, desde algunos temas de conceptos básicos, algunos temas vistos por ejemplo en windev tips, la idea seria juntarnos gente que conoce windev resolver dudas, platicar de lo que se nos presento, muchas veces uno cree que son tonteras o algo cotidiano pero para otros nos es de gran valor. Quizas juntarnos una vez al mes y poder hacer audio y video, nada formal pero si hecharnos una platicadita con invitados especiales :p
  • VideoTutoriales: Este la verdad si esta difícil, el tiempo y las herramientas muchas de las veces son impedimentos, pero espero poder hace mas vídeo tutoriales en espaniol.
No quiero extender la lista ya que aunque me gusta planear, estos son los que me gustaría hacerlos en un plazo inmediato, ya tengo una cuenta de ustream, vere si pueden quedar guardados los streams y si son de buena calidad.

Animo


PD la imagen fue tomada de http://www.pcsoft.fr/ y de ella todos los derechos.

martes, 8 de diciembre de 2009

Frases Windev

Bueno estaré posteando algunas frases o comentarios de Windev, algunas buenas algunas otras no tanto, pero en fin empezaremos con algunas frases twitteras.

@roster Perdí varias horas diseñando las funciones en velneo, en Windev solo se usan y se dedica ese tiempo a otras cosas más productivas.


@rosper Cada vez más me maravillan más las funciones que ya tiene Windev... ya no hay que programar las funciones, ¡ya existen!


@rosper¡ En menos de 5 minutos implementé una DLL .Net assembly en Windev!

@rosper Desde que uso windev ya tengo tiempo libre.



@pablasso Ahhh me enferma perder el tiempo peleando con las herramientas y no el trabajo en si

No recuerdo quien me lo dijo pero me causo mucha risa
se ve como el shamwow! :p

jueves, 26 de noviembre de 2009

Manejo de imagenes.

Estoy haciendole una pagina a una gran amiga, algo sencillito una pagina que muestre sus productos en linea, en webdev vienen algunos proyectos ya terminados, pero pues para no enfriandos lo empezamos a desarrollar, lo que quiero que se haga es que el usuario final suba la imagen del producto.

Webdev tiene un componente llamado Thumbnail que lo que hace es que toma la imagen y la despliega en poca resolución y al darle click se muestra la imagen en tamaño regular, pero quería meterle un poco de mas funcionalidad, básicamente estéticamente.

Sabia que mi amiga iba a subir la imagen tal y como viene de su cámara, la cual estaría muy pesada para Internet, y no quería que la tuviera que editar externamente.

Va la imagen original


2.42 MB
2112 x 2816


La imagen en menos resolucion


10.3 KB
233 x 273


Y el código fue el siguiente
dSaveImageJPEG(IMG_Image1, , 80)

Esa función tiene muchas mas cosas que se le pueden hacer en este caso la use para eso ;)

y Listo !

© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

martes, 24 de noviembre de 2009

Windev para no desarrolladores

Lo reconozco a mi me a pasado!, estas con una persona que te jura que no sabe nada de eso de computadoras ni mucho menos sabe hacer programas de computadoras en eso te muestra una hoja de excel y te quedas WOW, la verdad a mi me sigue sorprendiendo la calidad de hojas de excel, porque incluso vez IF's y formulas y esto lo alcanzas a ver en una sola linea de codigo, no me refiero a codigo VB me refiero a "formulas" que ponen en una celda.

En una ocacion le comentaba a una de estas personas, que tenia muy buena lógica y razonamiento para programar, y le mostré la herramienta,

A que voy con todo esto, me a tocado ver desarrollos de sistemas críticos con windev, ERP, sistemas de monitorio etc, pero también los que usamos Windev creo que tenemos que reconocer, lo hemos usado para hacer rutinas sencillas para nuestro uso común, por ejemplo la semana pasada me pidieron que les ayudara a pasar de un rft a un archivo de xls, la cuestión era sencilla y era como estar jugando con coordenadas el texto que encuentres del 20 al 50 en la linea 4 ponlo en la celda 4 B, y fue un requerimiento que tenían ya tiempo inventándole y es algo que pudieron resolver ellos mismos con la herramienta.

Otro procesito sencillo, estábamos en la oficina y se nos acerca una persona de aduanas creo y me dice ocupo a ver si me puedes echar la mano con lo siguiente, al parecer tenia como 4 exceles (de los nuevos de millones de renglones) y lo ocupaba estar intercalando verificar si un dato existía en el otro excel y si existía encontrar el dato de alado, me comento que llevaban semanas haciendo este proceso A MANO.

Lo que hicimos fue pasar los datos a una "base de datos" y una vez teniéndolo así poder hacer las búsquedas y reportes de este.

En resumen me a tocado presentar la herramienta a profesionistas para que sepan de que es, ventajas etc y despues con el area de desarrollo , al final ya en ocaciones me han dicho me gusta para mi, para nuestro departamento que no es desarrollo pero muchas veces ocupamos rutinas sencillas, que las hacemos con lo que tenemos a la mano, y quizás esto es lo que deberíamos de tener a la mano.

Ahora si programadores frustados, y arepentidos, los invito a que saquen su desarrollador internto jejeje

Saludos.

algo de nostalgia?



Sabemos que siempre al adquirir una nueva herramienta tenemos que adecuarnos a su forma de trabajo, buena o mala siempre existe un cambio, y este puede llevas a la nostalgia de como veníamos trabajando.

La primer linea que tire de código en Windev al final puse un " ; " ya que el dar un ctrl + s y escribir un punto y coma después de cada linea es algo que casi siempre hacia en automático, cual fue mi sorpresa que Windev no me marco error, aunque es un lenguaje que no ocupa necesariamente el punto y coma, tampoco le perjudica, como dicen los adolescentes te dejan ser.

Windev trata de que la transición entre tu anterior plataforma o mas bien el desarrollo sea lo mas amoldable, asi que tambien por ejemplo a los procedimientos les puedes llamar funciones, me ah tocado platicar con gente que de alguna manera diferencia entre procedimiento y funcion pero para Windev tecnicamente no existe ninguna diferencia pero te deja escribirlo como gustes.

Y creo que todo es cuestion de que te pongas de acuerdo en la forma en que desarrollara tu equipo de desarrollo, creo que la estandarizacion de codigo es muy buena, pero igual a muchos les gusta tener la libertad en codigo por ejemplo.

Today = Today(), cuando la funcion no le mandas parametros puedes omitir los parentesis.

En fin es de lo que recuerdo hasta el momento.

miércoles, 18 de noviembre de 2009

Accesso Nativos




Los accesos nativos son fantasticos, en esta ocacion hablare de los de google por ejemplo.

Ya en versiones anteriores podías acceder a estos servicio con las herramientas de Windev pero ahora lo que hicieron fue ponerlo en lenguaje W para que sean aun mas sencillas de integrar.

Por ejemplo para obtener un mapa de google maps.

sMiCadena is string = "String_que_proporciona_google"

IMG_Image1 = GglGetStaticMap(sMiCadena, 32.530189, -116.98652, 17, 640, 480,gglHybrid)

// Processing the errors
IF ErrorOccurred THEN
Error()
END

Listo !, con esto obtenemos algo como esto




Ahhh por ejemplo si no te sabes las coordenadas.

LocHome is gglCoordinate
LocHome = GglAddressToCoordinates(MapKey, "Guadalajara Mexico")
STC_Static1 = LocHome.Latitude +", "+ LocHome.Longitude


Por ejemplo si queremos acceder a nuestros contactos de google.

ArrContacts is array of 0 gglContact = GglListContact(Cnt)

FOR EACH Contact OF ArrContacts
Trace(Contact.Name)
END

Nuestro calendario

Calendar is gglCalendar = GglGetCalendar(Cnt,"nabu.test@gmail.com")
// Browse the events of the calendar
IF NOT ErrorOccurred THEN
Evt is gglEvent
FOR EACH Evt OF Calendar
Trace(Evt.Title)
END
END

Podemos acceder a documentos, fotos de picasa, Google AdWords, etc..

Guardar los cambios de un query

Esto me paso el dia de hoy.

Recibo un mensaje de Victor Fauda y empezamos a platicar y encontramos una caracteristica que a ambos nos parecio interesante y creo que nos pudiera ayudar a ahorrar mucho trabajo.

En las herramientas de Windev tu puedes crear querys visualmente, de uno o varios archivos (o tablas) y una vez que lo creas este puede quedar como componente el cual lo puedes ligar a otros componentes o accederlo por programación, en fin lo que descubrimos fue lo siguiente (nada nuevo, pero a mi si lo fue)

Por ejemplo, los que no estan muy familiarizados con la herramienta imaginen que QRY_Archivo contiene el siguiente SQL (en realidad así es)

SELECT
        Archivo.ArchivoID AS ArchivoID,
        Archivo.Dato AS Dato,
        Historial.Texto AS Texto
FROM
        Historial,
        Archivo 


Ok por programación tu lo puedes recorre de esta manera.

//lo ejecutas
HExecuteQuery(QRY_Archivo,hModifyFile)

//te posicionas
HReadFirst(QRY_Archivo)

//asignas valores
QRY_Archivo.Dato = "test test"
QRY_Archivo.Texto = "Mi Texto"

//AQUI LA CLAVE, puedes modificar
HModify(QRY_Archivo)

Por lo tanto de esta manera afecte a dos archivos (tablas de base de datos) a partir de un query.

Lo se, lo se, no nos revolvamos existen querys y rutinas para que por query puedas afectar varios datos, UPDATE, DELETE etc, pero en este caso, muchas veces ya tenemos el query y solamente queremos afectar a uno de los registros que regresa el query.

Con este mismo concepto y agregando 2 lineas de código, ahora podemos hacer que nuestros controles como tablas, loopers etc, puedan ser modificados a nivel de usuario final y que su modificación sea afectada a base de datos.

Conversacion un poco mas tecnica en Windev tips

© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

martes, 17 de noviembre de 2009

Aplicaciones Multilenguaje



Windev ya viene integrado para que trabajes tus aplicaciones con multiples lenguajes y con varias herramientas de internacionalización, desde un inicio te pregunta cuantos lenguajes vas a utilizar (esto lo puedes modificar después) pero si por ejemplo defines 2 lenguajes, entonces cada que agregues un control en su caption te vendrá la opción para que especifiques su caption en ambos idiomas, incluso esto también se
traslada a los strings que defines por programación.

Algo que me agrado es que no solo se refleja a texto e imágenes, si no también a formatos para fechas, monedas etc.


© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Domotica



Ufff sin comentarios.

Puedes generar aplicaciones domoticas


© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Pruebas.




Esto es para cumplir aquella leyenda urbana que dice que las aplicaciones se les tiene que hacer pruebas y que un solo cambio en la aplicación implica hacerle pruebas a toda la aplicación por completo.

Windev te ayuda a generar y probar pruebas unitarias pero también automatizadas creando escenarios, lo único que tienes que hacer es "usar la aplicación" esta te va generando como un registro de todo lo que hiciste, asi que para probarla lo único que tienes que hacer es darle play, y lo que hará es volver a realizar las acciones que realizaste, para esto solo te hará falta asignarle resultados y respuestas satisfactorias para definir si la prueba se considera satisfactoria.

Incluso cuando estas por hacer el ejecutable o estas dispuesto a hacer commit al SCM y no has definido pruebas o estas no pasaron te hace dice algo parecido, no has hecho pruebas a tu aplicación , aun así deseas continuar?, chiin hasta te sientes mal jejeje.




© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Lenguaje W



Windev si maneja un lenguaje de programación robusto, este se llama Lenguaje W, y no porque sea sencillo de usar se debe menospreciar por su potencial.

Lo que pasa es que Windev maneja un código de 5ta generación, como dice, remplaza cientos de lineas de código de 3ra o 4ta generación, pero no te preocupes si gustas también puedes generar los cientos de lineas, solo que muchas veces uno empieza a inventar la rueda cuando Windev ya tiene 3 o4 funciones que hacen exactamente lo que quieres hacer.

Y aquí de nuevo tienes que empezar a pensar primero fácil y después ya te puedes complicar la vida, estoy seguro que encontraras una función que te ayude a hacer lo que quieres hacer, por mas complicado o "fumado" que esto sea.

Tiene el potencial para generar procedimientos, clases etc.

Algunas

Ivan dice: Alguna funcion para pasar lo que tengo de la tabla a formato excel
Respuesta: TableToExcel.

Ivan dice: Tengo un areglo como le borro todos los elementos
Respuesta: DeleteAll

Ivan dice: Como saber si un numero es par o impar.
Respuesta 1

IF (modulo(Val(EDT_Edit1),2)=0) THEN
       Info ("numero par")
ELSE
       Info("numero impar")
END

Respuesta 2
ResEven = IsEven(66)     // Returns True


Y asi nos pudieramos pasar toda la noche.

Recomendación, antes de que empieces a tirar código, dale una buscadita en la ayuda lo mas seguro es que encuentres una función que haga lo que estas buscando o te ayude.



© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Hyper File



Windev se puede conectar a varias (por no decir que a todas) bases de datos, pero también incluye una propietaria llamada HyperFile.

En vídeos y testimonios de Windev francia habla de billones y billones de datos en una base de datos HyperFile, como siempre soy algo exceptico,  nosotros hicimos una prueba agregando un millon de registros a una tabla (o archivo) y funciono perfectamente asi que dijimos porque no usarla.

Pero puedo decir que ya tengo conocidos (amigos porque no :P) que están usando HyperFile como base de datos en producción con millones de registros y accediendo a ellos continuamente.

Entiendo que muchas de las veces uno no selecciona la base de datos en la que va a trabajar pero cuando es así, existe una muy buena opción con HyperFile, gratis y de libre distribución.

Ya me a tocado instalarla en servidores Windows y Linux tanto en su versión clásica y cliente/servidor y accederla desde Webdev, Windev y Windev Mobile

© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Codigo multiplaforma


Sin comentarios, jajaja

Tu código es multiplataforma !

Bueno como ya lo he comentado creo que post anteriores, el caminar entre diferentes versiones de Windows es totalmente transparente, pero tambien puedes generar aplicaciones JAVA ya sea para Windows, Linux y Mac.

La verdad en este punto eh generado aplicaciones java y corrido en una distribución de linux pero solo como ejemplo.

Algunas funciones nos son soportadas por JAVA, asi que desde la ayuda te va indicando cuales no son soportadas, o cuando estas dentro de WIndev le puedes decir que te muestre como warning cuales son las funciones que no son compatibles, la verdad nada fuera del otro mundo que no le puedas sacar la vuelta con otras funciones ;)

© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Un ejemplo




Windev te permite hacer aplicaciones bonitas y presentables.

Como dicen de la vista nace el amor y windev te empuja mucho que tus aplicaciones queden presentables.

Como en su momento ya lo eh reconocido, soy muy malo para la parte visual de las aplicaciones o mas bien les tengo que invertir mucho tiempo, y con windev me ayudo mucho a esa parte.

En una ocacion estábamos en curso jugando con controles en una ventana, clásico que ya estas en platica mas que curso, y empezamos a poner controles en una ventana ya que estábamos viendo alguna de sus funcionalidades, en eso una persona entra y quedo maravillado de la aplicación que estábamos haciendo, para nosotros fue solo una sonrisa de que en realidad la aplicación no hacia nada solo eran tabs y controles (los tabs en windev 14 tienen un efectillo al cambiarse de pestaña).


© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Windev, algo nuevo




No tengo muchos años en el desarrollo de software pero si han existido muchos momentos en los que me eh impresionado con servicios o productos referentes a tecnología, dentro del área de desarrollo de software me había dado cuenta que era casi imposible estar al día, casi todos los días salían cosas mas y mas impresionantes, nuevas tecnologías, pero al momento de conocer Windev descubrí algo nuevo pero a la vez completamente diferente, como en una ocacion escuche, es solamente lo mismo pero automatizado, o es algo para que hagas lo mismo pero mas rápido, y en su momento es lo que veía, eran editores o arquitecturas que le han puesto un nombre, pero en realidad eran pocas las que estaban innovando.

Los RAD's no son algo nuevo, pero para mi si lo fueron y era difícil depositarles la confianza, pero como dicen por ahí la confianza se gana poco a poco.

Windev dice que el 97.6% están satisfechos con el producto, en lo personal me a tocado estar con clientes desde que por primera vez conocen el producto, evaluan, adquieren y en algunas ocaciones me a tocado darles curso, y por experiencia personal les puedo decir creo que el 97% no solo están satisfechos con el producto pero en mi experiencia casi ese mismo porcentaje a sobrepasado las expectativas que tenían de el.




© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

Paseo por el folleto de Windev




Bueno escogí mmm... como decirlo las secciones mas interesantes del "brochure" de la versión 14 para hablar un poquito de ellas y platicarles mi experiencia al respecto.

Dejemos a un lado las características de Windev y hablemos un poco de lo que como persona y como empresa hemos ganado y elevado una vez adoptado windev como herramienta de desarrollo.

Tiempo en desarrollo. creo que esta por demas decirlo,  el tiempo que duramos como tal en desarrollo se ha disminuido considerablemente

Curva de aprendizaje: la curva para que una persona se integre a un desarrollo se disminuyo de un promedio de 6 meses en curso, a una semana de auto-aprendizaje.

Abrimos horizontes: el desarrollo para una aplicacion de escritorio, web o mobile no es ningún obstaculo.

Mayor rendimiento: aquí una gran clave, se elevo el rendimiento tanto del equipo de desarrollo como de nuestras aplicaciones frente al usuario.

Existen muchisimas mas áreas donde creo que el rendimiento se eleva, por ejemplo en ing de software, análisis, trabajo en equipo, pruebas, implementacion, retroalimentacion de usuario, reporteo, etc.

© NABU – Tecnología en Software, Distribuidor Autorizado de QX Unit. WinDev, WebDev y WinDev Mobile, son marcas registradas de PC Soft. Otras marcas son propiedad se sus respectivos dueños

SWITCH...

Bueno de las cosas básicas que tiene Windev y creo que se pudiera decir que es el lenguaje básico del lenguaje W ya nos presenta algunas cosas interesantes.

Por ejemplo puedes hacer.

SWITCH "casa"
CASE "hogar"
CASE "casa"
Info("aqui taa")
OTHER CASE
END

o tambien algo que descubri el dia de hoy. Estaba haciendo un switch de números enteros pero por ejemplo ocupaba una condición en la que fuera mayor a un numero, y dije jmmm se podrá?

asi que recordé lo que alguien me dijo "tienes que pensar a la windev" así que cerré los ojos y puse una condición y taran si es soportada.


nMiNumero is int
SWITCH nMiNumero
CASE 1
CASE 3
CASE >5
Info("je je je")
OTHER CASE
END

 En fin creo que no es una graaan característica pero ese momento de locura me ayudo.

Contacto

Clientes para foro phpbb (resultados)

Bueno lo que resto para la aplicación, fue postearlo en el foro para que pudieran bajar el instalable y esperar los resultados.

Algo que maneja Windev y creo que es mas impresionante que la multiplataforma es poder generar tus aplicaciones compatibles con versiones de Windows (a veces es mas difícil) por ejemplo, me a tocado terminar una aplicación ir con el cliente y aun encontrarme con Windows 98.

En esta ocacion solo había realizado pruebas solo en Windows XP, ya que las unicas 2 pruebas que hice era para ver si se podian conectar a la base de datos MySql nunca me preocupe si mis clientes hiban a tener diferentes Sistemas Operativos.

Aquí sus comentarios.

jalo bien en Vista Business, 
al 100, en vista! 
Esta muy bien Ivan ya lo instale y esta trabajando bien en Win 7

viernes, 13 de noviembre de 2009

Cuanto nos cuesta las aplicaciones de punta

Creo que a veces cuando somos desarrolladores nuestros objetivos del desarrollo como tal no empatan con nuestro líder de proyecto y muchas veces con nuestro cliente, creo que existen muchos elementos pero en este caso me enfocare en el punto de tecnología, o arquitecturas de desarrollo.

Creo que como todo es difícil equilibrar entre manejar la ultima tecnología existente, con el estar a obsesionado por usar la ultima tecnología existente sacrificando recursos del proyecto que comunmente son del cliente.

A que me refiero?, que muchas veces como equipo de desarrollo nos obsceciona el tener la ultima tecnología, pero creo que muchas de las veces sacrificamos conocimiento dominado por estar aprendiendo tecnologías en un proyecto real, con fechas establecidas y vendido, inclusive muchas veces se extiende el presupuesto para estas acciones. En lo personal creo que es necesario estar aprendiendo nuevas tecnologías y estar a la vanguardia de ellas, pero cual es el costo que tenemos que pagar para esto?.

Como saberlo, bueno voltea a ver a tu equipo de desarrollo y hagamos las siguientes preguntas.

Cuando tu equipo de desarrollo esta "parado", que porcentaje de ese es por algún bloqueo técnico?.
Que tanto porcentaje del tiempo tu equipo invierte en solucionar cuestiones técnicas y que otro tanto en cuestiones de valor al sistema?

Y a lo mejor suena agresivo pero a mi muchas veces me tocaba estarme peleando con la tecnología, estarme peleando con una exportación a pdf, en una coneccion, en abrir un puerto serial, el encontrar un componente para generación de código de barras, y cuando eres desarrollador y el tiempo no te cuesta, es un gran reto estar invirtiendo el tiempo en esas situaciones

Si, estoy de acuerdo que debe de existir un momento para investigación de nuevas tecnologías e implementacion de ellas, y es algo que debe de ser constante, pero no creo que tenga estar siempre interfiriendo con un desarrollo actual.

Windev no es la solucion, pero si te puede ayudar.

Lo que trata de hacer Windev es, tu encárgate de la lógica del sistema, el análisis, cuestiones de valor del sistema, y yo me preocupo por la tecnología, así que se pudiera decir que los usuarios de windev tienen un departamento de investigación e implementacion de nuevas tecnologías y nosotros como desarrolladores nos encargamos de lo demas.

Por ejemplo, en este momento, estamos desarrollando en su versión 14, y ahorita en 15 nos presentan 555 nuevas características, por ejemplo ya no tengo que preocuparme por la generación de aplicaciones por ejemplo para andriod, o en su momento en la presentación de 14, venia la integración de las aplicaciones de google, algo que antes también se podía hacer, pero ahora te lo ponen como se pudiera decir de "pechito".

En fin es algo que ahora en el desarrollo de windev me he dado cuenta, el que invertía mucho tiempo en integrar tecnología, el estarme peleando para generar un pdf, cuando en realidad lo que importaba era que información quería presentar, el como hacerlo, y los diferentes formatos es algo que se supone no debería de tener problemas.

jueves, 12 de noviembre de 2009

Clientes para foro phpbb

Bueno inspirado en los anteriores videos, dije porque no hacer algo que lo esten usando usuarios, asi que pense en nuestra pagina www.baja4x4.org como muchos sabran y cuando tenia tiempo, era de estar todo el dia pegado a ver que nuevos posts habían, asi que me lance a hacer una pequeñita aplicación.

La idea es hacer una aplicación donde se lean los últimos posts.
Algunos datos
Base de Datos MySQL
Tablas phpbb forum 3.x
Mensajes totales 105974
Usuarios totales 1752

Algunas características.
Acceso nativo a MySQL
Que se pudiera minimizar
Que se este refrescando
Cliente escritorio y móvil

El desarrollo como tal fue sencillo, algunas de las cosas interensates fueron:

Al cargar los posts se quedaba "trabado": Lo que pasa es que el thread principal se conectaba a base de datos, así que lo que tuvimos que hacer fue levantar otro thread para que la ventana siguiera corriendo
ThreadExecute("Refrescar",threadNormal,CargarPosts)

Mostrar avance: Al estarse conectando a la base de datos y trayendo los registros el cliente no se daba cuenta de que pasaba, asi que se agrego un progress bar.

PROGBAR_Avance..Visible = TruePROGBAR_Avance..MaxValue = EDT_Mostrar_Ultimos

//confirme se iban agregando
PROGBAR_Avance = i

//al final
PROGBAR_Avance..Visible = False
PROGBAR_Avance = 0

Código para recorrer los ultimos posts.
HReadLast(phpbbx_posts)
i is int = 1

WHILE HFound(phpbbx_posts) AND i <>
HReadPrevious(phpbbx_posts)
i++

END

Afinando detalles. Cuando cargaba por primera vez se veía increíble, pero cuando era la segunda vez, no lo era tanto así que se agrego un procedimiento, y ese procedimiento lo cargaba en un arreglo y después ya cargado nomas lo remplazaba por lo que se estaba viendo en pantalla.

La versión para móvil. un guardar como...

Algunas Imágenes

martes, 10 de noviembre de 2009

WebDev: Desarrollando una aplicacion Micro-Bloging (parte 3)

Bueno ya no habia tenido tiempo de desarrollar un poco pero aqui la tercer parte del desarrollo de un microblog con WebDev (14)

Al escribir detectar con @Usuario
http://screencast.com/t/yeDkXVem

ver otro usuario
http://screencast.com/t/EbMBtup4qd18

Ligando links a perfiles de usuario
http://screencast.com/t/aHGOvioJMa8u

Hacer Amigos
http://screencast.com/t/6fcWPj9B

Leer un Xml para buscar amigos por ejemplo en Twitter
http://screencast.com/t/ZjQ1NWU3N2

Busquedas (#)
http://screencast.com/t/MzI1NzQ4

Un poco de estética
http://screencast.com/t/MTdjNjVkNGM

De nuevo la aclaracion.
Existen muchas mejores maneras de desarrollarlo, si se fijan no me estoy apegando a un diseno, estandares de programacion, mejores practicas, lo estoy tratando de desarrollar para mostrar un poco la herramienta.

No estoy utilizando el mayor potencial de la herramienta y quizás existan muchas mejores maneras de realizarlo, esta es solo una de ellas.

En fin no deja de ser divertido

Que me mas le agregare.

Mostrar la Aplicación Final
Generando clientes (este estará bueno)

viernes, 6 de noviembre de 2009

WebDev: Desarrollando una aplicacion Micro-Bloging (parte 2)

Ok en esta parte lo que hicimos fue básicamente nomas la parte de configuración.

Es difícil mostrar de esta manera la herramienta, hay que recordar que se esta haciendo una aplicacionsita "al vuelo", si se fijan no se diseño o estructuro muy bien la aplicación, pero nos da una idea de como ir haciendo cosas muy sencillas y como Webdev nos permite también meterle creatividad, espero tener tiempo para terminarla y agregarle cosas un poco mas creativas técnicamente.

WebDev (las 3 herramientas) lo veo que lo puedes hacer de manera muy automática o muy manual, aquí lo que estoy haciendo es tratar de nivelar ambas, metiendo a veces mucho código y otras veces no tanto para que sepas que puedas manejarlo de varias maneras.

Aquí los vídeos

Contador al escribir y validaciones simples.
http://screencast.com/t/5soJtUBOo

Registrándome
http://screencast.com/t/4gQppeizep

Ver mi perfil de usuario
http://screencast.com/t/eRhiMWDcUha

Modificar y completar mi perfil
http://screencast.com/t/gdYw51ky

Modificar mi contraseña
http://screencast.com/t/QTqYffZT

Subir o cambiar mi imagen
http://screencast.com/t/bFQZCLhQ8qC

Bien creo que lo que le falta es

ver otro usuario
hacer amigos
Al escribir detectar con @Usuario
Busquedas (#)
Leer un Xml para buscar amigos por ejemplo en Twitter
Generando clientes (escritorio, mobiles)


Recuerden la liga a Windev Tips

jueves, 5 de noviembre de 2009

WebDev: Desarrollando una aplicacion Micro-Bloging (parte 1)

Bueno después de superar el pavor que tengo para crear vídeos con voz (es mas difícil para mi hablar con una computadora que con personas), les presento una serie de vídeos (NO TUTORIALES) sobre la creación de una aplicación muy sencilla de microbloging.

Es como sabran una versión para que conoscan mas o menos como desarrollo con Webdev, lógico que muchas personas lo harian mucho mejor y mas rápido pero inspirado en la comunidad de .net de Tijuana que decian "show me the code" aqui se presenta un poco como es el entorno de Webdev.

El Proyecto
http://screencast.com/t/jjdRdUlZlXGf

El Análisis
http://screencast.com/t/tl8rZgSzy

Estilo Básico
http://screencast.com/t/lm5rigAv

Desplegando mi Estatus o ultimo Post
http://screencast.com/t/rf04NDJfFYI

Guardando mi Estatus.
http://screencast.com/t/bnTO431one

Creando querys
http://screencast.com/t/d5fORQhkNGR8

Desplegando los posts de mis amigos
http://screencast.com/t/5leRsT0drsW

Los siguientes videos creo que serian

Contador al escribir y validaciones simples.
Ver el perfil de usuario
Al escribir detectar con @Usuario
Busquedas.
Registrarte y crear perfil
Encriptando informacion



Uffff, Miedo superado :D

miércoles, 4 de noviembre de 2009

Windev Multilenguaje

Las herramientas como Windev, WebDev y Windev Mobile traen integrado la opción de multilenguaje.

Básicamente cuando creas un proyecto (o en cualquier momento) defines cuantos lenguajes vas a utilizar, por ejemplo ingles y español. De esta manera cada que agregas un caption de un control o caracteres entre comillas ("") te da la opción de decir como sera en ingles y español (o cuantos lenguajes tengas definidos) de esta manera con 2 lineas de código cambias de lenguaje toda tu aplicación.

Tambien puedes tropicalizar, formatos de fechas, monedas etc. de esta manera para un idioma puede ser DD/MM/YYYY y para otro MM/DD/YYYY, y la moneda con signo de euros o dollares dependiendo.

Es muy sencillo de utilizar, después puedes agregarles utilerias para traducir facilmente toda tu aplicación.

Saludos.

Windev y Java

En este post platicaremos de como mandar llamar métodos escritos en java desde una aplicación Windev (o WEBDEV)

Fue extraído de un post en WindevTips

Tengo una clase en java y quiero mandar llamar
una funcion o un metodo de una clase.


//Codigo Java
public class MiClase {
public static void main(String[] args) {
System.out.println("Estoy en main");
}
public static String habla(){
return "Hola Mundo";
}
public static String saluda(String nombre){
return "Hola " + nombre;
}
public static double multiplica(double x, double y){
return x * y;
}
}


Dentro de WebDev en una pagina.
En el evento de un botón

JavaLoad("C:\Documents and Settings\iglez\Desktop\test\Test")
sDato is string = JavaExecuteFunction("MiClase", "saluda", javaString, "Ivan")
Info(sDato)



Listo !!
TIP. una de las cosas que encontre en este ejemplo es que solo puedes
mandar llamar metodos o funciones estaticas, jmmmmm tiene sentido no?

Dentro de las herramientas podemos programar Orientado a Objetos, este código lo único que explica es como mandar llamar un método de una clase ya escrita en JAVA (por ejemplo).

miércoles, 28 de octubre de 2009

La ayuda y las comunidades.

Lo primero que me han dicho al hablar de Windev, Porque no encuentro ayuda en internet acerca de Windev?

Bueno a diferencia de otros lenguajes que estamos acostumbrados a encontrar todo en Internet, en windev todo se encuentra en la ayuda.

Sip en la ayuda de windev, en lo personal no estaba acostumbrado a buscar en la ayuda, cuando tenia alguna duda en algún programa lo que hacia es que lo buscaba en internet, en Windev un tiempo me toco estar en soporte y todas las respuestas que alcance a resolver se dieron leyendo la ayuda y los ejemplos que trae el mismo Windev.

Algunos sitios.
Foros Windev

El de Casa
WinDev Tips

Nació como una herramienta propia, en la que posteaba todo aquello que en su momento tube que buscar alguien me ayudo y lo guardaba para que no se me olvidara, despues la comunidad de nabu lo empezó a llenar y ahora es una comunidad en la que nos desvivimos por tratar de responder y resolver las inquietudes de los que preguntan o aportan

La version Express

Bueno ya me han preguntado que de donde pueden bajar la versión express.

Si existe la version express, al dia de hoy esta la version 12 de windev y Windev Mobile.

Descargar la versión Express

Que puedo hacer?
Creo que en la version express puedes hacer todo lo necesario para la evaluacion de la herramienta, estan los manuales, tutoriales.

Que no puedo hacer?
Existen muy pocas limintacion y esta comúnmente en el numero de tablas, registros y cuestiones por el estilo, entre otras.

Mi experiencia.
Después que descubrí Windev en realidad como lo aprendí fue con la versión express (versión 10).

Paginas Web sin saber Html

WebDev es la herramienta utilizada para generar ya sea sitios dinamicos o estaticos, esto con la posibilidad de crearlos sin conocer absolutamente nada de html.

En mi caso conosco un poco de html, pero estar diseniando y programando sin tener que hacerlo con html, jmmm pues no tan facil se le dice que no a una herramienta de este tipo.

Ahora que si conoces html pues mas interesante se pone ya que puedes hacer cosas muy interesantes y sacarle aun mas provecho a esto.

Me ha tocado estar en curso con personas que vienen de ambientes totalmente de aplicaciones de escritorio y están emocionados creando sus paginas web y creando sitios, todo esto sin saber html.

En fin WebDev dice, crea sitios completos sin saber html ni php.

Querys

Las herramientas de WinDev, WebDev y Windev Mobile traen una seccion de edicion y creacion de querys, MUY SENCILLA

Básicamente es un editor de querys que te invita a que le digas que campos ocupas independientemente en que tabla (o archivo) se encuentren, después windev hace la(s) relación(es) necesarias para darte ese resultado, claro que puedes ver el SQL que te genera y también puedes cambiar las ligas.

En un inicio debo confesar que se me hacia complicado hacer las cosas de esa manera, estaba acostumbrado a realizar los querys con puro SQL, pero eso no duro mas que unas horas para que me acostumbrara y le tomara el amor a menaje de esta manera tan rápida y efectiva los querys.

Una anécdota.
Estaba con una amiga, y me comenta que si le puedo ayudar a realizar unos querys para un proyecto estudiantil, a lo cual accedí, ella me decía que era la consulta y yo le hacia el query, pero después las consultas empezaron a hacerse no tan comunes y ya era necesario meterle un poco mas de creatividad a las consultas.

Solución.
Cree el análisis en windev (en este caso estaba en la versión express) y empece a crearle todos los querys necesarios, y después le pasaba el sql que ocupaba, y ella lo ejecutaba desde asp creo.

Creo que es importante conocer el SQL, incluso en Windev puedes mandar ejecutar un sql que tu hallas escrito, pero que sencillo cuando alquilen te ayuda a resolver fácil y efectivamente del problema.

Por ultimo
En una aplicación típica de marcas, modelos, años, motores, transiciones, productos etc. el query llego a hacerse de una relación de 10 tablas (archivos como los llama windev), algo sencillo pero en su momento cuando son varios empieza a ser cansado darle mantenimiento, en nuestro caso incluso veíamos las relaciones visualmente.

Politicas del SCM

Algo interesante que maneja el SCM (Source Code Manager) son sus politicas, por ejemplo.

No puedes subir (checkin ) si te esta marcando error, o warning
No puedes subir si no le agregaste el comentario de que estas subiendo
No puedes subir si no esta asociada una tarea a tu cambio
No puedes subir si no has realizado pruebas automatizadas (tómala)
No puedes subir si no tienes un % de tu código con comentarios
Y una simpaticona, no puedes subir si al menos no le has dado GO a tu aplicación, osea al menos correrla una vez.

Claro todas estas las puedes omitir al momento de dar de alta, no sin antes dar una explicación del porque la estas omitiendo.

Divertido cuando eres el encargado del proyecto, no tanto cuando eres el desarrollador jeje Eso si muy útil

martes, 27 de octubre de 2009

Trabajando remotamente

Que sencillo fue trabajar remotamente gracias al SCM de Windev

Comúnmente me traslado como 2 horas y media de donde esta mi oficina para pasar algún tiempo con mi familia.

Los desarrollos los tenemos dentro del SCM por cuestiones de versiones, integracion etc.

Cuando llego a la ciudad me doy cuenta que mi disco duro habia muerto, me doy cuenta a las 8:00 PM y al dia siguiente tengo una presentacion de Windev

Solución, baje del sitio de Windev el programa, me conecte al SCM y baje el proyecto, y Listo !

El SCM es un repositorio de código donde puedes mantener versiones de tu codigo, puedes estar subiendo la ultima version al servidor para tener la version mas actualizada siempre contigo, dentro de otras cosillas.

:p

lunes, 26 de octubre de 2009

Como conoci Windev?

Bueno aquí la historia de como conocí WinDev.


Sin Hacerle Caso
Bueno un día normal desarrollando felizmente en Java y nos mandan un correo que checaramos este software, abrí el correo le aheche un vistazo de 5 seg, y de regreso al trabajo. Después me dicen que si por favor le ayudábamos a evaluar este software (WinDev) porque quizás ellos lo compraban y nos preguntaron que si le podíamos dar una evaluación, cosa que sinceramente nunca hice.

Primer acercamiento WinDev
Como tal, yo no trabajaba con aplicaciones de escritorio, la mayor parte era en ambiente web, total empiezo a darle una leída a la parte comercioal (pdf) y lo que me agrada es que traía integrada muchas herramientas que nosotros estábamos utilizando y estas ya venían integradas a la herramienta, eso era un gran plus, pero lo interesante el lenguaje no me llenaba del todo, como lo hace? que es? donde esta el maravilloso MVC? podre implementar mi arquitectura? mis patrones de diseño?

La Platica con el distribuidor
Bueno como teníamos muchas "preguntas" nos contactamos con el distribuidor para aclarar nuestras supuestas dudas, básicamente la platica se enfoco a lo que windev proponía, y aqui fue donde me puse a pensar muchas de las cosas que de esta platica resultaban.

Algunas de mis conclusiones.
En realidad al usuario final no le interesa en que esta desarrollado sus sistemas.
Soy muy lento en mi desarrollo.
Duro mucho en la estática de mis aplicaciones.
Realizar una aplicación de escritorio no era sencillo.
No me sentía seguro de realizar una aplicación solo (desconocía muchas partes de configuración).
Nuestro desarrollo era muy bueno, pero muy artesanal.
Jmmm quizás esto seria una buena opción.

Mis temores.
Que fuera un generador de código.
Que se basara solo en wizards que al final no puedo modificar o entender.
Que no tuviera la capacidad de programar cosas con lógica o situaciones complejas.
Que fuera dificil de aprender.

Utilizando WebDev
Bueno WebDev lo tenia instalado en una maquina la cual podía acceder con VNC (algo no muy rápido), estaba en un curso, y en uno de esos "descansos" cree mi primer proyecto y mi primer pagina web, me sorprendió que en Minutos tenia una forma de captura que podía insertar en base de datos (bonita) todo esto sin conocer como tal la herramienta.

De aquí en adelante me dedique a conocerlo un poquito mas, en un inicio conocí la herramienta escuchando las presentaciones de la misma.

Tome un primer proyecto interno, para poder poner la herramienta a requerimientos reales, creando un sitio de ayuda (interno) llamado Mercurio.

Así lo conocí,

Espero mas adelante seguir hablando de ella.