OPERACIONES VARIADAS CON CADENAS - .: .: Saiyine :. :.

Operaciones variadas con cadenas

Por Saiyine Enviar correo el 0000-00-00 00:00:00 - Secciones:  DELPHI  - Enlace permanente: 491

// 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;

Otras entradas de la web que podrian interesarte:

o o o o 


Tu nombre (Nick):

Tu correo (Email):
  Necesario para tu gravatar!

Tu página (URL):

Escribe aqui tu comentario:

       :noworry: :roll: :huh: :push: :OO 8) 8O :( :) :? :D :P :o :x :| ;) ^^ xD



Vista previa activada.

Vista previa (6/6/6, 6:66)


Fondos de pantalla

. . .

Recomendamos


. . .

Descargas

  • ApagaPC
    apagapc241.exe  (4339)
  • LimpiaDocus
    LimpiaDocus001.exe  (3627)
  • RCM
    rcm001.zip  (3062)
  • Popmail
    popmail-0.4-psmn.tar.gz  (3132)
  • Manual de Delphi en PDF
    delphi_pdf.zip  (3764)
  • Evangelio del Perl
    Evangelio_del_perl.pdf  (3786)
  • Excel Simpsons
    Excel Simpsons  (3789)
  • . . .

    Proyectos Online

  • Saiyine Store
  • Kunowalls!!!
  • Fondos de pantalla
  • Picaday: imagenes sexys o chocantes.
  • Scarlett: fotos de Scarlett Johansson
  • WhatsmyIP: obtener tu IP pública
  • Uma Thurman: galeria de Uma Thurman
  • FunPics: imagenes graciosas
  • . . .

    Blogs

  • Por lo que más querais, no entreis a estos: Tapanez, Yhandros, Onez.

  • Otros en español: El Mundo Today, La libreta de Van Gaal, Chavalina, Kirai, Mundo Geek, Microsiervos.

  • Mis lecturas en guiri: Michael Yon, Coding Horror, YCombinator news, MySQL Performance, Slashdot.

    . . .
  • Utilidades

  •  Coral  (1583), cacheando webs
  •  Spam.la  (1899), correo de usar y tirar
  •  Mailinator  (1802), correo de usar y tirar
  •  Bug me not  (1580), absurdos registros di NO
  •  Trashmail  (1629), correo de usar y tirar

    . . .

  • Página web ©2001-2011 Saiyine descargada en s, con 5908257 visitas en total, hoy (de un total de 0 previstas).

    . . .