Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-08-2012
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Gracias por la ExtraRápida y pronta respuesta.
Lo implementare.
__________________
Pre-Alpha
Responder Con Cita
  #2  
Antiguo 03-08-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola NeoNew.

Cuando agregaste "Cuento con una tabla de convenciones...", me quedé pensando que quizá sea muy larga la lista de abreviaturas y del modo anterior te resultaría un poco tedioso...

Si ya tenes una tabla creada, podrías hacer:
Código Delphi [-]
...
implementation  

// (también podrías declararlas como privadas)
var
  FPalabra: TStrings;
  FAbrev: TStrings;

// Abrir tabla de abreviaturas y cargar 
procedure TForm1.FormCreate(Sender: TObject);
begin
  FPalabra:= TStringList.Create;
  FAbrev:= TStringList.Create;
  with tbAbreviaturas do
  begin
    Open;
    while not eof do
    begin
      FPalabra.Add(FieldByName('Palabra').AsString);
      FAbrev.Add(FieldByName('Abreviat').AsString);
      Next;
    end;
    Close;
  end;
end;

// Obtener abreviaturas
function TForm1.Abreviar(const Texto: string): string;
var
  i,ix: Integer;
begin
  Result:= Texto;
  with TStringList.Create do
  try
    Delimiter:= ' ';
    DelimitedText:= Texto;
    for i:= 0 to Count-1 do
    begin
      ix:= FPalabra.IndexOf(Strings[i]);
      if ix <>-1 then
        Result:= StringReplace(Result, Strings[i],FAbrev[ix],[]);
    end;
  finally
    Free;
  end;
end;

// Ejemplo de llamada
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label2.Caption:= Abreviar(Label1.Caption)
end;

...

// Liberar
procedure TForm1.FormDestroy(Sender: TObject);
begin
  if Assigned(FPalabra) then
    FPalabra.Free;
  if Assigned(FAbrev) then
    FAbrev.Free;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Convertir cadena aleatoria en cadena de N caracteres DANY OOP 3 12-03-2009 20:49:21
Convertir cadena de ANSI a OEM Lord Delfos Varios 3 26-09-2008 13:23:46
Convertir numero en cadena rex JAVA 7 25-10-2007 03:28:11
convertir cadena hexadecimal a imagen Barzaugc SQL 3 20-09-2006 16:06:44
Convertir una cadena Ganduke Varios 6 28-12-2005 14:03:16


La franja horaria es GMT +2. Ahora son las 16:13:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi