Club Delphi  
    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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Cadena de texto

Hola amigos tengo la siguiente duda a ver si me pueden dar una mano:

Necesito recorrer una cadena como esta "BBBB-C0000754T20130517" (puede variar el tamaño) y que cuando llegue a "T" me copie los siguientes 8 caracteres lo que a mi se me ocurrió fue lo siguiente pero claro no puedo volver a incrementar I porque me la toma como un loop:

Código Delphi [-]
Var
str, str2:string;
I, a:integer;
begin
str:='BBBB-C0000754T20130517';
str2:'';
for I := 1 to Length(str) do
If str[i]= 't' Then
 for a:=1  to 8 do
 begin
 str2:= str2+str[i];
 end;
end;

Al no poder volver a incrementar "I" lo que hace me pone 8 t jajajaj y ahí me quede la verdad esto de los caracteres nunca le di mucha importancia y hoy los estoy usando bastante desde ya muchas gracias !!!
Responder Con Cita
  #2  
Antiguo 24-10-2014
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Utiliza bucles while y maneja el contador a mano, según te convenga
Código Delphi [-]
Var
str, str2:string;
I, a:integer;
begin
  str := 'BBBB-C0000754T20130517';
  str2 := '';
  i := 1;
  // Recorro la cadena
  while (i < length(str)) do
  begin
      // Si encuentro T
      if (str[i] = 'T') then
      begin
        // establezco la posicion final. 8 caracteres despues del que estoy
        a := i + 8;
        // recorro hasta llegar al octavo caracter
        while (i < a) do
        begin
          str2 := str2 + str[i];
          i := i + 1;
        end;
      end;
      i := i + 1;
  end;
end;
Responder Con Cita
  #3  
Antiguo 24-10-2014
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 gdIrinfo.
Cita:
Empezado por gdlrinfo Ver Mensaje
Hola amigos tengo la siguiente duda a ver si me pueden dar una mano:

Necesito recorrer una cadena como esta "BBBB-C0000754T20130517" (puede variar el tamaño) y que cuando llegue a "T" me copie los siguientes 8 caracteres
...
Si queres extraer los ocho caracteres siguientes a la primera ocurrencia de la letra 'T'/'t', otra opción es:
Código Delphi [-]
function EightAfterT(const cad: string): string;
begin
  Result:= Copy(UpperCase(cad), Pos('T', UpperCase(cad))+1,  8);
end;

Llamada ej.:
Código Delphi [-]
  ShowMessage(EightAfterT('BBBB-C0000754T20130517'));

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 25-10-2014
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 17
gdlrinfo Va por buen camino
Smile Gracias

Pruebo y comento 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
insertar texto en cadena de texto sabueso1010 Varios 4 27-10-2011 18:54:11
Cadena en archivo de texto muppett Varios 7 19-02-2008 21:32:53
Distribuir una cadena de texto kinteke Internet 1 09-11-2007 10:09:46
Truncar cadena texto dsa10 Firebird e Interbase 4 12-12-2005 17:31:46
Retardo en cadena de texto mutant09 C++ Builder 2 30-04-2004 17:30:35


La franja horaria es GMT +2. Ahora son las 12:20:49.


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