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
eds2008 @ 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-2006 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.developer.com/design/article.php/3325211
* Introduction to Design Patterns - by Ader Gonzalez
http://tech.groups.yahoo.com/group/JEDI-Patterns/
* Introduction to Design Patterns in Delphi - by James Heyworth, 1996
http://www.obsof.com/delphi_tips/pattern.html
* PatternExplorer
http://www.patternexplorer.com/
* 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/
________________________________________________________________________
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.php',
'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/cd_products.html#CoolHints2k
* 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/cd_products.html#HtmlTools
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/cd_products.html#TipsSystem
* 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.freedownloadscenter.com/Best/eldos-sounds.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.torry.net/authorsmore.php?id=3165
* 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://www.vclcomponents.com/Delphi/Compression__Encryption/
ReSource_Compression_Component-info.html
* 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://www.torry.net/authorsmore.php?id=3386
* 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%20In%20Delphi/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%20Automation%20In%20Delphi.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://www.eurodata.lv/index.php?cat=253
* 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://free-ed.net
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://hispascal.sourceforge.net/
* 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.programmingpages.com/?r=latiumsoftwarecomenpascal
http://top100borland.com/in.php?who=20
http://www.lawebdelprogramador.com/buscar/votar.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/es/file.php?id=p30
________________________________________________________________________
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: eds2008 @ 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
________________________________________________________________________
|