Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-04-2005
jefraub jefraub is offline
Miembro
 
Registrado: feb 2005
Posts: 15
Poder: 0
jefraub Va por buen camino
Seleccionar parte de una cadena

Hola a todos.

Necesito selecionar parte de una cadena de texto proveniente de un edit. Se trata de un codigo de 8 digitos, y necesito seleccionar los dos primeros y los que hacen 3y4 es decir:

12345678

y necesito sacar por un lado 12 y por otro 34

Os agradeceria que me ayudarais

Muchas gracias por anticipado.
Responder Con Cita
  #2  
Antiguo 28-04-2005
Yomis Yomis is offline
Registrado
 
Registrado: abr 2005
Posts: 2
Poder: 0
Yomis Va por buen camino
Pues una posible idea sería meter todos los digitos que introduzcas en un array; es decir, cada vez k metes uno lo copias en el array y vas sumando 1 al indice(para asi pasar al siguiente registro).....y lo podrías hacer desde el metodo OnKeyPress del edit.
Responder Con Cita
  #3  
Antiguo 28-04-2005
jefraub jefraub is offline
Miembro
 
Registrado: feb 2005
Posts: 15
Poder: 0
jefraub Va por buen camino
No existe un método??

Muchas gracias yomis, pero me suena que existe un método que selecciona parte de una cadena, que selecciona o por la derecha o por la izquierda, pero es que ahora mismo no recuerdo. A ver si alguien lo sabe.

Muchas gracias otra vez, sino es una buena opción.
Un saludo
Responder Con Cita
  #4  
Antiguo 28-04-2005
Yomis Yomis is offline
Registrado
 
Registrado: abr 2005
Posts: 2
Poder: 0
Yomis Va por buen camino
Pues ahora no caigo en si hay o no esa funcion :S asi que te digo otra forma.xDD

A ver, copias la cadena edit en una variable de tipo String y como sabes que quieres los 4 primeros caracteres de dicha cadena podrias poner algo asi:
Código:
 
  //declaras digitos y contador como globales
  
  procedure TForm1.Button1Click(Sender: TObject);
  var
    dos, tres: string;
  
  begin
   digitos := edit1.Text;
   dos := digitos[1] + digitos[2]; //2 primeros caracteres
   ShowMessage(dos);
   tres := digitos[3] + digitos[4]; //3º y 4º 
   ShowMessage(tres);
  end;
  
  procedure TForm1.Edit1Change(Sender: TObject);
  begin
    contador := contador + 1;
    if (contador = 8) then 
      button1.Enabled := true;
  end;
  
  procedure TForm1.FormActivate(Sender: TObject);
  begin
    contador := 0;
  end;
Lo unico que tendrias que hacer es con el metodo OnkeyPress hacer que si le da a borrar kite 1 al contador, ect....

No se si es lo k kerias :P pero es lo k entendi.xDDD

Última edición por Yomis fecha: 28-04-2005 a las 11:32:16.
Responder Con Cita
  #5  
Antiguo 28-04-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por jefraub
...existe un método que selecciona parte de una cadena, que selecciona o por la derecha o por la izquierda, pero es que ahora mismo no recuerdo. A ver si alguien lo sabe.
Revisa la ayuda sobre la función Copy de Delphi. No se si es a esa a la que te refieres.

Código Delphi [-]
   Str := Copy('12345678', 1, 2);    // Te devolverá '12'
   Str := Copy('12345678', 3, 2);    // Te devolverá '34'

deberías hacer alguna comprobación con la longitud del string por ejemplo, para evitar sorpresas...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 02-05-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
pero me suena que existe un método que
LeftStr, RightStr, MidStr..
__________________
¿Microsoft? No, 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 09:39:35.


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