<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8916823580766843432</id><updated>2011-11-27T15:47:06.461-08:00</updated><title type='text'>XBase Guru</title><subtitle type='html'>Tus dudas de Objeto Presistente resueltas aquí</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-9137632197347213058</id><published>2010-07-01T18:59:00.000-07:00</published><updated>2010-07-01T19:19:17.130-07:00</updated><title type='text'>Conferencia de Factura Electrónica en Cancún</title><content type='html'>Por invitación de mi querídismos amigos de &lt;a href="http://www.sanromssoftware.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Sanroms Software de México,&lt;/span&gt;&lt;/a&gt; los próximos dias 15, 16, 17 y 18 de Julio estaré visitando Cancún con 2 motivos:&lt;br /&gt;&lt;br /&gt;El primero, asistir a la presentación de los nuevos productos de Sanroms rediseñados totalmente en Xailer, después de una larga jornada de mas de 8 meses de duro trabajo, dejamos atrás definitivamente FiveWin y Sanrom's entra  en una nueva era en el desarrollo de programas.&lt;br /&gt;&lt;br /&gt;La presentación de los sistemas Sanrom's, está enmarcada en el ShowRoom de su nuevo producto de Hardware: Los pizarrones electrónicos SmartBoard, la presentación de los productos nuevos de Sanrom's se hará mostrando esta nueva herramienta tecnológica con múltiples aplicaciones para la educación&lt;br /&gt;&lt;br /&gt;Y bueno ya que entre los nuevos productos de Sanroms está INVOICE, un programa de emisor de Facturación Electrónica, el cual está desarrollado, obivamente, utilizando nuestra herramienta &lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.com/CiberSAT"&gt;CiberSAT para (x)Harbour&lt;/a&gt;, pues yo aprovecharé para dar una pequeña plática sobre la factura electrónica en México y como Sanrom's Invoice te puede ayudar a solucionar tu problema.&lt;br /&gt;&lt;br /&gt;Si estás interesado en asistir, ya sea porque quieres ver como se migró un programa de FiveWin a Xailer, o bien porque te interesa saber un poco mas de Facturación Electrónica, o simplemente para saludar, estos son los datos para asistir al ShowRoom, el cual es &lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;GRATUITO&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;Viernes 16 de Julio&lt;br /&gt;Hotel Plaza&lt;br /&gt;Sala Roble.&lt;br /&gt;B2B Malecón Cancún&lt;br /&gt;&lt;br /&gt;Habrá 3 presentaciones: 10 am, 13 y 17 hrs.&lt;br /&gt;&lt;br /&gt;Es necesario hacer reservación para asistir llamando a:&lt;br /&gt;&lt;br /&gt;Sanrom's Software de México&lt;br /&gt;01 800 832 1928&lt;br /&gt;Atn. Lic. Carolina Leal.&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.sanroms.com"&gt;www.sanroms.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-9137632197347213058?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/9137632197347213058/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2010/07/conferencia-de-factura-electronica-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/9137632197347213058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/9137632197347213058'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2010/07/conferencia-de-factura-electronica-en.html' title='Conferencia de Factura Electrónica en Cancún'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8349430726546390711</id><published>2010-06-19T20:39:00.001-07:00</published><updated>2010-06-19T20:45:03.429-07:00</updated><title type='text'>Convertir XLS a XSD</title><content type='html'>¡¡¡ No se puede hacer !!!!&lt;br /&gt;&lt;br /&gt;El archivo XSD es el archivo que tiene la definción y las reglas que debe contener el XML.&lt;br /&gt;&lt;br /&gt;No se puede ir del XML al XSD porque el XML puede no contener los elementos marcados como opcionales en el XSD.&lt;br /&gt;&lt;br /&gt;Para generar correctamente un  XML se utilizan las definiciones establecidas en el XSD, Microsoft incluye en todos sus Windows, a partir del SP 3 de XP una utilidad llamada Microsoft XML Core Services, misma que se encarga de tomar las definiciones del XSD y aplicarlas al XML, el resultado de esta operación es un valor lógico indicando si el XML cumple con las reglas establecidas en el XSD.&lt;br /&gt;&lt;br /&gt;Es por esta razón que de un XML no se puede obtener un XSD.&lt;br /&gt;&lt;br /&gt;La forma mas facil de obtener el XSD que define al XML es obtener la definición de internet del NAMESPACE que se encuentra en los primeros renglones del XML, ahi viene la definición del XSD que define al XML.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8349430726546390711?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8349430726546390711/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2010/06/convertir-xls-xsd.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8349430726546390711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8349430726546390711'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2010/06/convertir-xls-xsd.html' title='Convertir XLS a XSD'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3836448207992474272</id><published>2009-05-31T21:21:00.000-07:00</published><updated>2009-05-31T21:30:44.400-07:00</updated><title type='text'>Programa en xHarbour "no se ve" cuando se ejecuta</title><content type='html'>Pues eso....&lt;br /&gt;&lt;br /&gt;Si estas usando la última versión de xHarbour (Abril 2009 de xharbour.org ó 1.21 de xharbour.org), he de informarte que "algo" hicieron estos amigos en el compilador, que ahora es necesario hacer una llamada a la terminal que deseas utilizar de manera manual desde tu código fuente:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Function Main&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;request hb_gt_win&lt;/span&gt; // hay que agregar esta línea&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   SetMode(25,80)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   CLS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   @ 0,0 SAY "Hola Mundo"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   WAIT&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RETURN Nil&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Con este pequeño cambio tus programas xHarbour en modo consola se volverán a ejecutar como lo hacían normalmente.&lt;br /&gt;&lt;br /&gt;Obviamente no debes olvidar linkar la GTWIN.LIB para que funcione correctamente.&lt;br /&gt;&lt;br /&gt;Este "bug" (preferiría llamarlo "issue") se ha reportado ya en el foro de xHarbour, pero Ron Pinkas insiste en que este cambio no es necesario, y que basta con linkar la libería en el orden correcto, desafortunadamente no nos dice en que orden debe de linkarse las libs, solo indica que su producto "xHarbour Builder" hace el linkeo correctamente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3836448207992474272?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3836448207992474272/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/programa-en-xharbour-no-se-ve-cuando-se.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3836448207992474272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3836448207992474272'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/programa-en-xharbour-no-se-ve-cuando-se.html' title='Programa en xHarbour &quot;no se ve&quot; cuando se ejecuta'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-7313373351517754087</id><published>2009-05-20T15:20:00.000-07:00</published><updated>2009-05-20T15:42:29.005-07:00</updated><title type='text'>Foro de soporte para xHarbour.</title><content type='html'>Los foros de xHarbour pueden ser leídos por medio de un lector de grupos de noticias (news reader) como Outlook Express o Mozilla Thunderbird.&lt;br /&gt;&lt;br /&gt;Los foros secundarios están hospedados en el propio servidor de xHarbour.com y se puede acceder a ellos en la siguiente dirección:&lt;br /&gt;&lt;br /&gt;&lt;a href="news://news.xharbour.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;news://news.xharbour.com&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;En este servidor están hospedados los foros de soporte a xHabour Builder, el del grupo de desarrolladores (foro privado), se ofrecen 2 foros en idiomas extranjeros, uno en italiano y otro en español / portugúes (no se quién les dijo a la gente de xHarbour que ambos lenguajes se parecen mucho) y también hay un foro de soporte para el código fuente el cual se obtiene por CVS (Control Version System).&lt;br /&gt;&lt;br /&gt;El foro de soporte principal no está hospedado en los servidores de xHarbour.com, al igual que Clipper, Visual Objects y otros lenguajes de programación el foro de xHarbour está hospedado en los servidores principales de grupos de noticias de UseNet:&lt;br /&gt;&lt;br /&gt;news://comp.lang.xharbour&lt;br /&gt;&lt;br /&gt;El problema con este servidor es que no todos los proveedores de internet te dan acceso a los grupos de UseNet (son muchísimos y tienen demasiada información), por ello, si quieres usar un lector de noticas, te recomiendo que abras una cuenta en &lt;a href="http://www.motzarella.org"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;MOTZARELLA.ORG&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Motzarella te ofrece un servidor para lectura de grupos de noticias, este es un servidor privado, pero gratuito, lo único que te piden es crear una cuenta con ellos y te enviarán un password por correo electrónico para que puedas usar tu lector de noticias.&lt;br /&gt;&lt;br /&gt;Si prefieres otro medio que no sea el lector de noticias, entonces puedes crearte una cuenta &lt;a href="http://groups.google.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Google Groups&lt;/span&gt;&lt;/a&gt; y acceder al grupo comp.lang.xharbour para leer y publicar mensajes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-7313373351517754087?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/7313373351517754087/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/foro-de-soporte-para-xharbour.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7313373351517754087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7313373351517754087'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/foro-de-soporte-para-xharbour.html' title='Foro de soporte para xHarbour.'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3604032775372085083</id><published>2009-05-15T10:56:00.000-07:00</published><updated>2009-05-15T11:04:33.295-07:00</updated><title type='text'>Generar PDFs con Xailer</title><content type='html'>Xailer incorpora nativamente la capacidad de generar todos sus informes en PDF, requiriendo sin embargo de una utilidad de terceros llamada Image2PDF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.utilitywarrior.com/Image-to-PDF-Dynamic-Link-Library.htm"&gt;Image2PDF&lt;/a&gt; es una DLL de la empresa Utility Warrior que a partir del motor de vista previa de Xailer exporta el reporte presentado  a un archivo .PDF.&lt;br /&gt;&lt;br /&gt;No hay que hacer nada en programación para generar el PDF, Xailer al detectar la existencia del DLL de Image2PDF instalado en el equipo, automática presentará en la barra de botones del motor de vista previa, un botón para realizar el proceso de exportación.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3604032775372085083?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3604032775372085083/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/generar-pdfs-con-xailer.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3604032775372085083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3604032775372085083'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/generar-pdfs-con-xailer.html' title='Generar PDFs con Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4057316603695748790</id><published>2009-05-05T11:57:00.000-07:00</published><updated>2009-05-05T12:04:26.999-07:00</updated><title type='text'>¿ Existe un IDE para Xbase++ ?</title><content type='html'>De momento no.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.alaskasoftware.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Xbase++&lt;/span&gt;&lt;/a&gt; tiene en marcha un proyecto para hacer un IDE llamado &lt;a href="http://www.alaska-software.com/products/vx/intro.shtm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Visual xBase++&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hasta donde tengo entendido, es un trabajo en desarrollo, no sido liberado ni tiene una versión funcional al 100% y solo hay versiones de evaluación para usuarios registrados del producto.&lt;br /&gt;&lt;br /&gt;La herramienta tiene buena apariencia, pero parece que no la veremos hasta la versión 2.0 o 3.0 de Xbase++&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4057316603695748790?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4057316603695748790/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/existe-un-ide-para-xbase.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4057316603695748790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4057316603695748790'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/existe-un-ide-para-xbase.html' title='¿ Existe un IDE para Xbase++ ?'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2474409562781383291</id><published>2009-05-05T11:49:00.000-07:00</published><updated>2009-05-05T11:54:32.496-07:00</updated><title type='text'>Configuración de ADS para usar con Xailer.</title><content type='html'>No es necesaria ninguna configuración adicional para usar &lt;a href="http://www.ciber-tec.com/ads.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage Database Server&lt;/span&gt;&lt;/a&gt; (ADS) con &lt;a href="http://www.ciber-tec.com/xailer.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Xailer.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;El cliente que usa Xailer para conectarse con ADS es el mismo cliente que utiliza (x)Harbour y todas sus interfaces gráficas, por lo mismo no es necesario hacer ninguna configuración en el servidor para usarlo con una aplicación Xailer.&lt;br /&gt;&lt;br /&gt;Lo unico que tienes que hacer, como con cualquier programa (x)Harbour que vaya a utilizar ADS es linkear las libs RDDADS.LIB, ACE32.DLIB y tener las DLLs clientes de ADS en la misma carpeta donde tienes la aplicación: AXWCS32.DLL (cliente ADS), ACE32.DLL (Funciones de acceso al servidor) y opcionalmente ADSLOC32.DLL (cliente local de ADS).&lt;br /&gt;&lt;br /&gt;La forma de uso con Xailer es idéntica a como se hace con cualquier programa xHarbour.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2474409562781383291?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2474409562781383291/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/configuracion-de-ads-para-usar-con.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2474409562781383291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2474409562781383291'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/configuracion-de-ads-para-usar-con.html' title='Configuración de ADS para usar con Xailer.'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1746823978901729115</id><published>2009-05-05T11:43:00.000-07:00</published><updated>2009-05-05T11:48:49.649-07:00</updated><title type='text'>Usar lenguaje SQL sobre archivos DBF</title><content type='html'>Si es posible hacerlo, pero hay que hacer algunas anotaciones al respecto.&lt;br /&gt;&lt;br /&gt;Microsoft provee de un componente ADO y uno ODBC para tablas DBF, sin embargo no es recomendable usar estos componentes ya que no actualizan los índices ni NTX ni CDX cuando haces alguna operación de mantenimiento de tablas. Se puede usar perfectamente para consultas pero no para mantenimiento.&lt;br /&gt;&lt;br /&gt;Si existe una forma de usar SQL con tablas DBFs y que se actualicen los índices tanto NTX y CDX y es usando el servidor de &lt;a href="http://www.ciber-tec.com/ads.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage DataBase Server,&lt;/span&gt;&lt;/a&gt; tanto en su versión local gratuita, o con el servidor remoto o el internet.&lt;br /&gt;&lt;br /&gt;Toda la información sobre como hacer está disponible haciendo &lt;a href="http://objetopersistente.blogspot.com/2007/11/usando-sql-con-advantage-de-la-manera.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí.&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1746823978901729115?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1746823978901729115/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/usar-lenguaje-sql-sobre-archivos-dbf.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1746823978901729115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1746823978901729115'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/usar-lenguaje-sql-sobre-archivos-dbf.html' title='Usar lenguaje SQL sobre archivos DBF'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2792517752729899221</id><published>2009-05-03T18:49:00.000-07:00</published><updated>2009-05-03T18:55:53.459-07:00</updated><title type='text'>XEdit 2.0 y Clipper</title><content type='html'>¿ Se puede usar XEdit 2.0 para compilar un programa en CA-Clipper 16 bits ?&lt;br /&gt;&lt;br /&gt;No, se puede usar el editor de código fuente y el gestor de proyectos, pero no la herramienta "make" ya que internamente está programada para ejecutar el "harbour.exe" y no el "clipper.exe".&lt;br /&gt;&lt;br /&gt;Adicionalmente XEdit está programado para usar el compilador del "C" de Borland, paso que no es necesario con Clipper.&lt;br /&gt;&lt;br /&gt;Y finalmente XEdit agrega las librerías nativas de (x)Harbour al momento del proceso de enlazado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2792517752729899221?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2792517752729899221/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/xedit-20-y-clipper.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2792517752729899221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2792517752729899221'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/xedit-20-y-clipper.html' title='XEdit 2.0 y Clipper'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1196488936886211465</id><published>2009-05-03T18:32:00.000-07:00</published><updated>2009-05-03T18:42:37.713-07:00</updated><title type='text'>Usando CDX con xHarbour y Advantage al mismo tiempo</title><content type='html'>Advantage Database Server utiliza su propio mecanismo de bloqueo de tablas lo que garantiza la seguridad de los datos.&lt;br /&gt;&lt;br /&gt;Mientras una aplicación cliente ADS está en uso de una tabla DBF con índices CDX o NTX solo otra aplicación cliente ADS puede hacer uso de la tabla esto para evitar posibles daños en los índices y mantener las ventajas de la tecnología Cliente / Servidor.&lt;br /&gt;&lt;br /&gt;Sin embargo, el ACE32.DLL incluye una función para hacer compatible el mecanismo de bloqueo, usandola, una aplicación cliente ADS puede compartir los datos con un programa en Clipper o en xHarbour.&lt;br /&gt;&lt;br /&gt;La función es &lt;span style="font-weight: bold; font-family: courier new;"&gt;AdsLocking(.f.)&lt;/span&gt; y su equivalente para aplicaciones ADS con CA-Clipper es &lt;span style="font-weight: bold; font-family: courier new;"&gt;AX_Locking(.F.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Su uso no se recomienda ya que la compatiblidad con programas no clientes ADS pone en riesgo la integridad de los índices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1196488936886211465?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1196488936886211465/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/usando-cdx-con-xharbour-y-advantage-al.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1196488936886211465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1196488936886211465'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/usando-cdx-con-xharbour-y-advantage-al.html' title='Usando CDX con xHarbour y Advantage al mismo tiempo'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8369016590687137308</id><published>2009-05-01T18:40:00.001-07:00</published><updated>2009-05-01T18:45:18.975-07:00</updated><title type='text'>Sumar fechas con xHarbour</title><content type='html'>xHarbour ofrece la misma funcionalidad en manipulación de tipos de campo fecha que la que ofrecía Clipper en su momento, todas las operaciones son soportadas:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;dNewDate := DATE() + 30 // suma 30 días a la fecha actual&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;nDias := CTOD("01/01/2009") - DATE() // devuelve el número de dias transcurridos desde el 1 de enero.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Adicionalmente xHarbour ofrece total soporte a campos tipo Date-time, para mas información &lt;a style="font-weight: bold; font-style: italic;" href="http://objetopersistente.blogspot.com/2008/01/tipos-de-datos-datetime-en-xharbour.html"&gt;haz click aquí&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8369016590687137308?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8369016590687137308/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/sumar-fechas-con-xharbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8369016590687137308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8369016590687137308'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/sumar-fechas-con-xharbour.html' title='Sumar fechas con xHarbour'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-6387882105826976657</id><published>2009-05-01T18:09:00.000-07:00</published><updated>2009-05-01T18:21:13.140-07:00</updated><title type='text'>Clipper en VPN</title><content type='html'>¿ Se puede correr un programa Clipper sobre una VPN ?&lt;br /&gt;&lt;br /&gt;¡ Claro que se puede !, pero es TREMENDAMENTE LENTO.&lt;br /&gt;&lt;br /&gt;La razón es que los programas Clipper operan bajo "arquiectura distribuida" bajo este esquema los datos son copiados del servidor a la estación de trabajo, procesados en la estación de trabajo y devueltos al servidor cada vez que haces un COMMIT.&lt;br /&gt;&lt;br /&gt;Si tienes un DBF de 10 megas por ejemplo, los 10 megas son copiados por la VPN hasta la estación de trabajo que abrió el archivo, los datos son procesados localmente y cuando haces algún cambio o un alta y aparece un COMMIT en el código los datos se vuelven a copiar de vuelta al servidor.&lt;br /&gt;&lt;br /&gt;En experiencias propias hemos tenido que esperar un promedio de 20 minutos para abrir una tabla DBF de poco menos de 10 megas sobre una VPN y no solo con Clipper, la lentitud también ocurre en programas con (x)Harbour.&lt;br /&gt;&lt;br /&gt;Sin embargo SI ES POSIBLE TENER UNA VELOCIDAD SIMILAR A LA DE UNA LAN con programa en Clipper y xHarbour, el truco consiste en utilizar una herramienta Cliente / Servidor, que puede ser un servidor de datos SQL o bien &lt;a href="http://www.ciber-tec.com/ads.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage Database Server&lt;/span&gt;&lt;/a&gt; para archivos DBF.s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-6387882105826976657?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/6387882105826976657/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/clipper-en-vpn.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6387882105826976657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6387882105826976657'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/clipper-en-vpn.html' title='Clipper en VPN'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-5311460266711902075</id><published>2009-05-01T17:36:00.000-07:00</published><updated>2009-05-01T18:00:30.864-07:00</updated><title type='text'>SQLite y FiveWin Harbour</title><content type='html'>Como comenté en algún post anterior &lt;a href="http://www.sqlite.org/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SQLite &lt;/span&gt;&lt;/a&gt;es un estupendo producto para incluir un manejador de bases de datos SQL no cliente/servidor en nuestras aplicaciones.&lt;br /&gt;&lt;br /&gt;SQLite es super ligero, todo el invento está metido en un solo archivo .LIB, es tan ligero que hasta lo puedes usar en un Pocket PC sin mucho consumo de memoria, como lo hace &lt;a href="http://basic4ppc.com/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Basic4PPC&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para incluirlo en tus aplicaciones simplemente tienes que linkear la LIB de SQLite a tu programa y ¡  listo !, el servidor y el cliente quedan integrados en tu archivo .EXE.&lt;br /&gt;&lt;br /&gt;Como SQLite es una lib para lenguaje "C", para usarlo en (x)Harbour ya sea en modo consola o con FiveWin o MiniGUI es necesario hacer una serie de &lt;a href="http://objetopersistente.blogspot.com/2008/12/un-poco-del-sistema-extendido-de.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;"wrappers"&lt;/span&gt;&lt;/a&gt; para compatibilizar la llamada a funciones en "C" desde (x)Harbour.&lt;br /&gt;&lt;br /&gt;Hace aproximadamente un par de años mi buen amigo Rafa Carmona (The Full) se dió a la tarea de comenzar los wrappers para compatibilizar la lib de SQLite para Harbour, donando su trabajo como parte de su proyecto Open Source &lt;a href="http://sourceforge.net/projects/t-gtk"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;T-GTK.&lt;/span&gt;&lt;/a&gt; Una GUI multiplataforma para (x)Harbour que funciona en Windows y Linux.&lt;br /&gt;&lt;br /&gt;Ignoro el grado de avance que logró, pero todo el código fuente junto con algunos PRGs para pruebas, así como los wrappers en "C" y un archivo MAKE para construir la librería están disponibles haciendo &lt;a href="http://t-gtk.cvs.sourceforge.net/viewvc/t-gtk/sqlite3/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por otro lado, Xailer puede acceder nativamente a SQLite en la versión Enterprise, ya que cuenta con un DataSource nativo que facilita enormemente la conexión con este servidor de base de datos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-5311460266711902075?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/5311460266711902075/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/sqlite-y-fivewin-harbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5311460266711902075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5311460266711902075'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/05/sqlite-y-fivewin-harbour.html' title='SQLite y FiveWin Harbour'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3645334051793965594</id><published>2009-04-29T21:25:00.001-07:00</published><updated>2009-04-29T21:31:07.201-07:00</updated><title type='text'>Como conectar FiveWin con MySQL</title><content type='html'>Como con todas las bases de datos SQL, la conexión con MySQL se hace por medio de ADO (ActiveX Data Objects)&lt;br /&gt;&lt;br /&gt;En el blog de mi amigo Armando Estrada &lt;a style="font-weight: bold; font-style: italic;" href="http://www.sqlcmd.blogspot.com"&gt;SQLCmd&lt;/a&gt;, encontrarás toda la información para acceder a MySQL desde FiveWin y en general desde cualquier programa basado en xHarbour, ya sea desde modo consola, MinGUI, Xailer, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3645334051793965594?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3645334051793965594/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-conectar-fivewin-con-mysql.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3645334051793965594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3645334051793965594'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-conectar-fivewin-con-mysql.html' title='Como conectar FiveWin con MySQL'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-5109067893368138900</id><published>2009-04-29T20:58:00.000-07:00</published><updated>2009-04-29T21:21:57.322-07:00</updated><title type='text'>Como puedo abrir DBFs por Internet</title><content type='html'>Sí es posible abrir un DBF por internet incluso con Clipper.&lt;br /&gt;&lt;br /&gt;No es necesario tener una VPN o algún tipo de enlace dedicado, pero si un enlace de banda ancha ya sea ADSL, Cable o 3G.&lt;br /&gt;&lt;br /&gt;Para acceder a los datos via internet,  es necesario utilizar un componente de &lt;a href="http://www.ciber-tec.com/ads.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage Database Server&lt;/span&gt;&lt;/a&gt; (ADS), llamado &lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage Internet Server&lt;/span&gt; (ó AIS), que viene incluído con el servidor de datos.&lt;br /&gt;&lt;br /&gt;El proceso no es complejo pero sí laborioso, una lista de los paso básicos son:&lt;br /&gt;&lt;br /&gt;En el servidor de datos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Instalar el servidor de ADS en el equipo&lt;/li&gt;&lt;li&gt;Configurar en la configuración del servidor ADS los puertos para uso de internet.&lt;/li&gt;&lt;li&gt;"Abrir" el puerto correspondiente en el router y hacer el "forward" al equipo que tiene instalado el servidor ADS&lt;/li&gt;&lt;li&gt;Crear un diccionario de datos ADS para establecer los usuarios y los passwords de los mismos que podrán acceder a los datos vía internet.&lt;/li&gt;&lt;/ul&gt;En el cliente (programa en [x]Harbour):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Usar el RDDADS en el código fuente&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Linkar las librerías correspondientes (RDDADS.LIB y ACE32.LIB)&lt;/li&gt;&lt;li&gt;Utilizar el tipo de servidor 4&lt;/li&gt;&lt;li&gt;Configurar el archivo ADS.INI con la IP publica del servidor y el puerto al cual conecgtar.&lt;/li&gt;&lt;li&gt;Conectar con el equipo remoto usando la función AdsConnect60()&lt;/li&gt;&lt;li&gt;Abrir los archivos DBF con el comando USE de toda la vida o con la función que comúnmente usas&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Aquí puedes descargar algunos ejemplos y se incluye el código fuente de cada uno de ellos:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.d2g.com/ads/demos/Dos32bits.zip"&gt;Ejemplo en xHarbour modo consola&lt;/a&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.d2g.com/ads/demos/AisXailer.zip"&gt;Ejemplo en Xailer&lt;/a&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.d2g.com/ads/demos/aiswin32.zip"&gt;Ejemplo en FiveWin&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Estos programas se conectan a nuestro servidor en la Ciudad de México y te permiten hacer cosas como Altas, Bajas, modificaciones e imprimir reportes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-5109067893368138900?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/5109067893368138900/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-puedo-abrir-dbfs-por-internet.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5109067893368138900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5109067893368138900'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-puedo-abrir-dbfs-por-internet.html' title='Como puedo abrir DBFs por Internet'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4256560031018981495</id><published>2009-04-29T20:23:00.001-07:00</published><updated>2009-04-29T20:56:05.834-07:00</updated><title type='text'>Manual de TOleAuto</title><content type='html'>TOleAuto es una clase nativa de xHarbour que se utiliza para manejar componentes COM como si fueran objetos nativos de xHarbour.&lt;br /&gt;&lt;br /&gt;Esta clase fue desarrollada originalmente para FiveWin 16 bits por José Gimenez, quien es parte del equipo Xailer y posteriormente se integró nativamente a xHarbour (en Harbour existe como una LIB externa no nativa), y se puede utilizar directamente desde aplicaciones para modo consola y para Windows con cualquier GUI.&lt;br /&gt;&lt;br /&gt;TOleAuto no tiene un manual como tal, porque lo único que hace es "instanciar" un objeto COM y lo carga dentro de una variable xHarbour, luego para manipular las propiedades y métodos del objeto COM, es necesario el manual del componente COM que hemos instanciado, no de TOleAuto.&lt;br /&gt;&lt;br /&gt;xHarbour cuenta con una función llamada CreateObject() (muchos lenguajes de programación tienen esta función con el mismo nombre), se puede utilizar indistintamente TOleAuto o CreateObject().&lt;br /&gt;&lt;br /&gt;Por ejemplo si queremos trabajar con Excel, haríamos algo como esto:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;objExcel = TOleAuto():New("Excel.Application")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;objExcel:Visible := .T.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;objExcel:Workbooks:Add()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;objExcel:Cells(1, 1):Value := "Prueba"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Es necesario saber el "ProgID" o nombre del servicio COM que queremos usar, en este caso: "Excel.Application".&lt;br /&gt;&lt;br /&gt;Las propiedades ::Visible, ::Workbooks, ::Value y los métodos ::Add() y ::Cells() están documentados en la &lt;span style="font-weight: bold; font-style: italic;"&gt;AYUDA DE VISUAL BASIC PARA APLICACIONES&lt;/span&gt; que se instala (o deberías de instalar) al momento de instalar el paquete OFFICE.&lt;br /&gt;&lt;br /&gt;Por lo tanto, no hay un manual de la clase TOleAuto, si quieres manipular un objeto COM creado a partir de instanciar un objeto de esta clase, deberás contar con el manual de ayuda correspondiente de cada servicio COM que quieras manipular.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Nota:&lt;/span&gt; Los componentes COM requieren estar instalados localmente en la computadora que los vaya a utilizar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4256560031018981495?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4256560031018981495/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/manual-de-toleauto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4256560031018981495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4256560031018981495'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/manual-de-toleauto.html' title='Manual de TOleAuto'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-7819748637884940127</id><published>2009-04-23T17:48:00.000-07:00</published><updated>2009-04-23T18:07:07.423-07:00</updated><title type='text'>DBUs Visuales</title><content type='html'>Las herramientas DBU (DataBase Utilities) son bastante populares para manejo de tablas DBFs, hoy en día hay varias opciones muy buenas, la mayoría de los productos soportan DBFs, tanto indices NTX como CDX, y algunos de ellos hasta ADTs de Advantage Database Server.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.xailer.com/productoxadbu.htm"&gt;XaDBU&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://devzone.advantagedatabase.com/dz/content.aspx?key=20&amp;amp;Release=13&amp;amp;Product=8&amp;amp;Platform=6"&gt;Advantage Data Architech&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.xharbour.com/xhc/index.asp?page=xhc_download_detail.asp&amp;amp;type=dl&amp;amp;id=78&amp;amp;show_i=7&amp;amp;show_sub=1"&gt;OurXDbu&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.dbf2002.com"&gt;DBF Viewer 2000&lt;/a&gt;&lt;/li&gt;&lt;li style="font-weight: bold; font-style: italic;"&gt;&lt;a style="font-weight: bold;" href="http://www.dbfview.com/"&gt;DBFView&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-7819748637884940127?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/7819748637884940127/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/dbus-visuales.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7819748637884940127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7819748637884940127'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/dbus-visuales.html' title='DBUs Visuales'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8066965540608005783</id><published>2009-04-21T16:35:00.000-07:00</published><updated>2009-04-21T16:48:27.941-07:00</updated><title type='text'>Como meter un formulario en una pestaña de un folder con Xailer</title><content type='html'>Sí es posible meter un formulario dentro de una pestaña de un folder, hay que proceder así:&lt;br /&gt;&lt;br /&gt;1) Crea un formulario nuevo, agrega tus controles, pero cambia la clase padre (FROM TFORM) y cámbialo por TFolderPage (FORM TFOLDERPAGE).&lt;br /&gt;&lt;br /&gt;2) Crea en otro formulario un folder SIN PESTAÑAS, sólo el folder.&lt;br /&gt;&lt;br /&gt;3) Usando el evento ON INITIALIZE de este formulario, crea las pestañas, y llama al formulario creado en el paso (1), al momento de llamarlo pásale como parámetro EL OBJETO FOLDER contenedor Tform():New(::oFolder).&lt;br /&gt;&lt;br /&gt;El ejemplo DBFData6 utiliza esta técnica para meter formularios en folders, puedes revisarlo para tener un ejemplo funcional.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8066965540608005783?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8066965540608005783/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-meter-un-formulario-en-una-pestana.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8066965540608005783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8066965540608005783'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-meter-un-formulario-en-una-pestana.html' title='Como meter un formulario en una pestaña de un folder con Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3495239612907339249</id><published>2009-04-21T15:16:00.000-07:00</published><updated>2009-04-21T15:30:13.374-07:00</updated><title type='text'>¿ Cómo verifico que una dirección de correo es válida ?</title><content type='html'>Dentro del protocolo SMTP existe el comando VRFY, el cual se utiliza para preguntarle a servidor de correo si una dirección de correo existe en dicho servidor.&lt;br /&gt;&lt;br /&gt;Por ejemplo si tu quieres saber si la dirección info@ciber-tec.com existe, entonces tienes que realizar un enlace al servidor ciber-tec.com y preguntar si la cuenta "info" existe.&lt;br /&gt;&lt;br /&gt;Si utilizas Funcky 6.0 para enviar tus mensajes de correo, el objeto SMTP de Funcky tiene el método Verify que te permite verificar si existe la dirección de correo antes de enviarlo:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;WITH OBJECT TOleAuto():New("FunckySmtp")&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IF :Validate("ciber-tec.com","info@ciber-tec.com")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;...&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ENDIF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;END WITH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Si usas FiveWin con su clase TSMTP, tienes que modificar el código fuente de la clase para que realice el envío del comando VRFY al servidor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;Nota:&lt;/span&gt; No todos los servidores de correo soporta la verificación de direcciones, esta tiene que estar configurada en el servidor, si el servidor de correo no soporta el comando VRFY, entonces el uso de este comando siempre devolverá FALSE.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3495239612907339249?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3495239612907339249/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-verifico-que-una-direccion-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3495239612907339249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3495239612907339249'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-verifico-que-una-direccion-de.html' title='¿ Cómo verifico que una dirección de correo es válida ?'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4459148351668905455</id><published>2009-04-21T13:49:00.000-07:00</published><updated>2009-04-21T15:14:13.602-07:00</updated><title type='text'>Conectar con base de datos en red</title><content type='html'>La pregunta de la semana:&lt;br /&gt;&lt;br /&gt;Instalé una base de datos SQL en mi computadora con Windows XP o Vista y ahora quiero que todos los usuarios de la red local se conecten con mi computadora para que puedan ver los datos.&lt;br /&gt;&lt;br /&gt;Pasos a seguir:&lt;br /&gt;&lt;br /&gt;1) Asegúrate que el servidor de base de datos se esté ejecutando en el equipo que será el servidor&lt;br /&gt;2) Asegúrate que el equipo servidor tenga una dirección IP, preferentemente FIJA&lt;br /&gt;3) Asegúrate que los equipos en el resto de la red puedan ver a tu equipo en el entorno de red&lt;br /&gt;&lt;br /&gt;y el mas importante de todos:&lt;br /&gt;&lt;br /&gt;4) &lt;span style="font-weight: bold;"&gt;DESBLOQUEA EL PUERTO QUE USA EL SERVIDOR DE DATOS EN EL FIREWALL DE WINDOWS&lt;/span&gt;, de lo contrario NUNCA te vas a poder conectar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4459148351668905455?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4459148351668905455/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/conectar-con-base-de-datos-en-red.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4459148351668905455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4459148351668905455'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/conectar-con-base-de-datos-en-red.html' title='Conectar con base de datos en red'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1515809712708104158</id><published>2009-04-16T10:32:00.000-07:00</published><updated>2009-04-16T10:59:09.594-07:00</updated><title type='text'>ActiveX para FiveWin y MiniGUI</title><content type='html'>Si tienes versiones antiguas de FiveWin de 32 bits o usas MiniGUI con xHarbour y no tienes soporte para ActiveX aquí tienes la solución.&lt;br /&gt;&lt;br /&gt;Oskar Lira, brillante programador de C, ha desarrollado un soporte ActiveX para xHarbour independiente de la plataforma de desarrollo Windows.&lt;br /&gt;&lt;br /&gt;Trabajo original de Andy Wos, ha sido retomado por Oskar y cedido al dominio publico con el código fuente incluído y lo puedes descargar haciendo &lt;a href="http://www.ciber-tec.d2g.com/objeto/CActiveX.zip"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí.&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1515809712708104158?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1515809712708104158/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/activex-para-fivewin-y-minigui.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1515809712708104158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1515809712708104158'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/activex-para-fivewin-y-minigui.html' title='ActiveX para FiveWin y MiniGUI'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-9146223068812416574</id><published>2009-04-16T09:58:00.000-07:00</published><updated>2009-04-16T10:27:02.895-07:00</updated><title type='text'>XEdit ó Xailer</title><content type='html'>Aunque son productos similares, no son del todo iguales.&lt;br /&gt;&lt;br /&gt;XEdit es el hermano pequeño de Xailer.&lt;br /&gt;&lt;br /&gt;XEdit comparte algunos componentes con Xailer que son básicamente operativos:&lt;br /&gt;&lt;br /&gt;1) El gestor de proyectos&lt;br /&gt;2) El editor de código fuente&lt;br /&gt;3) El editor de archivos .DBF (DBU)&lt;br /&gt;4) La herramienta de compilado y enlazado.&lt;br /&gt;&lt;br /&gt;El objeto de XEdit es el de proporcionarte una herramienta para que puedas migrar tus programas de CA-Clipper a xHarbour sin complicarte mucho en lidiar con compiladores de C y otras cosas. XEdit puede ser utilizado para programas en modo consola (MS-DOS) o bien para programa gráficos para Windows con FiveWin, MiniGUI o Clip4Win o bien para generar un archivo .LIB.&lt;br /&gt;&lt;br /&gt;Xailer es el hermano mayor de XEdit porque  además de lo que tiene XEdit, aporta otros componentes mas enfocados a la programación y que están ligados con la librería de clases y la interfaz gráfica de Xailer:&lt;br /&gt;&lt;br /&gt;1) Diseñador de formularios&lt;br /&gt;2) Debugger&lt;br /&gt;3) Controles de Acceso a Datos (DataControls)&lt;br /&gt;&lt;br /&gt;Xailer es capaz de generar programas para Windows directamente, sin necesidad de librerías externas, mientras que XEdit requiere de otros productos para generar un programa para Windows.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://objetopersistente.blogspot.com/2008/05/de-clipper-x-harbour-con-xedit.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Más información sobre el uso de XEdit.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ciber-tec.com/xailer.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Mas información sobre Xailer.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://objetopersistente.blogspot.com/2009/03/el-modo-hibrido-de-xailer.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Xailer en modo "híbrido"&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-9146223068812416574?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/9146223068812416574/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xedit-o-xailer.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/9146223068812416574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/9146223068812416574'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xedit-o-xailer.html' title='XEdit ó Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3486947821888936687</id><published>2009-04-16T09:41:00.001-07:00</published><updated>2009-04-16T09:52:00.376-07:00</updated><title type='text'>Añadir archivo de recursos a un programa Clipper</title><content type='html'>Si es posible hacerlo.&lt;br /&gt;&lt;br /&gt;El enlazador &lt;a href="http://www.blinkinc.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;BLINKER&lt;/span&gt;&lt;/a&gt; tiene el comando RC &lt;archivo.res&gt;&lt;br /&gt;&lt;br /&gt;Notas:&lt;br /&gt;&lt;br /&gt;1) El archivo .RES debe de estar previamente compilado con un compilador de recursos como el Borland C++, el Pelles C o algún otro.&lt;br /&gt;&lt;br /&gt;2) Los archivos de recursos solo funcionan para programas Windows, es decir con FiveWin o Clip4Win.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3486947821888936687?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3486947821888936687/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/anadir-archivo-de-recursos-un-programa.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3486947821888936687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3486947821888936687'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/anadir-archivo-de-recursos-un-programa.html' title='Añadir archivo de recursos a un programa Clipper'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-7994985050258821431</id><published>2009-04-16T09:28:00.001-07:00</published><updated>2009-04-16T09:38:00.599-07:00</updated><title type='text'>Reindexar CDX con Visual Basic</title><content type='html'>Pues va a ser que no se puede.&lt;br /&gt;&lt;br /&gt;Tanto el controlador ADO y el ODBC provistos por Microsoft para acceso a tablas de FoxPro (DBFs) no tiene contemplado el manejo de índices, ya que el acceso a los datos lo hace via SQL y hay que recordar que en SQL un índice no sirve para lo mismo que en Xbase.&lt;br /&gt;&lt;br /&gt;El acceso que realizan los controladores que proporciona Microsoft trabaja directamente haciendo queries sobre las tablas sin tomar en cuenta el indice, de tal forma que si tu haces un "insert" en una tabla o un "delete", los indices no se actualizan.&lt;br /&gt;&lt;br /&gt;Lo ideal en estos casos si vas a tener aplicaciones que "convivan" como programas en Fox y en VB o bien en Clipper o xHarbour, es tener un controlador "común" para todos los lenguajes y que soporte además los índices CDX.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Ese controlador existe y es grautito, y es ni mas ni menos que el "cliente" de &lt;a href="http://www.ciber-tec.com/ads.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advantage Database Server&lt;/span&gt;&lt;/a&gt;, el cual tiene un RDD para Clipper / xHarbour, y controladores ADO yODBC para Fox y Visual Basic.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Es grautito porque puedes usar el "servidor local" de ADS (ADSLOC32.DLL) y luego usar el cliente que mejor se acomode a tu lenguaje de programación, RDD, ADO u ODBC, los clientes de ADS garantizan total compatiblidad con DBFCDX y las operaciones realizadas por SQL si actualizan los índices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-7994985050258821431?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/7994985050258821431/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/reindexar-cdx-con-visual-basic.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7994985050258821431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7994985050258821431'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/reindexar-cdx-con-visual-basic.html' title='Reindexar CDX con Visual Basic'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-7685537133296663803</id><published>2009-04-15T18:59:00.000-07:00</published><updated>2009-04-15T19:01:45.673-07:00</updated><title type='text'>Descargar Clip4Win</title><content type='html'>Clip4Win (Clipper para Windows) no existe ya en su versión de 16, peeeeero, existe para 32 bits con (x)Harbour y además ES GRATIS....&lt;br /&gt;&lt;br /&gt;Si lo quieres obtener gratis.... &lt;a href="http://objetopersistente.blogspot.com/2009/01/clip4win-no-estaba-muerto-andaba-de.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;leer mas&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-7685537133296663803?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/7685537133296663803/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-clip4win.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7685537133296663803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/7685537133296663803'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-clip4win.html' title='Descargar Clip4Win'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8987606813592634526</id><published>2009-04-15T18:32:00.001-07:00</published><updated>2009-04-15T18:57:43.683-07:00</updated><title type='text'>Editor para Clipper</title><content type='html'>Hay muy buenos editores para programadores en Internet, unos de paga otros gratuitos, configurables y no configurables.&lt;br /&gt;&lt;br /&gt;Esta es un lista de mis favoritos para programar con Clipper y xHarbour.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.multiedit.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;MultiEdit:&lt;/span&gt;&lt;/a&gt; El de toda la vida y una laaaaarga historia de premios como el mejor editor de código fuente para CA-Clipper por muchos años (su precio lo dice todo), ahora también para (x)Harbour, pero además funciona prácticamente con cualquier lenguaje de programación ($179.00 USD)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://objetopersistente.blogspot.com/2008/05/de-clipper-x-harbour-con-xedit.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;XEdit:&lt;/span&gt;&lt;/a&gt; Una de sus características es el editor de código fuente que ademas "entiende" el lenguaje CA-Clipper, además del editor, tiene el gestro de proyectos y tiene un DBU para tus archivos DBFs incluido, lo mejor de todo.... ES GRATIS.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.andywos.ih.co.za/xmate/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;xMate:&lt;/span&gt;&lt;/a&gt; De Andy Wos, tiene la ventaja de ser GRATIS y de entenderse muy bien con Clipper y xHarbour, con funcionalidad similar a la de XEdit, es mas que un editor, es todo un gestor de proyectos.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ultraedit.com/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;UltraEdit Studio:&lt;/span&gt;&lt;/a&gt; El favorito de los programadores de FiveWin porque gestiona proyectos, compila,  tiene "templates" que entienden el lenguaje CA-Clipper y ademas tiene su propio editor de recursos y hay versión en Español, la historia detrás del producto es muy buena, si visitas su web no dejes de leerla. ($ 129.95 USD)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.utopia-planitia.de/indexus.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;MED:&lt;/span&gt;&lt;/a&gt; Otro de mis favoritos, no es gratuito pero se entiende bien con Clipper y tiene un montón de opciones muy muy interesantes ($30.00 USD)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gwdsoft.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;GWD:&lt;/span&gt;&lt;/a&gt; También es otro de los de toda la vida, con buenas características no es gratis, pero es muy bueno. ($ 29.00 USD)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8987606813592634526?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8987606813592634526/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/editor-para-clipper.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8987606813592634526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8987606813592634526'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/editor-para-clipper.html' title='Editor para Clipper'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1340577450468710906</id><published>2009-04-15T18:21:00.000-07:00</published><updated>2009-04-15T18:31:19.842-07:00</updated><title type='text'>IDE para (x)Harbour.</title><content type='html'>Mucha gente confunde "harbour" con "clipper para windows", nada mas alejado de la realidad.&lt;br /&gt;&lt;br /&gt;(x)Harbour es un compilador compatible con Clipper de 32 bits, toma tu código Clipper tal cual lo tienes en este momento y genera un nuevo EXE en funcionalidad y apariencia IDENTICO a lo que tenías en MS-DOS.&lt;br /&gt;&lt;br /&gt;Si lo que buscas es un entorno integrado de desarrollo, que te permita desde un solo lugar hacer todo lo que antes hacías con Clipper, pero ahora bajo Windows, puedes hecharle un vistazo a &lt;a href="http://objetopersistente.blogspot.com/2008/05/de-clipper-x-harbour-con-xedit.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;XEdit&lt;/span&gt;&lt;/a&gt;, del equipo Xailer, te sirve para programas MS-DOS y para programas Windows con FiveWin.&lt;br /&gt;&lt;br /&gt;Si lo que buscas es un IDE visual que te permita desarrollar aplicaciones Windows a partir de programas xHarbour, puedes hecharle un vistazo a &lt;a href="http://www.ciber-tec.com/xailer.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Xailer&lt;/span&gt;&lt;/a&gt; y a su &lt;a href="http://objetopersistente.blogspot.com/2009/03/el-modo-hibrido-de-xailer.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;modo híbrido&lt;/span&gt;&lt;/a&gt;. La ventaja de este producto es que cambio a Windows puede ser paulatino y no necesariamente todo al mismo tiempo.&lt;br /&gt;&lt;br /&gt;Otra opción recién liberada es &lt;a href="http://www.xharbour.com/index_vxh.asp?page=products_vxh_home_new&amp;amp;show_h=1"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Visual XHarbour.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.harbourminigui.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=17&amp;amp;Itemid=30"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Harbour MiniGUI &lt;/span&gt;&lt;/a&gt;tiene un ide también pero desconozco el estado de avance y si es usable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1340577450468710906?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1340577450468710906/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/ide-para-xharbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1340577450468710906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1340577450468710906'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/ide-para-xharbour.html' title='IDE para (x)Harbour.'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-6298320715967537132</id><published>2009-04-10T07:07:00.000-07:00</published><updated>2009-04-10T07:17:04.686-07:00</updated><title type='text'>Xailer en Linux</title><content type='html'>No existe versión de Xailer para Linux.&lt;br /&gt;&lt;br /&gt;Xailer está fuertemente basado en el API de Windows no solo de la parte de controles gráficos, sino de muchos otros aspectos internos que no se ven.&lt;br /&gt;&lt;br /&gt;Muchas de las APIs que usa Xailer no están disponibles ni las GTK  (biblioteca multiplataforma para desarrollar interfaces gráficas) ni en el API de Linux.&lt;br /&gt;&lt;br /&gt;Una versión para Linux no está  en los planes del equipo Xailer ni a corto ni a largo plazo.&lt;br /&gt;&lt;br /&gt;Probablemente veamos primero una versión par PocketPC que para Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-6298320715967537132?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/6298320715967537132/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xailer-en-linux.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6298320715967537132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6298320715967537132'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xailer-en-linux.html' title='Xailer en Linux'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2888186515964750940</id><published>2009-04-10T06:25:00.000-07:00</published><updated>2009-04-10T07:07:38.313-07:00</updated><title type='text'>Manual de Xailer en Español</title><content type='html'>Xailer viene con un completísimo manual en Español e Inglés.&lt;br /&gt;&lt;br /&gt;El manual de Xailer está dividido en 2 partes:&lt;br /&gt;&lt;br /&gt;1) Manual del IDE donde se encuenta toda la información de las herramientas del IDE como son el Gestor de proyectos, el editor de código, el inspector de objetos, etc.&lt;br /&gt;&lt;br /&gt;2) Manual del Clases: Donde se documentan la jerarquía de clases de Xailer y toda la documentación de métodos eventos y propiedades.&lt;br /&gt;&lt;br /&gt;El demo de Xailer incluye ambos manuales y se puede descargar haciendo &lt;a href="http://www.xailer.com/files/xailer.exe"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Un documento en PDF con el manual puede descargarse haciendo &lt;a href="http://www.xailer.com/help/xaileres.pdf"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2888186515964750940?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2888186515964750940/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/manual-de-xailer-en-espanol.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2888186515964750940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2888186515964750940'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/manual-de-xailer-en-espanol.html' title='Manual de Xailer en Español'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-6126933972891260157</id><published>2009-04-08T14:54:00.000-07:00</published><updated>2009-04-08T14:56:52.832-07:00</updated><title type='text'>Alias dinámicos con tablas ADT de Advantage Database Server</title><content type='html'>Las tablas ADT de Advantage Database Server, a pesar de no tener los mismos tipos de campos que un DBF se comportan EXACTAMENTE IGUAL que un DBF.&lt;br /&gt;&lt;br /&gt;Todo lo que puedes aplicar sobre archivos DBF para su manipulación (Append, Replace, Use, Rlock(), etc) se aplica EXACTAMENTE IGUAL sobre tablas ADT, eso incluye a la técnica de "alias dinámicos".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-6126933972891260157?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/6126933972891260157/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/alias-dinamicos-con-tablas-adt-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6126933972891260157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6126933972891260157'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/alias-dinamicos-con-tablas-adt-de.html' title='Alias dinámicos con tablas ADT de Advantage Database Server'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1200415403312005449</id><published>2009-04-08T11:02:00.000-07:00</published><updated>2009-04-08T11:54:17.513-07:00</updated><title type='text'>Browse de FiveWin con datos SQL</title><content type='html'>Si estas usando ADO para recuperar datos de una base de datos SQL y luego quieres mostrarlos en un browse de FiveWin hay que tener varias cosas en cuenta.&lt;br /&gt;&lt;br /&gt;Al definir el RecordSet:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;El tipo de cursor tiene que ser adOpenKeySet (1) ó adOpenDynamic (2) para que puedas moverte sobre el cursor para arriba y para abajo, de lo contrario solo puedes ir hacia abajo.&lt;/li&gt;&lt;li&gt;El tipo de bloqueo tiene que ser adLockOptimistic (3), para dejar al servidor que se encargue de los bloqueos al momento de actualizar los datos.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;La ubicación del cursor tiene que ser adUseClient (3) si quieres que el browse vaya rápido, de lo contrario cada avance de página tiene que ir a buscar los datos al servidor y eso se puede llevar mucho tiempo.&lt;/li&gt;&lt;/ol&gt;Al definir el Browse:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;En la clausula FIELDS del BROWSE tienes que indicar los campos usando el objeto RecordSet: REDEFINE BROWSE FIELDS oRs:Fields(0):Value, oRs:Fields(1):Value.....&lt;/li&gt;&lt;li&gt;Tienes que cambiar los métodos de movimiento del Browse, porque el Browse de FiveWin solo sabe "moverse" sobre campos de DBFs o bien sobre elementos de arrays.&lt;/li&gt;&lt;/ol&gt;Los métodos de movimiento del browse (TWBrowse) de FiveWin son:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;oBrw:bGoTop := {|| oRS:GoTop() }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se usa para indicarle al browse la operación que debe realizar para ir al primer registro, en este caso usamos el método ::GoTop() del RecordSet, para poder "movernos" libremente por el recordset, el tipo de cursor tiene que ser KeySet o Dynamic.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;oBrw:bGoBottom := {|| oRs:GoBottom() }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se usa para indicarle al browse la operación que debe realizar para ir al final de los datos, en este caso usamos el método ::GoBottom() del RecordSet, para poder "movernos" libremente por el recordset, el tipo de cursor tiene que ser KeySet o Dynamic.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;oBrw:bLogicLen := {|| oRs:RecCount()}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Se usa para dibujar la barra de desplazamiento vertical del lado derecho del browse, su valor representa el numero de renglones presentes en el browse y se asigna al método ::RecCount() del RecordSet, el cursor tiene que ser KeySet o Dynamic, de lo contrario devueve -1.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;oBrw:bSkip :={|nRegs| AdoSkip(nRegs)}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esta es la operación de movimiento mas importante, porque define el número de registros que se mueve el browse cuando se utilizan las teclas de flechas arriba y abajo, PgUp y PgDn y Ctrl+PgUp y Ctrl+PgDn, usualmente se asigna a una función que se puede llamar como quieras (usualmente se le llama "skipper") y que devuelve el número de registros que se ha desplazado el browse (ojo: El RecordSet tiene que estar visible para la función):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Function AdoSkip( nSkip )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;LOCAL nStart, nEnd, nMoved := 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;nStart := oRecst:Recno()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;oRecst:Skip( nSkip )&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;nEnd   := oRecst:Recno()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;DO CASE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  CASE nEnd &gt; 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     nMoved := nEnd - nStart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  CASE nEnd == -3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     oRecst:GoBottom()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     nMoved := oRecst:RecCount() - nStart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  CASE nEnd == -2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     oRecst:GoTop()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     nMoved := - nStart + 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;ENDCASE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;RETURN nMoved&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El ejemplo completo quedaria así:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;REDEFINE ListBox oBrw FIELDS oRs:Fields(0):Value, oRs:Fields(1):Value, ...oRS:Fields(n)...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;WITH OBJECT oBrw&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; :bSkip     := {|nRecs| nAdoSkip( nRecs )}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; :bGoTop    := {|| oRecst:Gotop()  }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; :bGoBottom := {|| oRecst:Gobottom()   }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt; :bLogicLen := {|| oRecst:RecCount()}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;END WITH&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;.....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;&lt;br /&gt;Function AdoSkip( nSkip )&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;LOCAL nStart, nEnd, nMoved := 0&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;nStart := oRecst:Recno()&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;oRecst:Skip( nSkip )&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;nEnd   := oRecst:Recno()&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;DO CASE&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;  CASE nEnd &gt; 0&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;     nMoved := nEnd - nStart&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;  CASE nEnd == -3&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;     oRecst:GoBottom()&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;     nMoved := oRecst:RecCount() - nStart&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;  CASE nEnd == -2&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;     oRecst:GoTop()&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;     nMoved := - nStart + 1&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;span style="font-family: courier new;"&gt;ENDCASE&lt;/span&gt;&lt;br /&gt; &lt;span style="font-family: courier new;"&gt;RETURN nMoved&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;En Xailer no es necesario nada de lo anterior, porque el control DBBrowse de Xailer resuelve directamente el tipo de base de datos que se está utilizando ya sea un Array, una tabla DBF o un Query SQL (versiones Profesional y Enterprise).&lt;br /&gt;&lt;br /&gt;Para mas información sobre ADO con FiveWin, recomiendo la lectura de estos 2 estupendos blogs:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bielsys.blogspot.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;BielSys&lt;/span&gt;&lt;/a&gt; de mi amigo Biel y &lt;a href="http://www.sqlcmd.blogspot.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SQLCmd &lt;/span&gt;&lt;/a&gt;de mi amigo Armando.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1200415403312005449?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1200415403312005449/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/browse-de-fivewin-con-datos-sql.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1200415403312005449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1200415403312005449'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/browse-de-fivewin-con-datos-sql.html' title='Browse de FiveWin con datos SQL'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4099530880590954336</id><published>2009-04-08T09:52:00.001-07:00</published><updated>2009-04-08T10:58:22.048-07:00</updated><title type='text'>Crystal Reports y FiveWin (y Xailer y xHarbour en general)</title><content type='html'>Hay varias maneras de "entrarle" a Crystal Reports desde FiveWin y en general desde xHarbour.&lt;br /&gt;&lt;br /&gt;Para FiveWin:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tomsoft.de/content/fivewin.aspx"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Tom Groeger&lt;/span&gt;&lt;/a&gt;, un programador Alemán, hizo una clase llamada TCRPE (Crystal Reports Print Engine) que funcionaba con FiveWin de 16 bits y por lo menos hasta la version 8.0 de Crystal funcionaba bastante bien, en el paso a 32 bits, yo me tomé la libertad de modificar dicha clase para adaptarla a 32 bits, los cambios son mínimos y la puedes descargar haciendo &lt;a href="http://www.ciber-tec.d2g.com/objeto/crystal7fw.zip"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;En versiones posteriores de Crystal, es decir de la 8.0 en adelante, el motor de impresión viene con un ActiveX que facilita manipular Crystal desde FiveWin, la manipulación se puede hacer fácilmente por OLE o por ActiveX con el nombre del servidor:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;oCrys := tOleAuto&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 200, 0);font-family:courier new;" &gt;New&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"CrystalRunTime.Application"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;WITH OBJECT oRpt :=oCrys:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;OpenReport(&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"file.rpt"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;span style="color: rgb(185, 0, 185);font-family:courier new;" &gt;//Report File&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;Database&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;Tables(1)&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;Location&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:= "ruta archivo+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;'file.dbf'&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;span style="color: rgb(185, 0, 185);font-family:courier new;" &gt;//DBF File&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 200, 0);font-family:courier new;" &gt;IF&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; :&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;HasSavedData&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;   :&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;DiscardSavedData()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 200, 0);font-family:courier new;" &gt;ENDIF&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;DEFINE WINDOW oWnd ....&lt;br /&gt;&lt;br /&gt;oCrRpt:= TActiveX&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 200, 0);font-family:courier new;" &gt;New&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;(&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;oWnd,&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"CrystalReports11.ActiveXReportViewer.1"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oCrRpt:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;SetProp(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"ReportSource"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;,oRpt&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oCrRpt:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;SetProp(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"DisplayGroupTree"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;,.F.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oCrRpt:&lt;/span&gt;&lt;span style="color: rgb(0, 200, 0);font-family:courier new;" &gt;DO&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;"ViewReport"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;oWnd:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;oClient&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:=oCrRpt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-family:courier new;" &gt;ACTIVATE&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-family:courier new;" &gt;WINDOW&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; oWnd &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-family:courier new;" &gt;VALID&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;(&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;oCrRpt:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;END()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;,oCrys:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;END()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;,oRpt:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;END()&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;,.T.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:courier new;" &gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;El código anterior ha sido facilitado por Biel Maimó (&lt;a href="http://www.bielsys.blogspot.com/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;www.bielsys.blogspot.com&lt;/span&gt;&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Para Xailer, el equipo Xailer ha creado una clase TCrystalPreview heredada de TFORM que te permite "incrustar" facilmente reportes hechos en Crystal dentro de un Formulario Xailer:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.ciber-tec.d2g.com/objeto/xailerCrystal.png" /&gt;&lt;br /&gt;&lt;br /&gt;Un ejemplo de la clase puede ser obtenido haciendo &lt;a href="http://www.ciber-tec.d2g.com/xailercrystal.zip"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;a href="http://www.ciber-tec.d2g.com/objeto/xailercrystal.zip"&gt;click aquí&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4099530880590954336?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4099530880590954336/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/crystal-reports-y-fivewin-y-xailer-y.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4099530880590954336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4099530880590954336'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/crystal-reports-y-fivewin-y-xailer-y.html' title='Crystal Reports y FiveWin (y Xailer y xHarbour en general)'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8318855736600874867</id><published>2009-04-06T18:00:00.000-07:00</published><updated>2009-04-06T19:04:32.702-07:00</updated><title type='text'>Tablas ADT con Xailer</title><content type='html'>Realmente es muy simple utilizar tablas ADT de Advantage Database Server con Xailer.&lt;br /&gt;&lt;br /&gt;Si tienes la versión PERSONAL, entonces basta con usar las funciones correspondientes del RDDADS al momento de cargar tu aplicación en el módulo Main.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;Procedure Main&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(204, 0, 0);"&gt;REQUEST ADS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(204, 0, 0);"&gt;RddSetDefault("ADS")&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(204, 0, 0);"&gt;AdsSetServerType(7)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(204, 0, 0);"&gt;AdsSetFileType(3) &lt;span style="color: rgb(153, 153, 153);"&gt;// 3 te indica que vas a trabajar con tablas ADT.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y a continuación usa tus tablas ADT como si fueran DBFs comunes y corrientes (USE, APPEND, REPLACE, etc funcionan igual en ADT y DBF).&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Si tienes la versión PROFESIONAL o ENTERPRISE es mas sencillo todavía:&lt;br /&gt;&lt;br /&gt;1) Selecciona de la barra de &lt;span style="font-style: italic;"&gt;DataSets&lt;/span&gt; el &lt;span style="font-weight: bold; font-style: italic;"&gt;ADSDataSource&lt;/span&gt; y colócalo dentro de tu formulario&lt;br /&gt;2) En el inspector de objetos, busca la propiedad &lt;span style="font-family: courier new; font-weight: bold;"&gt;nFileType&lt;/span&gt; y ponla en el valor&lt;span style="font-family: courier new;"&gt; &lt;span style="font-weight: bold;"&gt;afADT&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;3) Para utilizar el DataSource con tablas ADT deberás usar el &lt;span style="font-weight: bold; font-style: italic;"&gt;DBFDataSet&lt;/span&gt;, seleccionalo de la barra de herramientas, ponlo en tu formulario y conectalo con el DataSource definido en el paso 1.&lt;br /&gt;&lt;br /&gt;Todo esto se puede hacer de manera visual en las versiones PRO y ENTERPRISE&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8318855736600874867?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8318855736600874867/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/tablas-adt-con-xailer.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8318855736600874867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8318855736600874867'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/tablas-adt-con-xailer.html' title='Tablas ADT con Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8793941604920387440</id><published>2009-04-06T13:55:00.000-07:00</published><updated>2009-04-06T13:59:42.216-07:00</updated><title type='text'>SUPER.LIB para xHarbour</title><content type='html'>Para todos aquellos que usen Super.LIB con Clipper, existe una versión de dicha librería para xHarbour, se puede descargar desde la web de xHarbour Comunity, en la página de xHarbour.com, o bien haciendo &lt;a href="http://www.xharbour.com/xhc/index.asp?page=xhc_download_detail.asp&amp;amp;type=dl&amp;amp;id=142&amp;amp;show_i=7&amp;amp;show_sub=1"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Están incluídas todas las funciones en codigo fuente PRG excepto aquellas escritas en "C" o ASM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8793941604920387440?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8793941604920387440/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/superlib-para-xharbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8793941604920387440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8793941604920387440'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/superlib-para-xharbour.html' title='SUPER.LIB para xHarbour'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-6624087841291254774</id><published>2009-04-05T21:57:00.000-07:00</published><updated>2009-04-06T12:11:12.161-07:00</updated><title type='text'>Descargar FileXLS.lib</title><content type='html'>FileXLS es una librería que te permite generar hojas de cálculo XLS para Excel 97 que son perfectamente compatibles con todas las versiones posteriores de Excel, hasta con Office 2007.&lt;br /&gt;&lt;br /&gt;Su gran ventaja contra otras clases como XLScript o el mismo OLE es que puedes generar archivos XLS sin necesidad de tener Excel instalado  en el equipo.&lt;br /&gt;&lt;br /&gt;FileXLS fue creada originalmente por Ramón Avendaño para FiveWin Clipper de 16 bits y la versión original puede ser descargada haciendo click en el siguiente enlace:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ciber-tec.d2g.com/objeto/filexls16.zip"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;FileXls para FiveWin 16 bits.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Posteriormente Ramón Avendño donó el código fuente de la librería para que lo pudieras recompilar con FiveWin Harbour, el código fuente para FiveWin Harbour, un archivo .BAT  y hasta un proyecto XEdit para volver a construir la librería para tu versión de FiveWin Harbour esta disponible aquí:&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.d2g.com/objeto/filexlshrb.zip"&gt;FileXLS para FiveWin Harbour 32 bits.&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;(requiere&lt;a href="http://objetopersistente.blogspot.com/2008/05/de-clipper-x-harbour-con-xedit.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; XEdit&lt;/span&gt;&lt;/a&gt; para generar la LIB mas fácilmente aunque también incluye un archivo .BAT si no quieres usar XEdit.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Y dado el tremendo éxito de la librería en su momento para FiveWin, me tomé la libertad de hacer algunas modificaciones en el código fuente original para crear una versión para Xailer, en el siguiente enlace puedes descargar el código fuente modificado junto con el proyecto Xailer para volver a construir la librería.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ciber-tec.d2g.com/objeto/xafilexls.zip"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;FileXLS para Xailer&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Gracias Ramón Avendaño por tan estupendo aporte.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-6624087841291254774?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/6624087841291254774/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-filexlslib.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6624087841291254774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/6624087841291254774'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-filexlslib.html' title='Descargar FileXLS.lib'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2030591508687655568</id><published>2009-04-05T21:35:00.000-07:00</published><updated>2009-04-05T21:43:13.234-07:00</updated><title type='text'>FreeImage y Xailer</title><content type='html'>Aunque Xailer soporta sin ningún problema todos los tipos gráficos de Windows (BMP, GIF, JPG, etc) por medio de la clase TImage, también es posible utilizar la FREEIMAGE.DLL para tener soporte de algun formato gráfico adicional como TIFF por ejemplo.&lt;br /&gt;&lt;br /&gt;No hay que hacer nada en la programación, simplemente poner la FREEIMAGE.DLL en la misma carpeta donde tienes tu EXE en Xailer y el programa hace el resto, si detecta que existe la FREEIMAGE la usa, y si no utiliza el API de Windows para desplegar las imagenes.&lt;br /&gt;&lt;br /&gt;FreeImage es un proyecto OpenSource de Hervé Drolon y Floris van der Berg para crear una librería que permite visualizar gráficos en los formatos mas usados, para mas información y para descargarla haz &lt;a href="http://freeimage.sourceforge.net/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2030591508687655568?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2030591508687655568/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/freeimage-y-xailer.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2030591508687655568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2030591508687655568'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/freeimage-y-xailer.html' title='FreeImage y Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4172290959538321895</id><published>2009-04-04T22:15:00.000-07:00</published><updated>2009-04-04T22:26:26.663-07:00</updated><title type='text'>FiveWin, programas fuentes o clases</title><content type='html'>FiveWin tiene montones de ejemplos en código fuente en la carpeta SAMPLES, y la mayoría de su código fuente está incluído en el producto original en la carpeta SOURCE\CLASSES.&lt;br /&gt;&lt;br /&gt;Hay varios programadores de FiveWin que han donado algunos de sus sistemas con código fuente incluido.&lt;br /&gt;&lt;br /&gt;En México el &lt;a href="http://www.despachoarteaga.com.mx"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Despacho Arteaga&lt;/span&gt;&lt;/a&gt;, de mi buen amigo Alfredo Arteaga ofrece comercialmente el código fuente de su sistema &lt;a href="http://www.despachoarteaga.com.mx/h/caraca.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;CA-eXtended&lt;/span&gt;&lt;/a&gt; para Windows totalmente desarrollado en FiveWin Harbour y con opción para manejar base de datos cliente/servidor SQL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4172290959538321895?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4172290959538321895/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/fivewin-programas-fuentes-o-clases.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4172290959538321895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4172290959538321895'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/fivewin-programas-fuentes-o-clases.html' title='FiveWin, programas fuentes o clases'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8159626467534452476</id><published>2009-04-04T22:01:00.001-07:00</published><updated>2009-04-04T22:12:31.993-07:00</updated><title type='text'>Midas para FiveWin</title><content type='html'>Midas es un diseñador de reportes NO-VISUAL para archivos DBFs creado por la empresa &lt;a style="font-weight: bold; font-style: italic;" href="http://www.bisoft.es"&gt;BiSoft &lt;/a&gt;con sede en Bilbao, España.&lt;br /&gt;&lt;br /&gt;Actualmente existe también una versión Midas para Xailer, disponible en la web de BiSoft.&lt;br /&gt;&lt;br /&gt;La versión de Midas para FiveWin es de 16 bits, nunca fue pasada a 32 bits, de hecho tengo entendido que ningún software de BiSoft hecho FiveWin + Clipper nunca paso a FiveWin Harbour.&lt;br /&gt;&lt;br /&gt;Aunque es difícil de conseguir, en CiberTec tenemos copia de todo, puedes descargar la versión de Midas para FiveWin 16 bits,&lt;a style="font-weight: bold; font-style: italic;" href="http://www.ciber-tec.d2g.com/objeto/midas.zip"&gt; haciendo click aquí&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;BiSoft desarrolla además un sistema de contabilidad (BiConta) totalmente en Xailer, con soporte a MySQL, gestor documental y diseñador de reportes visual.&lt;br /&gt;&lt;br /&gt;BiSoft es llevado por 2 excelentes programadores y mejores amigos: Bingen Ulgadebere y Juanjo García.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8159626467534452476?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8159626467534452476/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/midas-para-fivewin.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8159626467534452476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8159626467534452476'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/midas-para-fivewin.html' title='Midas para FiveWin'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3996514296328970066</id><published>2009-04-04T21:46:00.000-07:00</published><updated>2009-04-04T21:52:32.622-07:00</updated><title type='text'>Consultas SQL con Advantage Database Server</title><content type='html'>Advantage Database Server ofrece un soporte total al lenguaje SQL sobre tablas DBF y ADT y para todos los lenguajes de programación soportados por ADS  &lt;span style="font-weight: bold;"&gt;EXCEPTO PARA CA-CLIPPER.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;El soporte SQL solo funciona con tablas DBF e índices CDX y para tablas ADT con índices ADI, no para índices NTX, el cliente ADS para CA-Clipper no ofrece soporte para SQL.&lt;br /&gt;&lt;br /&gt;Toda la información para usar SQL con Advantage y con xHarbour &lt;a style="font-weight: bold; font-style: italic;" href="http://objetopersistente.blogspot.com/2007/11/usando-sql-con-advantage-de-la-manera.html"&gt;está disponible aquí&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3996514296328970066?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3996514296328970066/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/consultas-sql-con-advantage-database.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3996514296328970066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3996514296328970066'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/consultas-sql-con-advantage-database.html' title='Consultas SQL con Advantage Database Server'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2682470920428686864</id><published>2009-04-04T21:43:00.000-07:00</published><updated>2009-04-04T21:44:57.343-07:00</updated><title type='text'>Migración Clipper a xHarbour</title><content type='html'>En el post anterior está la respuesta.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2682470920428686864?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2682470920428686864/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/migracion-clipper-xharbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2682470920428686864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2682470920428686864'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/migracion-clipper-xharbour.html' title='Migración Clipper a xHarbour'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-1124597597172833796</id><published>2009-04-04T21:37:00.000-07:00</published><updated>2009-04-04T21:42:31.796-07:00</updated><title type='text'>Tutorial de xHarbour para Windows</title><content type='html'>La mejor y mas facil forma de migrar tus programas de CA-Clipper a xHarbour es usando la herramienta XEdit del equipo Xailer.&lt;br /&gt;&lt;br /&gt;Toda la información del uso de XEdit y un tutorial para los primeros paos está &lt;a href="http://objetopersistente.blogspot.com/2008/05/de-clipper-x-harbour-con-xedit.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;disponible aquí&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Para migrar de CA-Clipper a Windows, personalmente recomiendo Xailer, que soporta modo híbrido, &lt;a href="http://objetopersistente.blogspot.com/2009/03/el-modo-hibrido-de-xailer.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí para mas información.&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-1124597597172833796?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/1124597597172833796/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/tutorial-de-xharbour-para-windows.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1124597597172833796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/1124597597172833796'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/tutorial-de-xharbour-para-windows.html' title='Tutorial de xHarbour para Windows'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-3638997666990037160</id><published>2009-04-04T21:28:00.000-07:00</published><updated>2009-04-04T21:34:04.596-07:00</updated><title type='text'>Descargar compilador Clipper</title><content type='html'>Aunque usted no lo crea CA-Clipper sigue siendo un producto comercial.&lt;br /&gt;&lt;br /&gt;Los derechos de CA-Clipper y CA-Visual Objects pertenecen ahora a la empresa &lt;a style="font-weight: bold; font-style: italic;" href="http://www.grafxsoft.com"&gt;GrafXSoft,&lt;/a&gt; con base en Miami.&lt;br /&gt;&lt;br /&gt;CA-Clipper 5.3 tiene un precio de 199.00 USD y se puede comprar directamente en &lt;a href="http://www.grafxsoft.com/2clipper.htm"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;la tienda electrónica de GrafxSoft&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-3638997666990037160?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/3638997666990037160/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-compilador-clipper.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3638997666990037160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/3638997666990037160'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/descargar-compilador-clipper.html' title='Descargar compilador Clipper'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-4729451300397970890</id><published>2009-04-04T14:56:00.000-07:00</published><updated>2009-04-04T15:02:52.547-07:00</updated><title type='text'>Como convertir un DBF a XLS desde Clipper 5.x</title><content type='html'>Si estas trabajando con Clipper 5.x y quieres generar hojas de Excel nativas, no archivos de texto con separadores, necesitas una librería que existía hace muuuucho muuuucho tiempo en una lejana galaxia llama ClipWKS.&lt;br /&gt;&lt;br /&gt;ClipWKS es una librería para Clipper que genera hojas de cálculo en distintos formatos, Lotus 1-2-3, Quattro, y obviamente Excel, es obra de Joseph D. Booth, un gurú de Clipper, y que trabajó muchos años en colaboración con el no menos famoso gurú Greg Lief (Grumpfish library).&lt;br /&gt;&lt;br /&gt;ClipWKS ahora es un producto GRATUITO y se puede descargar directamente de la página de Joe Booth, haciendo &lt;a style="font-weight: bold; font-style: italic;" href="http://www.jbooth-consulting.com/products_clipwks.asp"&gt;click aquí.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-4729451300397970890?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/4729451300397970890/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-convertir-un-dbf-xls-desde-clipper.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4729451300397970890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/4729451300397970890'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/como-convertir-un-dbf-xls-desde-clipper.html' title='Como convertir un DBF a XLS desde Clipper 5.x'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8035176613040697844</id><published>2009-04-04T14:49:00.001-07:00</published><updated>2009-04-04T14:55:07.797-07:00</updated><title type='text'>Xailer y SQLite</title><content type='html'>SQLite es una base de datos SQL no cliente/servidor que cabe completa en un archivo .LIB y que no necesita de ningún componente externo para accder a los datos.&lt;br /&gt;&lt;br /&gt;Xailer puede utilizar NATIVAMENTE &lt;a href="http://www.sqlite.org/"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;SQLite,&lt;/span&gt;&lt;/a&gt; sin necesidad de ningún componente externo como ODBC u OLE.&lt;br /&gt;&lt;br /&gt;En la versión ENTERPRISE y en el DEMO de Xailer existe el componente SQLite DataSource que provee de acceso directo a esta base de datos.&lt;br /&gt;&lt;br /&gt;En el EXE final no es necesario contar con ningún DLL ni conector ADO ni nada por estilo, simplemente añadir al proyecto la librería SQLITE.LIB y el EXE sale listo para accesar SQLite.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8035176613040697844?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8035176613040697844/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xailer-y-sqlite.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8035176613040697844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8035176613040697844'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/xailer-y-sqlite.html' title='Xailer y SQLite'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-8732571870656695831</id><published>2009-04-04T14:36:00.000-07:00</published><updated>2009-04-04T14:46:40.040-07:00</updated><title type='text'>Donde hay documentación de xHarbour</title><content type='html'>Pregunta super frecuente, ¿ donde puedo encontrar documentación xHarbour ?.&lt;br /&gt;&lt;br /&gt;En la página de la empresa &lt;a style="font-weight: bold; font-style: italic;" href="http://www.xharbour.com"&gt;xHarbour.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ahí puedes comprar en formato electrónico la documentación por $ 49.00 dólares, en formato Help de Windows o bien en PDF para consultarla en tu computadora.&lt;br /&gt;&lt;br /&gt;También hay una &lt;a style="font-weight: bold; font-style: italic;" href="http://www.xharbour.com/xhdn/referenceguide/"&gt;versión ON-LINE&lt;/a&gt; gratuita en la misma página de xHarbour.com, pero necesitarás estar conectado siempre a internet para poder consultarla.&lt;br /&gt;&lt;br /&gt;Existen también 2 foros públicos para exponer tus dudas:&lt;br /&gt;&lt;br /&gt;comp.lang.xharbour&lt;br /&gt;news.xharbour.com (con foro en español y portugués)&lt;br /&gt;&lt;br /&gt;Para acceder a estos foros necesitas un lector de grupos de noticias (Outlook Express o Mozilla Thunderbid) o bien crear una cuenta en &lt;a href="http://groups.google.com"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Google Groups&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-8732571870656695831?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/8732571870656695831/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/donde-hay-documentacion-de-xharbour.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8732571870656695831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/8732571870656695831'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/donde-hay-documentacion-de-xharbour.html' title='Donde hay documentación de xHarbour'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-2014118377976576185</id><published>2009-04-04T14:30:00.000-07:00</published><updated>2009-04-04T14:35:35.915-07:00</updated><title type='text'>Los lenguajes de programación mas usados</title><content type='html'>Esta pregunta aparece cada semana en nuestras estadísticas por lo menos 10 veces.&lt;br /&gt;&lt;br /&gt;La respuesta haciendo &lt;a href="http://objetopersistente.blogspot.com/2006/06/cuales-son-los-lenguajes-de.html"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;click aquí&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;Las estadísticas&lt;/a&gt; son proporcionadas por &lt;a href="http://www.tiobe.com"&gt;TIOBE Software&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-2014118377976576185?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/2014118377976576185/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/los-lenguajes-de-programacion-mas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2014118377976576185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/2014118377976576185'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/los-lenguajes-de-programacion-mas.html' title='Los lenguajes de programación mas usados'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8916823580766843432.post-5330624196581591772</id><published>2009-04-04T12:54:00.000-07:00</published><updated>2009-04-04T22:30:20.790-07:00</updated><title type='text'>Crack para Xailer</title><content type='html'>Lamentamos (no es cierto, no lo lamento) informarles que no existe un crack para Xailer, por el mecanismo de protección del mismo: tienes que realizar 4 procesos de registro, en 2 de los cuales hay intervención humana.&lt;br /&gt;&lt;br /&gt;Desde que descargas la versión de DEMO de Xailer, tienes que realizar un primer proceso de registro vía internet (este es automático), sin el cual la versión de demo no funcionará, en este proceso de registro intervienen 3 datos básicos.&lt;br /&gt;&lt;br /&gt;Nombre del usuario&lt;br /&gt;Empresa&lt;br /&gt;dirección de correo electrónico.&lt;br /&gt;&lt;br /&gt;En este primer registro da igual los datos que pongas, se utilizan únicamente como estadística para el equipo Xailer.&lt;br /&gt;&lt;br /&gt;La dirección de correo electrónico es muy importante porque toda la comunicación del registro del usuario definitivo, así como la información sobre nuevas versiones y actualizaciones será enviada a dicha dirección de correo, pero, si en esta primer etapa de registro no das una dirección de correo electrónica válida, tampoco pasa nada.&lt;br /&gt;&lt;br /&gt;La cosa cambia cuando compras tu licencia, aquí viene el segundo proceso de registro que vincula intervención humana. Tienes que confirmar forzosamente con las oficinas de Xailer o con alguno de sus representantes los 3 datos anteriores, y en base a estos 3 datos se genera un número de serie, este número de serie es generado por intervención humana que verificará que el pago se haya realizado e ingresará los datos en un programa interno en las oficinas de Xailer en España que genera el número de serie, el cual tiene este formato:&lt;br /&gt;&lt;br /&gt;X???-NNNNNNNN-NN&lt;br /&gt;&lt;br /&gt;??? identifica el tipo de versión de Xailer: PERsonal, PROfesional ó ENTerprise&lt;br /&gt;NNNNNNNN : es una mezcla de digitos y letras generado por el programa interno de Xailer y no es secuencial, como mencioné anteriormente se genera en base a los 3 datos básicos.&lt;br /&gt;NN: el número de distribuidor&lt;br /&gt;&lt;br /&gt;De tal forma que si compraste un Xailer Enterprise, tu número de serie comienza con XENT, luego los digitos y/o letras y al final número de distribuidor, con este último dato, las oficinas de Xailer saben que distribuidor vendió que licencia y a quien.&lt;br /&gt;&lt;br /&gt;Este número de serie también es importante porque te da acceso a los foros de consulta privados (para versiones Pro y Enterprise) en &lt;a style="font-weight: bold;" href="news://news.xailer.com"&gt;news.xailer.com.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Una vez que tienes tu número de serie deberás ingresarlo en el IDE de Xailer instalado en tu computadora y realizar UN TERCER proceso de  registro del producto via internet y/o correo electrónico, en este tercer proceso de registro, el IDE de Xailer genera una "firma electrónica" o &lt;span style="font-style: italic;"&gt;KeyCode&lt;/span&gt; de 160 caracteres, esta firma electrónica identificará a tu equipo dentro de la comunidad Xailer, la firma electrónica varía por cada equipo porque para generarla se utilizan, además de los 3 datos principales, un nombre de identificación del equipo, (como puede ser: EscritorioMio, LapTopViajes, etc.) y algunos datos de ciertos componentes de hardware del equipo, de tal forma que cada "firma electrónica" es distinta para cada equipo donde instales Xailer.&lt;br /&gt;&lt;br /&gt;La firma electrónica o keycode debe ser enviada a las oficinas de Xailer nuevamente via electrónica para un cuarto y último proceso de registro, en el cual se genera una "clave de activación" de 180 caracteres misma que te es enviada por correo electrónico y que deberás de ingresar en el IDE para completar el proceso de registro.&lt;br /&gt;&lt;br /&gt;Cada licencia de Xailer te da derecho a 3 "activaciones" es decir, que puedes utilizar el mismo número de serie hasta en 3 computadoras distintas lo que se hace normalente es usar una activación para tu computadora de escritorio, otra para la computadora portátil y se deja la tercera activación "por si acaso" tienes que formatear alguna.&lt;br /&gt;&lt;br /&gt;Las activaciones se pueden "cancelar" cuando lo desees, Xailer provee de una página web para hacerlo de manera automática, pero hay ciertas restricciones: No puedes cancelar una activación sino hasta pasados 90 días de que activaste un equipo, y un equipo "cancelado" con anterioridad no puede volver a ser activado sino hasta pasados 180 días desde que se desactivó.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;¿ Puedo instalar al mismo tiempo las 3 activaciones en distintos equipos ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sí, aunque no deberías, en caso de que tengas que formatear alguno de los equipos te quedarás sin activaciones de reserva porque el mismo equipo no puede ser vuelvo a activar sino hasta 6 meses después y deberás comprar una nueva licencia.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;¿ Puedo comprar mas activaciones ?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No, lo ideal es contar con una licencia individual para cada equipo, si en tu empresa hay por ejemplo 5 equipos lo ideal es tener cuando menos 2 licencias.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8916823580766843432-5330624196581591772?l=xbaseguru.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xbaseguru.blogspot.com/feeds/5330624196581591772/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/crack-para-xailer.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5330624196581591772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8916823580766843432/posts/default/5330624196581591772'/><link rel='alternate' type='text/html' href='http://xbaseguru.blogspot.com/2009/04/crack-para-xailer.html' title='Crack para Xailer'/><author><name>Rene Flores</name><uri>http://www.blogger.com/profile/14824376932972599596</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://4.bp.blogspot.com/_HI3aCbIDUfY/SU7k5ZPauuI/AAAAAAAAAAk/Ft3zdbKZPJA/S220/blogger.jpg'/></author><thr:total>0</thr:total></entry></feed>
