Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-06-2017
cozina cozina is offline
Miembro
 
Registrado: mar 2008
Posts: 18
Poder: 0
cozina Va por buen camino
Gracias por tu ayuda, he estado probando y funciona medianamente bien, es que son muchos ficheros y algunos bastantes grandes. Pero es soportable
Saludos.
Responder Con Cita
  #2  
Antiguo 14-06-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

No dispongo del método Match y no pude hacer comparativas, pero fijate si obtenes alguna mejora de este modo:
Código Delphi [-]
function ExistsWord(wd: string; Text: string; Separators: array of Char;
  const CaseSensitive: Boolean = True): Boolean;
var
  SEP   : set of Char;
  c1,c2,l : Integer;
begin
  SEP    := [];
  for c1 := Low(Separators) to High(Separators) do SEP := SEP + [Separators[c1]];

  if not CaseSensitive then
  begin
    wd   := UpperCase(wd);
    Text := UpperCase(Text);
  end;

  Text   := Separators[Low(Separators)] + Text + Separators[Low(Separators)];
  Result := False;  
  c1     := 1;
  c2     := 1;
  l      := Length(wd);

  while not Result and ( c1 < Length(Text) )  do
  begin
    if Text[c1] <> wd[c2] then
      c2 := 1
    else if c2 < l then Inc( c2 );
    if c2 = l then
      Result := ( Text[c1 - l] in SEP) and (Text[c1 + 1] in SEP);      
    Inc(c1);
  end;
end;

Un ejemplo de uso:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const
  FLG = MB_YESNO + MB_ICONQUESTION;
var
  TS: TStrings;
  fName,Wd: string;
begin
  Wd    := 'oso';
  fName := 'ARCHIVO.TXT';

  TS := TStringList.Create;
  try
    TS.LoadFromFile( fName );
    if MessageBox( 0,'Archivo cargado, ¿ Comienzo la búsqueda ?','', FLG ) = IDYES then
      if ExistsWord( wd, TS.Text, [' ',',',';',':',#10,#13] ) then
        ShowMessage( 'Palabra encontrada' )
      else
        ShowMessage( 'Palabra no encontrada' );
  finally
    TS.Free;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 16-06-2017 a las 03:40:19.
Responder Con Cita
  #3  
Antiguo 14-06-2017
cozina cozina is offline
Miembro
 
Registrado: mar 2008
Posts: 18
Poder: 0
cozina Va por buen camino
Funciona muy bien y es bastante rápido.
Muchas gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Encontrar valor maximo de un texto mixto wilcg SQL 8 20-08-2014 17:40:09
Abrir fichero de texto y reemplazar cadena ZayDun Varios 5 06-05-2012 21:39:14
Encontrar texto intermedio en un DBGrid Oscar Guzmán OOP 7 19-03-2012 06:36:17
insertar texto en cadena de texto sabueso1010 Varios 4 27-10-2011 18:54:11
texto en un MEMO ...encontrar comparar sakuragi OOP 4 27-02-2004 17:24:28


La franja horaria es GMT +2. Ahora son las 18:57:28.


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