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 23-04-2012
moise094 moise094 is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 19
Poder: 0
moise094 Va por buen camino
Post Pregunta sobrelistbox

Tengo en un listbox un item mixto es decir por ejmplo JUAN 45, y quiero sumar un numero cualquiera con el numero 45 que puse de ejemplo, como se haria para extraer el numero 45 en un edit o algo por el estilo...????
Responder Con Cita
  #2  
Antiguo 23-04-2012
moise094 moise094 is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 19
Poder: 0
moise094 Va por buen camino
mas conciso: como haria para extraer de un item mixto de un listbox el numero, por ejemplo teniendo en el item juan 45, extraerlo en un edit o cualquier cosa???
Responder Con Cita
  #3  
Antiguo 23-04-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 moise094 y bienvenido a Club Delphi

Como a todos los que se inician te invitamos a que leas nuestra guía de estilo.

Una opción puede ser:
Código Delphi [-]
function ExtraerNum(cad:string): string;
var
  i: Integer;
begin
  i:=0;
  while not (cad[i] in ['0'..'9']) do Inc(i);
  repeat
    Result:= Result + cad[i];
    Inc(i);
  until not (cad[i] in ['0'..'9']);
end;

Ejemplo de uso:
Código Delphi [-]
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  with TListBox(Sender) do
    Caption:= ExtraerNum(Items[ItemIndex]);
end;

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 23-04-2012 a las 20:17:27.
Responder Con Cita
  #4  
Antiguo 23-04-2012
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola moise094, otra opción, si el número va a estar siempre al final separado por un espacio, podemos utilizar las funciones Pos y Copy.

Código Delphi [-]
var
 PosIni : Integer;
 Valor, item : String;
begin
 item := ListBox1.Items[ListBox1.ItemIndex];
 PosIni := Pos(' ', item);
 Valor := Copy(item, PosIni+1, Length(item)-PosIni);
 Showmessage(Valor);

en el caso de que haya mas espacios, primero encontramos el ultimo espacio para hacer el copy.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #5  
Antiguo 23-04-2012
moise094 moise094 is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 19
Poder: 0
moise094 Va por buen camino
esa function de extraer numero la pongo en la parte private o public de la unidad del form???
Responder Con Cita
  #6  
Antiguo 23-04-2012
moise094 moise094 is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 19
Poder: 0
moise094 Va por buen camino
El caso es el siguiente, voy a abrir un documento .txt en un listbox y este tiene:
JUAN 45
JOSE 56

y quiero que al abrir el archivo, me aparezca en un edit cualquiera el numero 45
es decir el listbox va siempre a tener varios items...
Responder Con Cita
  #7  
Antiguo 23-04-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
Cita:
Empezado por moise094 Ver Mensaje
El caso es el siguiente, voy a abrir un documento .txt en un listbox y este tiene:
JUAN 45
JOSE 56

y quiero que al abrir el archivo, me aparezca en un edit cualquiera el numero 45
es decir el listbox va siempre a tener varios items...
Entonces sería:
Código Delphi [-]
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  with TListBox(Sender) do
    Edit1.Text := ExtraerNum(Items[ItemIndex]);
end;
O dependiendo de lo que desees, también podrías hacer:
Código Delphi [-]
procedure TForm1.Edit1Enter(Sender: TObject);
begin
  with ListBox1 do
    Edit1.Text := ExtraerNum(Items[ItemIndex]);
end;
Siendo el código de la función ExtraerNum el que elijas.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 23-04-2012
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por moise094 Ver Mensaje
El caso es el siguiente, voy a abrir un documento .txt en un listbox y este tiene:
JUAN 45
JOSE 56

y quiero que al abrir el archivo, me aparezca en un edit cualquiera el numero 45
es decir el listbox va siempre a tener varios items...
Lo mio sería parecido al de ecfisa:

Código Delphi [-]
//el codigo que te puse lo colocamos en una función
function ExtraerNum(Item : String) : String;
var
 PosIni : Integer;
 Valor : String;
begin
 PosIni := Pos(' ', item);
 Valor := Copy(item, PosIni+1, Length(item)-PosIni);
 Result := Valor;
end;

//ahora para llamar
//despues de cargar el archivo en el listbox, mostramos el número
//del item que esta en la posión 0

 ListBox1.Items.LoadFromFile('c:\xxx\file.txt');
 Edit1.Text := ExtraerNumero(ListBox1.Items[0]);

//ahora cada ves que selecciones un nuevo item utilizas el evento Onclick
procedure TForm1.ListBox1Click(Sender: TObject);
begin
 Edit1.Text := ExtraerNumero(ListBox1.Items[ListBox1.ItemIndex]);
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 23-04-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
Cita:
Empezado por moise094 Ver Mensaje
esa function de extraer numero la pongo en la parte private o public de la unidad del form???
Son funciónes no métodos por lo que básta con que las situes en la sección de implementación (implementation), aunque también podés hacerlas como un método privado o público.

Cualquiera de las funciones (la de Caro o la que te puse) van a realizar la tarea. Pero si el número siempre está al final y existe al menos un espacio entre nombre y número, es mejor que utilices la que te propuso Caro.

Saludos.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 23-04-2012 a las 20:45:55.
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
La pregunta jcarteagaf Humor 2 09-02-2010 21:23:34
Una pregunta de msn Arcioneo Windows 4 13-07-2006 16:11:16
Pregunta Isaac JAVA 1 23-09-2004 12:28:02
Pregunta Jesus Armando DB2 4 30-12-2003 03:27:23
Pregunta edwin1 OOP 0 23-07-2003 14:26:54


La franja horaria es GMT +2. Ahora son las 19:12:57.


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