Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Hola!
Gracias por las respuestas muchachos!
De hecho he tenido que modificar la aplicacion y en un momento determinado ya no sabia ni que estaba haciendo -aun no lo se- pero ya despues de consultar la almohada traigo ideas mas frescas.

Nuevamente gracias por su dispocision a ayudar siempre!
Responder Con Cita
  #2  
Antiguo 04-12-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Bueno de nuevo por aqui.

Esto es lo que he hecho a manera didactica - hasta parece que se de que hablo-

Código Delphi [-]
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;
type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox5: TCheckBox;
    CheckBox6: TCheckBox;
    CheckBox7: TCheckBox;
    CheckBox8: TCheckBox;
    Memo1: TMemo;
    Button1: TButton;
    RadioGroup1: TRadioGroup;
    procedure Button1Click(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    Checados: array [1..8] of boolean;
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 i,j: integer;
 Check: TcheckBox;
begin
  {http://www.clubdelphi.com/foros/show...light=checkbox
   Verificamos cuales CheckBox estan "checados"
  }
  { TO DO
   Falta recorrer cada panel y si dos o mas checkbox estan seleccionados en
     cada panel Habilitar el correspondiente elemento del RadioGroup.}
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TCheckBox then
      begin
        Check := TCheckBox(Components[i]);
        if Check.Checked then
          Memo1.Lines.Add(Check.Name + ' = True');
      end;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  { http://www.clubdelphi.com/foros/show...d=1#post250309
   Todos los checkboxes comparten este evento.
   Usamos el moldeo de tipo "TCheckbox(Sender)" para decirle al 
    compilador que siempre será un TCheckbox el que genere
    este evento
   Usar el Inspector de Objetos para asignar valor a Tag
  }
  checados[TCheckbox(sender).Tag] := TCheckbox(Sender).checked;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  { http://www.clubdelphi.com/foros/show...7847&highlight=
          deshabilitar+radiogroup
   Al activarse el formulario estos elementos del RadioGroup
    estan Inhabilitados (Disabled)
  }
  RadioGroup1.Controls[4].Enabled := False;
  RadioGroup1.Controls[5].Enabled := False;
end;
end.

Aun quedan cosas por hacer que ando investigando. Se aceptan todas las ayudas. Añado un zip con el codigo fuente y sin ejecutable de este proyecto.

Última edición por FGarcia fecha: 05-12-2007 a las 02:49:49.
Responder Con Cita
  #3  
Antiguo 05-12-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
De vuelta aqui!

he modificado el procedimiento que muestro aqui del original de mi mensaje anterioR y me genera un error de Addres violation no entiendo por que pero si se en donde lo hace.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 i,j: integer;
 Check: TcheckBox;
begin
  {http://www.clubdelphi.com/foros/show...light=checkbox
   Verificamos cuales CheckBox estan "checados" FUNCIONA OK}
  { TO DO
    Falta recorrer cada panel y si dos o mas checkbox estan seleccionados en
     cada panel Habilitar el correspondiente elemento del RadioGroup.}
  {
  /*for i := 0 to ComponentCount - 1 do
    if Components[i] is TCheckBox then
      begin
        Check := TCheckBox(Components[i]);
        if Check.Checked then
          Memo1.Lines.Add(Check.Name + ' = True');
      end;
  */}

  //**************************************************************
  
  {/* Adaptacion de este hilo
      http://www.clubdelphi.com/foros/show...light=checkbox
  */}
  for i:= 0 to GroupBox1.ControlCount - 1 do
    if GroupBox1.Controls[i] is TPanel then
      with TPanel (GroupBox1.Controls[i]) do
        for j:= 0 to ControlCount - 1 do
          if Controls[j] is TCheckbox then
            if (Controls[j] as TCheckBox).Checked then
              {CON ESTAS LINEAS ME GENERA EL ADRESS VIOLATION
                Memo1.Lines.Add(Check.Name + ' = True');
               else
                Memo1.Lines.Add(Check.Name + ' = False');
               }
            ShowMessage('Marcado')
            else
            ShowMessage('No marcado');
end;

Nuevamente soy todo oidos!!
Responder Con Cita
  #4  
Antiguo 05-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé si me hago un lío con el código y sus comentarios, pero, la variable "Check" (que te causa el problema) parece no estar inicializa en ningún sitio. De ahí el "Access violation", ¿no? Copia el código que usas tal cual, sin comentarios expresos, a ver si yo, por lo menos, lo entiendo mejor, porque, tal vez lo que digo de la variable "Check" no se te escape a ti...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 05-12-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Tienes razón Dec!

De hecho era un copiar y pegar del codigo entre comentarios que funcionaba Ok, no me fije que el Check no existia en el otro codigo.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
 i,j: integer;
begin
  {/* Adaptacion de este hilo
      http://www.clubdelphi.com/foros/show...light=checkbox
  */}
  for i:= 0 to GroupBox1.ControlCount - 1 do
    if GroupBox1.Controls[i] is TPanel then
      with TPanel (GroupBox1.Controls[i]) do
        for j:= 0 to ControlCount - 1 do
          if Controls[j] is TCheckbox then
            if (Controls[j] as TCheckBox).Checked then
              Memo1.Lines.Add((Controls[j] as TCheckBox).Name  + ' = True')
            else
              Memo1.Lines.Add((Controls[j] as TCheckBox).Name  + ' = False');
end;

La aplicacion tiene dos paneles Panel1 y Panel2 ¿como haria un recorrido individual de cada uno de ellos para saber si mas de un checkbox esta seleccionado en cada panel?

Adjunto el codigo completo ya corregido. Sigo escuchando. Gracias.

p.d. En el mensaje antepenultimo tambien esta el codigo original. No encuentro como eliminar el zip para que no se repita.

Última edición por FGarcia fecha: 23-05-2008 a las 22:17:22.
Responder Con Cita
  #6  
Antiguo 05-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Si puedes recorrer los componentes situados en un panel... de la misma manera puedes recorrer el de los situados en otro. Claro está, primero recorrerías los de uno y luego los del otro. Pero, ¿dónde encuentras la dificultad? Seguro que se me escapa algo.

PD. Respecto de quitar el zip... fíjate que en el formulario de edición del mensaje hay un botón de nombre "Manejar adjuntos" o algo así... pues sólo tienes que pulsar sobre el botón, se te abrirá una ventana desde la que podrás añadir nuevos adjuntos, borrar los ya incluidos, etc.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 05-12-2007
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 22
FGarcia Va por buen camino
Bueno, mira la dificultad que encuentro para recorrer el panel es que de acuerdo al codigo que puse yo busco un componente de tipo TPanel, asi como esta no importa si hay uno, dos o mas paneles el ciclo los recorrera todos. Entonces de ahi que supongo que debo buscarlos por nombre y entonces recorrer cada uno, como dices tu algo se me esta escapando que no logro entenderlo.

Lo del archivo adjunto fijate que no es en la parte que dices, es desde las preferencias de usuario (menu User CP) Nunca la habia visto a detalle.
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
codigo comun entre distintos formularios federiconqn21 Varios 5 27-11-2007 16:22:11
exportacion de variables entre formas distintas zidfrid C++ Builder 0 02-10-2007 03:33:47
Algo un poco fuera de lo comun JerS Impresión 2 25-10-2005 18:05:28
Duda acerca del DBLookupComboBox y del Combo comun arieliten Varios 1 16-03-2005 21:52:18
¿Que tienen en comun las mujeres y los servidores web? obiwuan Humor 0 04-05-2003 12:56:38


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


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