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 04-08-2011
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 novato_erick Ver Mensaje
Es lo que trato de decirles: En teoría son argumentos que exponen los autores en sus reconocidos libros que "Funcionan" sin embargo en la programación me he percatado que es a base de experiencia lo que realmente manda.
Desde luego. Pero muchos de esos autores escriben sus libros basados en su experiencia .

// Saludos
Responder Con Cita
  #2  
Antiguo 04-08-2011
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 17
novato_erick Va por buen camino
Bueno logre poner en modo de Edición mi procedimiento al llamar el formulario en modo de edición he aquí la forma en que lo deje.
Código Delphi [-]

procedure MuestraVentana(ventana: string; modo: string);

if ventana = 'Clientes' then // lo considero como mi modo 'Normal' al ejecutarlo que significa agregar registros
  begin
    if FrmCliente = nil then
    begin
      FrmCliente := TfrmCliente.create(FrmCliente);
      Try
      FrmCliente.Parent := FrmPrincipal.Panel4;
      FrmCliente.Caption := 'Clientes';
      dmacceso.cdsClientes.Active := True;
      dmacceso.cdsClientes.Insert;
      FrmCliente.Show;
      finally
      If FrmCliente.Caption <> ' ' then
      Begin
      FrmPrincipal.TabSet1.Tabs.add(FrmCliente.Caption);
      FrmPrincipal.TabSet1.TabIndex := FrmPrincipal.TabSet1.Tabs.Count - 1;
      end;
      end;
    end;

    if modo = 'Editar' then
    begin
        frmCliente.btnModificar.Visible := True;// hago que se ponga visible el botón de modificar
        frmCliente.btnGuardar.Visible := False;// aquí oculto el botón de guardar pues esta en modo de edición
        frmCliente := TfrmCliente.Create(nil);
        dmacceso.cdsClientes.Edit;
    end;

  end;

Sin embargo aun pasa algo extraño, no me muestra los datos en seguida en los dbedit al abrir el formulario para ser modificados si no le doy click en algun dbEdit. ¿Alguien tiene alguna idea de como sulucionar este problema en si?

aquí esta como llamo a mi formulario en modo de Edición en el DBGrid con el evento DblClick

Código Delphi [-]
procedure TfrmFicheroCliente.dbgClientesDblClick(Sender: TObject);
begin
 pais := dmAcceso.cdsClientesPais.text;
 MostrarRegistroYGuardar;
end;

aquí llamo el modo de edición con un TButton:

Código Delphi [-]
procedure TfrmFicheroCliente.aModificarExecute(Sender: TObject);
begin
  pais := dmAcceso.cdsClientesPais.text;
  MostrarRegistroYGuardar;
end;

procedure TfrmFicheroCliente.MostrarRegistroYGuardar;
begin
  utiles.MuestraVentana('Clientes', 'Editar');// aquí llama al modo Editar del FrmCliente
end;
Responder Con Cita
  #3  
Antiguo 04-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 23
oscarac Va por buen camino
mmm me atrevo a preguntar si los dbedits estan asociados a un datasource?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 04-08-2011
novato_erick novato_erick is offline
Miembro
 
Registrado: ago 2010
Ubicación: Panamá
Posts: 397
Poder: 17
novato_erick Va por buen camino
Así es oscarac

Este esta en

dmAcceso.cdsClientes

DataSource properties

AutoEdit = True
DataSet = dmAcceso.cdsClientes
Enable = True
Name = dsClientes
Tag = 0

Saludos;
Responder Con Cita
  #5  
Antiguo 04-08-2011
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
Yo veo raro tu código. Aparentemente, el código de inserción de un nuevo registro se ejecuta aún cuando lo que quieras sea editar un registro existente. Es más, en tal caso creas la ventana frmCliente ¡dos veces!

Por otra parte, creo que sería mejor mostrar la ventana con ShowModal, a menos que haya alguna razón especial que no conozco.

