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 14-07-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
TMatch o TMatchCollection

Gente alguien me puede explicar, lo mas detallado posible, cuales son las diferencias entre TMatch y TMatchCollection, porque no se cual usar y en que circunstancias. Gracias!
Responder Con Cita
  #2  
Antiguo 14-07-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Lo mismo digo una tontería, pero se puede comparar con: TMoto, TMotoCollection. En el primer caso tienes una moto, en el segundo tienes una colección de motos y puedes elegir una de ellas, ordenarlas por color, precio, cilindrada, etc.
Aunque lo mismo estás preguntando para qué sirven, no ha quedado muy clara tu duda.
Responder Con Cita
  #3  
Antiguo 15-07-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Poder: 0
avechuche Va por buen camino
Si no me explique bien porque no puse un ejemplo. Seria asi ...
Código Delphi [-]
      // HTML es un string con código HTML.
      aHotfixWebName := TRegEx.Match(HTML, codeStringRegExpHotfix);

      if aWebFolderName.Success then
        begin
          // Codigo que se inicializa una vez si se encuentra al menos una coincidencia.
          while aWebFolderName.Success do
            begin
            // Codigo por aquí
            ...
            aHotfixWebName := aHotfixWebName.NextMatch;
            end;
        end;

Bueno de esa forma obtengo todas las coincidencias, pero no entiendo que hace el .NextMatch.
1) ¿Cada vez que lo llamo busca en la cadena la siguiente coincidencia?
1a) ¿Desde el principio de la cadena o desde la posicion donde encontro la anterior coincidencia?
1b) Si es asi, ¿seria más lento que usar TMatchCollection?
2) ¿Ó cuando se llama por primera vez a la ER crea un "array" y el .NextMatch lo recorre?

Lo que puede observar es que TMatchCollection devuelve una coleccion que puede ser recorrida de forma iterativa y obtener los resultados mediante un indice, cosa que con TMatch no se puede.

No se si habra algo mas por lo cual me convenga usar uno u otro.

Otra cosa, se puede pasar un TMatchCollection a un array de forma directa? O no es necesario, el uso que le tengo que dar es solo de lectura, no tengo que reemplazar nada, por eso no si me conviene usar directamente el TMatchCollection o pasarlo a un array.
Responder Con Cita
  #4  
Antiguo 15-07-2013
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
TMatchCollection es una lista de objetos, cada objeto es un TMatch, ni más ni menos. No le des más vueltas o acabarás mareado .

El TMatchCollection es ya "un array". De hecho, los arrays es lo que se usaba antes, hoy día son todo Listas de objetos (TObjectList) y Colecciones (TCollection).

Vaaaale, los arrays puedes seguir usándolos, pero intenta ordenar un array (casi de locos) cuando un derivado de TCollection/TObjectList ya lo tienes todo hecho (solo implementa una función y se la pasas al método Sort).
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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


La franja horaria es GMT +2. Ahora son las 11:11:05.


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