Delphi/Pascal
Kryptix v1.0
30 mar
Kryptix es una aplicación que permite encriptar o desencriptar una cadena de texto usando algunos cifrados como el Caesar (César), Vigenère, XOR y un simple Reverser (mejor conocido como StringReverse).
Desarrollé dos nuevas funciones: la primera es una función que realiza exactamente lo mismo que la “ReverseString” encontrada en la unidad “StrUtils.pas“, pero esta es un poco más rápida.
ReverseStringM
function ReverseStringM(const AText:String):String; var I:Integer; Tmp:String; begin for I:= Length(AText) downto 0 do Tmp := Tmp + AText[I]; Result := Tmp; end;
Y la segunda, es una que genera una contraseña (Key) aleatoria con el número de caracteres deseados (Count).
function GenerateRandomString(Count:Integer):String; const Alphabet: Array [0..25] of Char = ('a','b','c','d','e','f','g','h','i','j', 'k','l','m','n','o','p','q','r','s','t', 'u','v','w','x','y','z'); var I:Integer; iTmp:String; begin Result := ''; Randomize; for I:=1 to Count do begin iTmp := iTmp + Alphabet[Random(25)]; Result := iTmp end; end;
Por último, les dejo algunas capturas del Kryptix…
Descargar
Efecto SplashForm
30 mar
Un efecto muy parecido al zumbido del MSN. El original estaba hecho en VB, por lo cual decidí traducirlo a Delphi.
(*-----------------------------------------------*) (*| - [Efecto] SplashForm *) (*| - [Autor Original (VB)] The Swash *) (*| - [Traducción a Delphi] .:WindHack:. *) (*| - [Fecha] 23/03/2010 *) (*-----------------------------------------------*) procedure SplashForm(hForm:TForm); var hTop,hLeft,I:Integer; begin hTop := hForm.Top; hLeft := hForm.Left; if (hForm.WindowState = wsNormal) And (hForm.Visible = True) then For I := 1 to 60 do begin hForm.Top := hForm.Top + 10; hForm.Left := hForm.Left + 10; hForm.Top := hTop; hForm.Left := hLeft; end; end;
Para usarlo es muy sencillo:
SplashForm(Form1);
Obtener el nombre de la ventana activa
30 mar
¿Alguna vez han querido obtener el nombre de la ventana activa?, pues si es así, les servirá ésta función, la cual emplea algunas API’s para obtener el título de la ventana que se está ejecutando.
Primero creemos nuestro proyecto y en él agregamos:
1 TTimer 1 TListBox 1 TLabel
Nos quedará algo como ésto:
Ahora vamos a la parte buena, programar.
Vamos a declarar una función que la llamaremos “GetActiveCaption” y pondremos el siguiente código…
function GetActiveCaption: string; var Handle: THandle; Len: LongInt; Title: String; begin Result := ''; Handle := GetForegroundWindow; if Handle <> 0 then begin Len := GetWindowTextLength(Handle) + 1; SetLength(Title, Len); GetWindowText(Handle, PChar(Title), Len); ActiveCaption := TrimRight(Title); end; end;
Con ésta función obtenemos el nombre de la ventana. Para obtener el nombre de la que está activa pues simplemente agregamos en el evento OnTimer del TTimer éste código.
procedure TForm1.Timer1Timer(Sender: TObject); begin ListBox1.AddItem(ActiveCaption,nil); end;
Listo, eso es todo.
Saludos,
Historia de Delphi. Desde los orígenes de la Informática hasta nuestros días
30 mar
La idea era narrar como ha evolucionado esta herramienta en estos 20 años (en realidad más), pero yendo más allá de una simple enumeración de fechas, versiones y características, sino exponiendo las cosas en su contexto, tratando de explicar porque en momentos dados las cosas se hicieron de un modo determinado y no de otro, y en que consitía lo que se hizo y lo que se dejó de hacer.
Sin embargo, al enfocarlo de este modo, el plan se mostró cada vez más ambicioso. Hablar de Borland Delphi es hablar de Turbo Pascal, y hablar de Turbo Pascal es hablar del lenguaje Pascal y es hablar de los PCs. Hablar de Delphi es hablar de Windows, pero también es hablar de MS-DOS (Borland Pascal, Turbo Pascal) y de Linux (Kilyx), y eso es hablar de Unix, y es hablar de CP/M, y es hablar de microinformática y de lenguajes, y es…
Por lo tanto se ha decidido empezar de la forma más genérica posible, desde la (pre)historia a grandes rasgos de la informática, para ir cerrando paulatinamente el círculo a modo de embudo entorno a la microinformática, al universo PC, a MS-DOS y Windows, y paralelamente, la aparición de Linux en Más >
Delphi vs Visual Basic
30 mar
¿Por qué Delphi?. Delphi versus Visual Basic.
Delphi comparte una filosofía con Visual Basic (de ahora en adelante VB), que es programar en un entorno totalmente visual. Pero es un único punto que tiene en común con VB. La principales diferencias estan en el lenguaje en el que se apoya cada uno. Delphi lo hace en Object Pascal que es Pascal orientado a objetos, y VB como su nombre indica se basa en Basic. El Basic por mucho que lo disfracen con palabras como visual, orientado a objetos, nunca dejara de ser basic, en cambio Pascal ya es un lenguaje compilado.
Para no enrollarme mas paso a describir, brevemente, las caracteristica del Delphi frente al VB.
* Delphi genera ficheros ejecutables compilados. VB no. Lo que repercute en su velocidad. * Delphi puede usar bibliotecas de enlace dinamiaco (fichero tipo dll) y los puede crear. VB solo usarlos * Delphi puede usar los controles OCX de VB. * Delphi permite crear sus propios controles (llamados VCL). * Para crear un control en VB tienes que usar otro lenguaje como C++ * Para crear un control para Delphi solo tienes que saber Delphi y tener el delphi. * Delphi tiene todos los controles de VB. Si Más >


