Archivo

Archivo para la categoría ‘Difícil’

Dibujar porcentaje en una celda de un Grid

sábado, 19 de enero de 2008 3 comentarios
Share Button

En este ejemplo se muestra cómo dibujar manualmente una barra de porcentaje en una celda de un DBGrid. Presuponemos que en la celda en la que vamos a dibujar la barra se está mostrando un valor entre 0 y 100 que pertenece a un porcentaje. Este ejemplo muestra cómo se hace para un componente TDBGrid estándard; No es muy difícil adaptarlo para utilizarlo en un TStringGrid o similar.

Dibujar porcentaje en Grid

Download Descargar ejemplo

Share Button
Categories: Difícil, Ejemplos Tags: , ,

Ejemplo sobre Threads ampliado (v. 2)

martes, 8 de enero de 2008 Sin comentarios
Share Button

Se ha ampliado el ejemplo anterior sobre threads, para mostrar cómo se puede configurar el número de threads que se deseen para ejecutar una tarea concreta. Se puede definir un número máximo (por el usuario) y se muestra cómo se van ejecutando threads.
A medida que los primeros van acabando, se lanzan nuevos hasta completar todo el proceso.

Imagen del ejemplo

Download Descargar ejemplo

Share Button
Categories: Difícil, Ejemplos Tags: ,

Eliminar los “saltos de línea” de un TStrings

viernes, 2 de noviembre de 2007 6 comentarios
Share Button

A veces es interesante poder acceder al contenido de un TStrings (de un TMemo, por ejemplo) como un único string o cadena.
Para eso, Delphi ha dotado a la clase TStrings del método Text, que devuelve el contenido del TStrings como una cadena simple. El inconveniente, es que dentro del resultado van incluídos los caractreres de “Salto de línea” y “Retorno de carro”. ¿Cómo eliminarlos?

Con ésta sencilla función se pueden eliminar y/o susituir por otro caracter (espacio,…).

1
2
3
4
5
6
7
8
9
10
{:Elimina los saltos de línea (caracteres #10 y #13; salto de linea y salto
de carro) de un TStrings.}
function QuitarSaltosLinea(Strs: TStrings;  
                          CharReplace:String=STR_EMPTY):String;
var
   Str:string;
begin
   Str := AnsiReplaceStr(Strs.Text, #10, CharReplace);
   Result := AnsiReplaceStr(Str, #13, CharReplace);
end
Share Button