// Saludos
Responder Con Cita
  #6  
Antiguo 04-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 23
oscarac Va por buen camino
Yo tambien pienso que te estas complicando la existencia.... anteriormente te deje unos ejemplos de como lo hago yo.. quiza no seas una de las mejores formas pero me parece mucho mas sencillo que el tuyo

segun entiendo.. en un formulario de modificacion de datos puedes ejecutar 3 acciones

1.- agregar registros (append)
2.- modificar registros (edit)
3.- eliminar registros (delete)

la informacion en el form en cualquiera de los 3 casosa (con reservas en el modo insertar) es la misma y el procedimiento de aperturar el form deberia ser el mismo

segun YO cuando preguntas si el formulario = nil, es porque no tienes un control del flujo del programa....

creas un formulario y cuando lo cierras lo destruyes.. eso te evita preguntar si esta nil
del mismo modo con los botones... tienes 2 botonos 1 para crear y el otro para modificar... cuando deberias tener solo 1 que puedes cambiar el caption segun la accion y dentro del onclick manejar las "acciones" a seguir... segun hice referencia en los ejemplos que te deje anteriormente

sin animos de desanimarte ni mucho menos de hacerte cambiar de opinion (porque puede existir una buena razon del porque lo haces de esa forma), esos son mis comentarios

salvo error u omision o alguien con mas conocimientos me pueda corregir y de paso aprender mas..

saludos
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #7  
Antiguo 04-08-2011
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
De hecho, ¿por qué frmCliente tiene un botón Modificar y uno Guardar? Yo pondría sólo el botón Guardar que sirve para lo mismo en ambos casos (inserción y edición): guardar los datos. Es más, si el formulario se muestra modalmente, dicho botón Guardar únicamente pondría la propiedad ModalResult del formulario en mrOk para que la ventana que lo abrió sepa que se aceptan los cambios y se haga el Post a la base de datos.

Por otra parte, oscarac, no me queda claro que el mismo formulario se use para borrar registros. Creo que esa operación quedaría mejor en un explorador de registros, siguiendo la terminología de Chris.

// Saludos
Responder Con Cita
  #8  
Antiguo 04-08-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 23
oscarac Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Por otra parte, oscarac, no me queda claro que el mismo formulario se use para borrar registros. Creo que esa operación quedaría mejor en un explorador de registros, siguiendo la terminología de Chris.

// Saludos
OJO yo hablo de 2 formularios.. 1 donde esta el explorador de registros... osea el grid con los datos y el otro es en que se invoca cuando se ejecutan las "acciones" (agregar, modificar, eliminar).. es en este segundo formulario donde muestro los campos y cuando hablamos de eliminar simplemente desactivos los bdedits y en el boton ejecuto la "accion"
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #9  
Antiguo 04-08-2011
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
Hola...

Aquí metiendo mi cuchara...

oscarac, para eliminar un registro no veo el por que tengas que mostrar el formulario con sus datos si estás realizando la acción desde un explorador de registros. Basta con preguntar si se desea eliminar el registro actual (el que está seleccionado) y dependiendo de la respuesta del usuario, realizas o no la acción de eliminar.


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
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
Cual es la mejor forma de conectar con la BD GerTorresM Conexión con bases de datos 1 11-01-2010 16:51:47
Cuál es la mejor forma de conectar la base de datos a mi programa? martinzcr Varios 8 06-09-2007 16:28:41
cual es la mejor forma ? martita Varios 14 07-07-2005 19:35:55
Cual es la mejor forma de pasar datos de MSaccess a MySQL ctronx Conexión con bases de datos 7 04-08-2004 01:04:53
Cual es la mejor forma de Conectarse a una base de Datos Acces? catapulta Conexión con bases de datos 1 07-05-2003 05:04:21


La franja horaria es GMT +2. Ahora son las 17:06:14.


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