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 11-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Voy a ver que tal el ejemplo. Gracias tio.
Responder Con Cita
  #2  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
aqui vuelvo, con el mismo problema, no se como hacerlo. no se hacer lo siguiente:
cuando en un listbox tengo los items metidos... yo quiero insertar el dni de una persona en un edit y al pulsar en un button... que me salga un mensaje (si puede ser en una tabla stringnoseke) con los datos de la persona.

Sería asi:

Lisbox:
dni1
nombre1
apellido1
telefono1
dni2
nombre2
apellido2
telefono2


Cuando en el edit ponga "dni2" me volcara en una tabla:
dni2 - nombre2 - apellido2 - telefono2

Espero explicarme bien (aunque no lo se).

gracias
Responder Con Cita
  #3  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Tu ejemplo me ayuda mucho porque porlomenos BUSCA el item. Ahora yo quiero aprender como pasar ese item (y los que les siguen) a una tabla.
Responder Con Cita
  #4  
Antiguo 26-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Hola kbaby... el siguiente código es un ejemplo de lo que buscas:

Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var indice: integer;
    i: integer;
begin
  // primero buscamos el dato. Supuesto: que siempre estamos buscando un DNI
  indice := ListBox1.Items.IndexOf(Edit5.Text);
  if indice <> -1
     then begin
             for i := 1 to 4 do  //este cuatro corresponde a la cantidad
               // de datos a mostrar. En este caso son: DNI, Nombre, Apellido,
               // Teléfono
               begin;
                 // mostrar cada dato en una celda distinta
                 // De hecho, lo mostramos en la primera fila
                 // [columna,fila]
                 StringGrid1.Cells[i,1] := ListBox1.Items[indice];
                 inc(indice);
               end;
          end
     else ShowMessage('DNI no encontrado');
end;

El código funciona, siempre que busques el DNI. Si buscas el apellido o cualquier otro dato no vas a obtener lo que deseas... Hice el supuesto de que siempre están disponibles todos los datos, de otro modo el algoritmo falla. Para hacerte una idea de porque funciona. piensa al listBox como una lista. Y cada elemento ocupa una posición.

Código:
0 - DNI
1 - Nombre
2 - Apellido
3 - Teléfono
4 - DNI
5 - Nombre
6 - Apellido
7 - Teléfono
¿Ves algo extraño? ¿No parece haber una correlación entre 0 y 4?¿Lo mismo que para 1 y 5?
Es por ello que al encontrar la posición del DNI, la copio a la posición [1,1] del stringGrid, luego, exploro las siguientes 3 posiciones y las añado a la posición [i,1]. ¿Porqué sacamos siempre el valor del Indice? Pues porque si te fijas, al final de cada bucle FOR incremento (la función inc()) la variable indice en 1. Y esto hace que con cada pasada, se obtenga el siguiente elemento del ListBox.

Inc(indice) es análogo a indice := indice + 1;
inc(indice, 2) es análogo a indice := indice + 2;

Analiza el código que te pasee y ve de que manera se adapta a lo que buscas.

Muchas de las cosas que preguntas tienen tanto de lógica como del uso del uso de las propiedades de los objetos que empleas. No temas pulsar F1 al seleccionar un objeto. Por ejemplo, si no sabes como usar el StringGrid, arrastra uno al form, seleccionalo y presiona F1. Obtendrás la ayuda.

El inglés no es pretexto, habiendo traductores on-line como off-line.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Tio, muchas gracias, me entere fenomenal. Ahora viene la segunda parte... ver si yo puedo. Ahora te aviso.
Responder Con Cita
  #6  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Primer problema que me surge:

"Estoy intentando que el programa lea un archivo .txt previamente creado con los datos puestos:

nombre
apellido
nombre
apellido

(esto es una prueba)

Bueno el problema es que cuando le doy a "recuperar" pues me lo lee y sale en el LISTBOX pero con un espacio entre nombre y apellido... así:

pepe
//aqui hay un espacio que no había
gomez
// aquí tambien
juan
// aqui tambien
lopez

El codigo es:

Código Delphi [-]var f:textfile;
n:string;
begin assignfile(f,'nombres.txt');
reset(f);
while not eof(f) do begin readln(f,n); edit1.Text:=n; button1.Click; //añadir ¿en mis apuntes sale ke tengo que poner esto... pq?
button2.Click; //lo que hace es volcar
end;
closefile(f);
end;

end.
Responder Con Cita
  #7  
Antiguo 26-05-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
kbaby, el TListBox cuenta con los métodos LoadFromFile y SaveToFile que hace todo el trabajo más fácil.

LoadFromFile abre un archivo y lo muestra. SaveToFile lo guarda.
El archivo que se genera es como aparece en el ListBox. Cada texto en un "renglón". Es decir que si en un ListBox tienes esto (cada uno en una linea):

Código:
Hola como estas kbaby
yo aqui un poco adivinando
lo que hace ese button1.click
y también desorientado con el button2.click
Tu archivo quedará escrito en la misma forma.

El problema con ese código puede deberse al Readln() ya que eso hace que se pase al siguiente "renglón". El porque en tus apuntes invocas a un Button1.Click y luego a un Button2.Click lo desconozco... es cosa de tus apuntes... y pues... no estoy allí para ver que es lo dicen.

Si nos aportaras más datos podría saber el modo de ayudarte.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Primer problema que me surge:

"Estoy intentando que el programa lea un archivo .txt previamente creado con los datos puestos:

nombre
apellido
nombre
apellido

(esto es una prueba)

Bueno el problema es que cuando le doy a "recuperar" pues me lo lee y sale en el LISTBOX pero con un espacio entre nombre y apellido... así:

pepe
//aqui hay un espacio que no había
gomez
// aquí tambien
juan
// aqui tambien
lopez

El codigo es:

Código Delphi [-]
 
var f:textfile;
    n:string;
  begin
  assignfile(f,'nombres.txt');
  reset(f);
  while not eof(f) do
     begin
     readln(f,n);
     edit1.Text:=n;
     button1.Click; //añadir ¿en mis apuntes sale ke tengo que poner esto... pq?
     button2.Click; //lo que hace es volcar
     end;
  closefile(f);
end;

end.
Responder Con Cita
  #9  
Antiguo 26-05-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
¿Por qué utilizas el Inc(indice)?

Es lo único que no me ha quedado claro.


Yo pulso f1, y lo leo, pero no veo como se adapta lo que a mí me han enseñando y no puedo llevar algo que no haya yo enseñado. Ahora si yo el " Inc(indice)" lo adapto a lo que me han enseñado pues sí.

Espero me comprendas.
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
Ayuda con código. wofox Varios 6 11-12-2007 00:16:21
Ayuda con un codigo JoNieve C++ Builder 0 21-04-2007 12:27:33
Ayuda con error en codigo :-( jorgegetafe Varios 6 07-02-2007 19:29:04
Codigo de Barras.... Ayuda!!!!! adolfoz Varios 14 15-11-2006 17:13:55
Ayuda con código de barras ramiretor Varios 0 28-06-2003 00:42:58


La franja horaria es GMT +2. Ahora son las 13:32:43.


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