Saiyine
Punto Com

Operaciones variadas con cadenas

0000-00-00 00:00:00

// Si el caracter c es mayuscula, es cierto
function esmayuscula(c : char) : boolean;
begin
        if (c>#64) and (c<#91)
        then result:=true
        else result:=false;
end;

// Si el caracter c es minuscula, es cierto
function esminuscula(c : char) : boolean;
begin
        if (c>#96) and (c<#123)
        then result:=true
        else result:=false;
end;

// Si el caracter c es un numero, es cierto
function EsUnNumero(c : char) : boolean;
begin
        if (c>#47) and (c<#58)
        then result:=true
        else result:=false;
end;

// Convierte a mayusculas una cadena
// ucase('Hola')='HOLA'
function ucase(s : string) : string;
var  i : integer;
begin
        for i:=1 to length(s) do
        if esminuscula(s[i]) then s[i]:=chr(ord(s[i])-32);
        result:=s;
end;

// Convierte a minusculas una cadena
// ucase('Hola')='hola'
function dcase(s : string) : string;
var  i : integer;
begin
        for i:=1 to length(s) do
        if esmayuscula(s[i]) then s[i]:=chr(ord(s[i])+32);
        result:=s;
end;

// EliminaEspaciosDelPrincipio('   digo')='digo'
function EliminaEspaciosDelPrincipio(cad : string) : string;
begin
        while cad[1]=#32 do cad:=copy(cad,2,length(cad));
        result:=cad;
end;

// EliminaEspaciosDelFinal('digo ')='digo'
function EliminaEspaciosDelFinal(cad : string) : string;
begin
        while cad[length(cad)]=#32 do cad:=copy(cad,1,length(cad)-1);
        result:=cad;
end;

// EliminaEspaciosDeLosExtremos('   digo ')='digo'
function EliminaEspaciosDeLosExtremos(cad : string) : string;
begin
        result:=EliminaEspaciosDelPrincipio(EliminaEspaciosDelFinal(cad));
end;

// EliminaSubcadena('Hola amigo','HOLA',false)=' amigo'
// EliminaSubcadena('Hola amigo','HOLA',true)='Hola amigo'
function EliminarSubcadena(sub,cad : string; casesensitive : boolean) : string;
var
aux : string;
begin
        if casesensitive then
        begin
                while pos(sub,cad)>0 do  delete(cad,pos(sub,cad),length(sub));
        end else
        begin
                aux:=ucase(cad);
                sub:=ucase(sub);
                while pos(sub,aux)>0 do
                begin
                        delete(cad,pos(sub,aux),length(sub));
                        delete(aux,pos(sub,aux),length(sub));
                end;
        end;
        result:=cad;
end;

// IntercambiaCadenas('Hola amigo','Hola','Adios')='Adios amigo';
function IntercambiaCadenas(sp,s1,s2 : string) : string;
var
i,j : integer;
aux : string;
begin
        if pos(s1,sp)=0 then IntercambiaCadenas:=sp
        else
        begin
                aux:='';
                i:=pos(s1,sp);
                for j:=1 to i-1 do aux:=aux+sp[j];
                for j:=1 to length(s2) do aux:=aux+s2[j];
                for j:=i+length(s1) to length(sp) do aux:=aux+sp[j];
                IntercambiaCadenas:=IntercambiaCadenas(aux,s1,s2);
                // Esa recurrente y relamida recursividad...
        end;
end;

Rollos antiguos

0000-00-00 00:00:00 - Obtener un nombre para ficheros temporales que no coincida con ninguno que haya en el directorio.

0000-00-00 00:00:00 - Obtener la version del windows que se esta usando.

0000-00-00 00:00:00 - Obtener en una cadena la fecha actual con el formato dia,dd/mm/aaaa y formatear numeros..

0000-00-00 00:00:00 - Obtener el tamaño de un fichero.

0000-00-00 00:00:00 - Obtener el nombre del directorio de instalacion de windows.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.