Boletín Pascal #30
Los ejemplos completos de código fuente de este número están disponibles para descargar.
![]() |
![]() |
Boletín Pascal #30 - 20-DIC-2001 INDICE 1. UNAS PALABRAS DEL EDITOR 2. PATRONES DE DISEÑO EN DELPHI 3. FOROS 4. TRUCOS Y CONSEJOS - Descargando archivos - Imprimiendo un TStringGrid - Puntos suspensivos - Mostrando un texto largo en poco espacio - Ejecutando una aplicación como un Servicio NT - Buscando archivos recursivamente en subdirectorios 5. DELPHI EN LA RED - Componentes, librerías y aplicaciones . Shareware/Comercial . Freeware - Artículos, trucos y consejos - Tutoriales - Otros enlaces ________________________________________________________________________ 1. UNAS PALABRAS DEL EDITOR En el truco "Usando un formulario de login en nuestra aplicación" publicado en la edición pasada, usé "exit" para terminar el programa, pero eso no destruye el formulario de login correctamente. Gracias a Steven por el aviso. Hay varias formas de corregir eso como por ejemplo liberar el formulario de login para terminar la aplicación en vez de usar "exit": if frmLogin.ShowModal <> mrOK then frmLogin.Free; // Falló el login ==> Terminamos el programa En esta edición me gustaría agradecer a Bradley Baumann por contribuir dos artículos para esta publicación. A propósito, si has solucionado algún problema particular, me gustaría invitarte a compartir tu código en este boletín. Saludos, Ernesto De Spirito eds2004 @ latiumsoftware.com ________________________________________________________________________ JfControls Lib. Multilenguaje. Multiapariencia. Skins. Privilegios. Más de 40 componentes integrados y personalizables. Múltiples problemas de programación resueltos. Administración centralizada de recursos. Para Delphi 3-7 y C++ Builder 3-6. http://www.jfactivesoft.com/spindex.htm ________________________________________________________________________ 2. PATRONES DE DISEÑO EN DELPHI Se dice que los patrones de diseño son el futuro de la OOP. Si estás interesado en patrones de diseño en Delphi, aquí hay algunos enlaces para que te inicies: * What are Design Patterns? http://www.burn-rubber.demon.co.uk/patterns.htm * Introduction to Design Patterns - by Ader Gonzalez http://www.delphi-jedi.org/Jedi:VOYPATTERNS * Introduction to Design Patterns in Delphi - by James Heyworth, 1996 http://www.obsof.com/delphi_tips/pattern.html * PatternExplorer http://www.geocities.com/beckmi/patterns0.htm * Wrapper Design Pattern http://www.castle-cadenza.demon.co.uk/wrapper.htm * Creating a real singleton class in Delphi 5 - by Lasse V. Karlsen http://community.borland.com/article/0,1410,22576,00.html Estos ejemplos (singleton, observer, explorer, etc.) se ven lindos para el salón de clases, pero son muy de "bajo nivel" para mi gusto. Un ejemplo de "alto nivel" que viene a mi mente es un patrón treeview/ listview, que puede ser materializado en un componente VCL encapsu- lando la relación entre un treeview (cualquier descendiente de TCustomTreeview) y un listview (cualquier descendiente de TCustomListview), como por ejemplo arrastrar y soltar para copiar y mover elementos. Espero que en el futuro vemos más de esto para hacer nuestra vida como programadores más fácil. ________________________________________________________________________ IBAdmin 3.22 - Complete Interbase SQL tool - Una poderosa herramienta de administración y desarrollo para manejar servidores y bases de datos Interbase. IBAdmin provee muchas capacidades para ayudarle en el diseño y gestión de su base de datos. Diseñe visualmente la estructura de su BD con el "Database Designer", administre usuarios y permisos con el "Grant Manager", o emplee el "SQL Debugger" para depurar procedimientos almacenados y triggers. Disfrute de una edición confortable de código con Code-Insight y Code Completion. >> http://www.sqlly.com/ibadmin2.htm ________________________________________________________________________ 3. FOROS Delphi ====== Nivel Intermedio ---------------- Si sabes mucho de Delphi, pero aún te falta largo trecho para ser un gurú, tal vez prefieras participar en el foro para programadores en Delphi de nivel intermedio: http://espanol.groups.yahoo.com/group/delphi-intermedio Para suscribirte, también puedes hacerlo desde la web o por email: http://espanol.groups.yahoo.com/group/delphi-intermedio/join delphi-intermedio-subscribe@gruposyahoo.com Nivel Avanzado -------------- Si te crees un gurú, y quieres estar en un foro sólo para gurús, lo más probable es que en realidad no necesites estar en un foro, pero bueno, por si acaso, este es nuestro foro para programadores en Delphi de nivel avanzado: http://espanol.groups.yahoo.com/group/delphi-avanzado Para suscribirte, también puedes hacerlo desde la web o por email: http://espanol.groups.yahoo.com/group/delphi-avanzado/join delphi-avanzado-subscribe@yahoogroups.com Componentes =========== Este es un foro para la búsqueda/recomendación de componentes de software (componentes VCL y CLX, objetos ActiveX, librerías DLL, objetos compartidos, etc.), así como utilidades, tutoriales, información, etc.: http://espanol.groups.yahoo.com/group/componentes De nuevo, puedes suscribirte desde la web o -más fácil- por email: http://espanol.groups.yahoo.com/group/componentes/join componentes-subscribe@yahoogroups.com ------------------ Puedes configurar tu suscripción a los foros para convertir o no los mensajes a formato HTML, o para no recibir los mensajes en tu email (podrás ver los mensajes en la web). ________________________________________________________________________ 4. TRUCOS Y CONSEJOS Descargando archivos ==================== Por Bradley Baumann http://www.scrapcode.com bradley@bestweb.net / _@scrapcode.com Parece que si no demasiada gente conoce acerca de la gran unidad URLMon (incluida con Delphi)... He aquí un ejemplo rápido que descargará index.html de "www.scrapcode.com" en "c:\": unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, URLMon; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin URLDownloadToFile(nil, 'http://www.scrapcode.com/index.html', 'c:\index.html', 0, nil); end; end. Imprimiendo un TStringGrid ========================== Por Bradley Baumann http://www.scrapcode.com bradley@bestweb.net / _@scrapcode.com He aquí un componente que escribí para imprimir (en la impresora) las líneas seleccionadas de un TStringGrid. Se llama TPrintGrid. Espero que lo disfruten. Si tienes preguntas, comentarios o sugerencias, por favor no dudes en preguntarme (en inglés). ------------------ Nota del editor: El código de este componente se incluye en el archivo que acompaña este boletín, donde incluí una aplicación de ejemplo. Puntos suspensivos - Mostrando un texto largo en poco espacio ============================================================= Probablemente has visto en muchos lugares que cuando el texto es muy largo para el espacio asignado a él (por ejemplo en el caso de elementos largos en un ListBox angosto), el texto se muestra con puntos suspen- sivos ('...') al final. Esto se hace con la API DrawText o DrawTextEx, usando las constantes DT_END_ELLIPSIS o DT_WORD_ELLIPSIS en el parámetro formato. Por ejemplo: procedure TForm1.PaintBox1Paint(Sender: TObject); var DTParams: DrawTextParams; Rect : TRect; begin with DTParams do begin cbSize := SizeOf(DrawTextParams); iTabLength := 6; iLeftMargin := 2; iRightMargin := 2; end; Rect := Paintbox1.ClientRect; Paintbox1.Canvas.Rectangle(Rect); DrawTextEx(Paintbox1.Canvas.Handle, PChar(Paintbox1.Hint), -1, Rect, DT_CENTER + DT_VCENTER + DT_SINGLELINE + DT_END_ELLIPSIS, @DTParams); end; Probablemente también hayas visto el uso de puntos suspensivos para abreviar caminos de archivos. Esto se hace con la constante DT_PATH_ELLIPSIS: DrawTextEx(Paintbox1.Canvas.Handle, PChar(Application.ExeName), -1, Rect, DT_CENTER + DT_VCENTER + DT_SINGLELINE + DT_PATH_ELLIPSIS, @DTParams); Ejecutando una aplicación como un Servicio NT ============================================= En Windows NT/2000, una opción es ejecutar tu aplicación con SRVANY.EXE para que se ejecute como un servicio, pero la aplicación no se benefi- ciará de todas las características que el OS pone disponible para los servicios. SRVANY.EXE es básicamente para aplicaciones de servicio para Win 9x que uno desea ejecutar como servicio en NT. Si deseas que tu aplicación sea verdaderamente un servicio NT, debes diseñarla como tal (menú File / New... / New / Service Application). Aquí puedes encontrar algunos ejemplos: http://www.aldyn.ru/demos/ http://delphi.icm.edu.pl/ftp/d50free/svcxmpl.zip http://delphi.icm.edu.pl/ftp/d40free/servicew.zip Buscando archivos recursivamente en subdirectorios ================================================== La siguiente función recorrerá el directorio pasado como parámetro, así como todos sus subdirectorios, en busca de archivos que concuerden con la especificación (como '*.htm?') también pasada como parámetro. Los archivos encontrados serán agregados a la lista pasada como tercer parámetro: procedure SearchDir(Folder: string; FileSpec: string; List: TStrings); procedure rSearchDir(Folder: string); var SearchRec: TSearchRec; begin if FindFirst(Folder + FileSpec, faReadOnly Or faHidden Or faSysFile Or faArchive, SearchRec) = 0 then try repeat List.Add(Folder + SearchRec.Name); until FindNext(SearchRec) <> 0; finally FindClose(SearchRec); end; if FindFirst(folder + '*', faReadOnly Or faHidden Or faSysFile Or faArchive Or faDirectory, SearchRec) = 0 then try repeat if ((SearchRec.Attr and faDirectory) <> 0) and (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then rSearchDir(Folder + SearchRec.Name + '\'); until FindNext(SearchRec) <> 0; finally FindClose(SearchRec); end; end; begin rSearchDir(IncludeTrailingBackslash(Folder)); end; Llamada de ejemplo: SearchDir('C:\Windows', '*.EXE', Listbox1.Items); ________________________________________________________________________ 5. DELPHI EN LA RED Por Dave Murray Componentes, librerías y aplicaciones ===================================== Shareware/Comercial ------------------- * CoolHints2k version 1.01a With CoolHints2k you can create Office2000-like dialogs and hint system. The package contains all necessary controls and can be used to build ordinal dialogs and other purpose windows. Use Delphi's designer to build the forms and combine controls from the CoolHints2k package with any other VCL you have. For Delphi 3-6 and BCB 3-5. http://www.cooldev.com/coolhints2k.html * HtmlTools version 1.03b Package to deal with the HTML code. Currenty contains an HTML parser that allows to parse HTML code and various HTML tags and an HTML stripper to work with the HTML document. Native Delphi code. For Delphi 2-6 and BCB 3-5. http://www.cooldev.com/htmltools.html Considering registering the package? The license of Tips System includes the HtmlTools package as well and it uses advantages of HtmlTools: http://www.cooldev.com/tipssystem.html * PsQRFilters v 2.0 - by Pragnaan Software. Shareware ($79) WYSIWYG Export Filters for QuickReport! Export to PDF, HTML, RTF, Excel, Text, JPEG, GIF, BMP and more. An ideal solution for creating copies of reports for distribution. All report elements are exported and there are plenty of options to play with! http://www.pragnaan.com * PsFRExportFilters v 1.1 - by Pragnaan Software. Shareware ($79) WYSIWYG Export Filters for FastReport! Export to PDF, HTML, RTF, JPEG, GIF, BMP and more. An ideal solution for creating copies of reports for distribution. All report elements are exported and output can be easily customized even by the end-user! http://www.pragnaan.com Freeware -------- * UniRed 1.10 Un editor de texto plano Unicode que soporta muchos juegos de carac- teres incluyendo Unicode de 16 bits (little y big endian), UTF-8, Windows ANSI, DOS OEM, Latin-1, Latin-2, juegos de caracteres Cirílicos, etc. El resaltador de sintaxis puede enfatizar elementos con colores y/o estilos de texto. Soporta muchos lenguajes incluyendo HTML, C/C++, Delphi, Java, etc. Búsqueda y reemplazo con expresiones regulares. Puede cooperar con ISpell, permitiendo revisión ortográfica en cualquier idioma. Puede llamar compiladores externos y más. http://www.esperanto.mv.ru/UniRed/ESP/index.html * CursorDance - by Neil J. Rubenking Create 16-color and 256-color cursors and animated cursors with this easy-to-use utility. Delphi 5 source code included. http://www.pcmag.com/article/0,2997,s%253D1478%2526a%253D9354,00.asp * A Component that plots graphs - by Vimil Saju A TGraph Component. http://www.delphi3000.com/articles/article_2790.asp * EldoS Sounds v.1.12 - by Eugene Mayevski The component for different sound decoders and players. Currently includes MP3 decoder and player. http://www.eldos.org/elsounds/elsounds.html * Regular Expression Library v.2.1.1 - by Edward Diener A library of components and classes to do search and replace of data using Regular Expressions. There is full support for using the library in non-VCL modules as well as VCL components. http://www.tropicsoft.com/Components/RegularExpression/ * Decosp Components Library v.2.5 - by Decosp A set of 20+ multipurpose components for Delphi, that allow you to make your application more attractive and GUI more convenient. Components include: Enhanced mask edit, Date edit, Tree edit, Enhanced combo box edit, Tree grid, InterDev style Page controls, Outbar control and Syntax Memo edit (with Delphi and T-SQL syntax). http://www.decosp.ru/tools/ * MPEG Tools Freeware library of classes for Mpeg player functions. http://www.dv.co.yu/mpgscript/mpgtools.htm * PGP Components for Delphi Directly interface with PGP's SDK libraries versions 6.5.X and 7.X.X. Functions include: Encode & decode; Create & verify file detached signatures; Import, export, revoke, delete keys; Key management functions; Key generation (DH/DSS, RSA); Keyserver functions; etc. http://home.t-online.de/home/idw.doc/PGPcomp.htm * JabberCOM 2.4.2.1 COM component which allows developers quick and easy implementation of a Jabber (XML Instant Messaging) client. JabberCOM encapsulates all of the socket and XML handling into a single DLL. http://jabbercom.sourceforge.net/ * ReSource Compression Component v.2.61 - by Victor Kasenda. BWT (Block Sorting) Compressor, includes Archiver Demo with add/ extract/ delete. Uses Sadakane's Suffix Sort, Structured Arithmetic Encoder and CRC32. Compression levels similar to PPM, with speeds closer to LZ. Source included. http://homex.coolconnect.com/member3/gruvrs/resource/ * Aravil CAB Components v.1.03 - by Ravil Batyrshin. Consists of 2 native VCL components TSTCabReader & TSTCabWriter. Easily create CAB archives and then extract files from archives. The components are wrappers over Microsoft Cabinet.dll, they simplify your work with archives and add useful capabilities. Source included. http://aravilsoft.tripod.com/cabd103.zip * XP Menu v.1.506 - by Khaled Shagrouni. XP Menu is non-visual component that changes the visual aspects of menus & toolbars to the look and feel of Office XP. No code required, you do not have to reconstruct menus or toolbars using components other than those shipped with Delphi. Source included. http://www.shagrouni.com/english/software/xpmenu.html Artículos, trucos y consejos ============================ * Delphi Database Programming Course - by Zarko Gajic Free online database programming course for beginner Delphi developers focused on ADO techniques. http://delphi.about.com/library/weekly/aa010101a.htm A new chapter has been added in the last two weeks: Chapter 21 "Using ADO in Delphi 3 and 4 (before AdoExpress)" explains how to import Active Data Objects (ADO) type-libraries in Delphi 3 and 4 to create a wrapper around components that encapsulate the functionality of ADO objects, properties and methods. http://delphi.about.com/library/weekly/aa112701a.htm * Extending WebSnap: Changing grid layout - by Gabriel Corneanu Web components designed to combine the power of DataSetAdapter and AdapterGrid with the layout generated by AdapterFieldGroup and LayoutGroup. http://community.borland.com/article/0,1410,28105,00.html * Exceptional exceptions - by Marcelo Lopez Ruiz Learn about structured exceptions and some unusual ways to use them. http://community.borland.com/article/0,1410,27185,00.html * Checking if an application (window) is not responding? - by T Stutz http://www.swissdelphicenter.ch/torry/showcode.php?id=910 * How to convert a Bitmap to an Icon? - by Thomas Stutz http://www.swissdelphicenter.ch/torry/showcode.php?id=913 * Yahoo Instant Messenger protocol - by César Nicolás Peña Núñez Implementing Yahoo Instant Messenger protocol in Delphi. This article covers how to login to the server, get buddy list, ignore list and whether the user has mail. Requires Indy Internet Library or an HTTP component that you know how to use. http://www.howtodothings.com/showarticle.asp?article=361 * Header file format of Interbase/Firebird files - by Peter Morris This simple class will allow you to specify an Interbase / Firebird database and it will retrive information about the database including secondary files, page sizes & number of pages for each file and disk structure number. http://www.howtodothings.com/showarticle.asp?article=369 * Julian Date - by Peter Morris How many days since the start of the year. http://www.howtodothings.com/showarticle.asp?article=374 * Copy files with windows progress - by Peter Morris How to copy multiple / large files & show the windows progress form. http://www.howtodothings.com/showarticle.asp?article=383 * Easy XML - by Boris Yankov How to use TXMLDocument in Delphi 6. http://www.delphi3000.com/articles/article_2902.asp * A simple Internet Explorer like autosuggest - by Masoud Kalali A simple Internet Explorer like autosuggest listbox. http://www.delphi3000.com/articles/article_2905.asp * How to Reboot, Shut Down and Log Off Windows - by David Cardeiro http://www.delphi3000.com/articles/article_2910.asp * Changing the default printer - by May Dexter How do I change the default Windows printer? http://www.delphi3000.com/articles/article_2911.asp * Undocumented: Delphi VCL Access License - by Erwin Molendijk The SysUtils.pas unit contains some very interesting routines that are used by the VCL to check if the correct version of Delphi is being used to compile the code (eg. Enterprise or Pro). http://www.delphi3000.com/articles/article_2912.asp * TICQ OCX Component, Full Source Code - by Ruslan Abu Zant Full component source code you can use to connect to ICQ servers. http://www.delphi3000.com/articles/article_2913.asp * Finding Printers on the network - by Cleverson Gallego Find the printers for a specific server on the network. http://www.delphi3000.com/articles/article_2915.asp * Streaming COM objects as XML - Alessandro Federici Quick and dirty example of how to read Type Library information and generate XML files out of a COM object. http://www.delphi3000.com/articles/article_2916.asp * How to get the default printer name - by Philippe Randour You want to access the default printer but you don't know how to get its name from the system. This article will show you how. http://community.borland.com/article/0,1410,28000,00.html * Top 10 list: using XL to speed Delphi development - by Patrick Foley This article shows creative ways to use Excel to speed coding and database development. http://community.borland.com/article/0,1410,28076,00.html * Domain authentication with WebSnap - by Gokhan Ergul Network domain authentication component for WebSnap. http://community.borland.com/article/0,1410,28036,00.html * WebServices Made Simple in Delphi 6(Part 2) - by Magesh Puvananthiran Continuation of a previous article that showed how to write a Web Services Client using a WSDL file. This article shows how to write a Web Services Server itself in Delphi 6. http://www.delphi3000.com/articles/article_2884.asp * Auxiliary TQuery used with run-time queries - by Fernando Martins Reducing code replication when using auxiliary TQuery objects. http://www.delphi3000.com/articles/article_2887.asp * Garbage Collector for Delphi Applications - by Frederico Pissarra How to implement a garbage collector in Delphi? http://www.delphi3000.com/articles/article_2888.asp * Create + Manage dynamic Forms using Class References - by M Hoffmann How to dynamicaly create and manage different Forms at runtime in a global manner? http://www.delphi3000.com/articles/article_2893.asp * Priority of an applications main thread - by Simon Grossenbacher How to change the priority of an applications main thread. http://www.swissdelphicenter.ch/torry/showcode.php?id=904 * How to get the power status? - by Simon Grossenbacher http://www.swissdelphicenter.ch/torry/showcode.php?id=903 * How to Drag & Drop multiple items within a TListView? - by Peter Kooi http://www.swissdelphicenter.ch/torry/showcode.php?id=902 * How to change Screen.Cursor without need to restore? - by KK Gian http://www.swissdelphicenter.ch/torry/showcode.php?id=895 * "The Big Brother" Delphi code toolkit - by Zarko Gajic Going undercover: hiding from the task list, disabling task-switch, removing from the TaskBar, disabling shut down... http://delphi.about.com/library/weekly/aa022701a.htm * Using ADO in Delphi 3 and 4 (before AdoExpress) - by Zarko Gajic Chapter 21 of the free Delphi ADO DB Couse for beginners. How to import Active Data Objects (ADO) type-libraries in Delphi 3 and 4 to create a wrapper around components that encapsulate the functionality of ADO objects, properties and methods. http://delphi.about.com/library/weekly/aa121101a.htm Tutoriales ========== * Learn your way around XML - by Irina Medvinskaya A simple introduction to XML, when to use it and a glossary of terms. http://www.techrepublic.com/article.jhtml?id=r00820011213med01.htm * Writing And Controlling Automation Servers In Delphi - by Brian Long This tutorial explores how to control Automation servers and how to write them in Delphi. http://www.blong.com/Articles/Automation In Delphi/Automation.htm * More Automation In Delphi, an ICon UK 2000 paper - by Brian Long This follows on Writing And Controlling Automation Servers In Delphi. http://www.blong.com/Conferences/IConUK2000/DelphiMoreAutomation/ More Automation In Delphi.htm * Another crash course in SQL - by TechRepublic Shows you how to run a query that pulls information from two tables that share a common "key" field. http://www.techrepublic.com/article.jhtml?id=r00320011204jed01.htm * A TCP/UDP primer - by Francois Piette Most people don't know which protocol to choose between TCP and UDP when they begin to work with TCP/IP. And when they have chosen, they begin to have some problems because it doesn't work as expected. This primer explains in easy words the pros and cons for each one in the context of the freeware TWSocket component for Delphi and C++Builder. http://users.swing.be/francois.piette/tcpudpuk.htm * A crash course in SQL - by TechRepublic A short introductory to SQL for complete beginners. http://www.techrepublic.com/article.jhtml?id=r00320010717jed01.htm * SQLcourse.com Unique SQL tutorial not only provides easy-to-understand SQL instructions, but allows you to practice what you learn using online SQL interpreter. You will receive immediate results after submitting your SQL commands. You will be able to create your own unique tables as well as perform selects, inserts, updates, deletes, and drops. http://www.sqlcourse.com * Free-Ed.Net Massive site of free courses and tutorials with subjects including Delphi, HTML, Javascript, SQL, TCPIP and Windows. http://www.free-ed.net/catalog/itcat01.htm Otros enlaces ============= * Hispascal El Hispascal es un proyecto para traducir el Pascal al español, para que sea un lenguaje didáctico para la mayoría de los hispanohablantes. Se internalizacionalizará más adelante. Código fuente incluido para mejorarlo. El proyecto necesita colaboración. http://www.geocities.com/agleight/hispascal/hispascal.html * Resources for Software Architects - by Bredemeyer Consulting Software architecture is getting a lot of attention. Is it just the silver bullet du jour? This site organizes a variety of resources to help you deepen & expand your understanding of software architecture and the role of the architect. http://www.bredemeyer.com/index.html * Pascal Gebruikers Groep The only well-known organization of Dutch-speaking Pascal/Delphi/ Kylix users. 2000+ members. Activities, CDs, Blaise newsletter, etc. http://www.hcc-pgg.nl ________________________________________________________________________ ¡TÚ PUEDES AYUDARNOS! Necesitamos tu ayuda para que este boletín pueda continuar y crecer. Una forma en que puedes ayudarnos es enviando este enlace a tus amigos: http://www.latiumsoftware.com/es/pascal/index.php Otra forma es votándonos en alguno de estos rankings para darle más visibilidad a nuestro sitio web y aumentar así el número de suscrip- ciones al boletín, que esperamos en el futuro se traduzca también en un mayor número de colaboraciones de artículos, trucos, etc.: http://www.sandbrooksoftware.com/cgi-bin/TopSite2/rankem.cgi?id=latium http://news.optimax.com/topdelphi/links.exe/click?id=70C517ECAE6E http://www.programmingpages.com/?r=latiumsoftwarecomenpascal http://www.top219.org/cgi-bin/vote.cgi?delphi&83 http://top100borland.com/in.php?who=20 http://top200.jazarsoft.com/delphi/rank.php3?id=latium http://213.65.224.200/cgi-bin/toplist.cgi/hits?Id=80 http://www.programacion.net/votar-enlace.php?id=474 http://www.lawebdelprogramador.com/buscar/enlace.php?id=615 Por favor vota. Son sólo unos segundos para ti que REALMENTE pueden hacer la diferencia. Necesitamos tu ayuda para poder continuar. ________________________________________________________________________ Si no has recibido el archivo con el código fuente completo de los ejemplos que se presentan en este boletín, puedes descargarlo de la siguiente dirección: http://www.latiumsoftware.com/descarga/p0030.zip ________________________________________________________________________ Página principal: http://www.latiumsoftware.com/es/pascal/index.php Página del grupo: http://espanol.groups.yahoo.com/group/boletin-pascal/ Para suscribirse / apuntarse: boletin-pascal-subscribe@gruposyahoo.com Para cancelar / removerse: boletin-pascal-unsubscribe@gruposyahoo.com Para reportar problemas con la suscripción: eds2004 @ latiumsoftware.com ________________________________________________________________________ Este boletín se provee "TAL Y COMO ESTA", sin garantía de ninguna clase. Su uso implica la aceptación de nuestros términos de licencia y de la ausencia de garantía que puedes leer en nuestro sitio web. Allí también encontrarás una nota sobre marcas registradas. Te animamos a que redis- tribuyas este boletín, siempre y cuando lo hagas en forma completa (incluyendo la información de copyright), sin modificaciones y de manera gratuita. Los artículos son copyright de sus respectivos autores y se reproducen aquí con el permiso de los mismos. ________________________________________________________________________ Latium Software http://www.latiumsoftware.com/es/index.php Copyright (c) 2001 por Ernesto De Spirito. Todos los derechos reservados ________________________________________________________________________ |
Los ejemplos completos de código fuente de este número están disponibles para descargar.
![]() |
¿Errores? ¿Omisiones? ¿Comentarios? Por favor contáctanos!






