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 13-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código:
var
  Label: TLabel;
  N, I: Integer;

begin
  for I := 0 to Pred(ComponentsCount) do
    if Components[ I ] is TLabel then
    begin
      Label := TLabel(Components[ I ];
      if Pos(Label.Caption, 'Cancion') <> 0 then
      begin
        N := StrToInt(Copy(Label.Caption, Length('Cancion'), Length(Label.Caption)));
        if N > primer número then
          Label.Visible := false;
      end;
    end;
end;
También podrías asignar el número de la canción a la propiedad Tag de cada label para evitarte la conversión IntToStr.

// Saludos
Responder Con Cita
  #2  
Antiguo 13-02-2004
nesetru nesetru is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 24
nesetru Va por buen camino
Talking Rapidez...

¡¡¡Dios que rapidez!!!

Muchísimas gracias amigos.

Lo que pasa es que no entiendo muy bien el código que me habéis mandado

Parece que recorre todos los componentes del form, si éste es un label .... ahí me pierdo.

Os recuerdo que solo hay 20 labels y se llaman Cancion1,..,Cancion20 y lo que quiero es que dada una label (que puede ser una desde Cancion1 hasta la Cancion19) desde esa misma hasta la label Cancion20 hacerlas invisibles.

Muchas gracias...
Responder Con Cita
  #3  
Antiguo 13-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pseudo código

Código:
Desde la primera componente del formulario hasta la última
  Si la componente es TLabel
    Si es un label que nos interese ('CancionXX')
      Si tiene un número mayor  o igual que el primer número que me interesa
        Hacerlo invisible
// Saludos
Responder Con Cita
  #4  
Antiguo 13-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por cierto, en el código original donde dice

if N > primer número then

debe decir

if N >= primer número then


// Saludos
Responder Con Cita
  #5  
Antiguo 13-02-2004
nesetru nesetru is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 24
nesetru Va por buen camino
Muchas gracias por la explicación.

Ahora lo entiendo pero aunque no quiero resultar pesado, me parece que el código que me pasas en su begin más interno compara los caption de las labels y lo que necesito son los name.

He cambiado caption por name pero al ejecutar paso a paso el procedure veo que no entra nunca en dicho begin.

Gracias
Responder Con Cita
  #6  
Antiguo 13-02-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por nesetru
me parece que el código que me pasas en su begin más interno compara los caption de las labels y lo que necesito son los name.

He cambiado caption por name
Bien observado y arreglado.

Cita:
Empezado por nesetru
al ejecutar paso a paso el procedure veo que no entra nunca en dicho begin.
Es que lo escribí como se me ocurrió. Debes invertir los parámetros de Pos.

// Saludos
Responder Con Cita
  #7  
Antiguo 13-02-2004
nesetru nesetru is offline
Miembro
 
Registrado: may 2003
Posts: 50
Poder: 24
nesetru Va por buen camino
Unhappy

Muchas gracias Roman y perdona las molestias.

Ahora si que entra, justo en la primera label 'Cancion1' pero asigna a N el valor n1 claro, n1 no es un integer y da un error.

¿Se te ocurre algo?
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


La franja horaria es GMT +2. Ahora son las 19:45:21.


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