FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ayuda con este código que me dejaron
Hola qui de nuevo, pues resulta que sigo sin avanzar mucho con esto del Delphi
Bueno, resulta que me han dejado la aplicacion de un compañero que ya no trabaja aqui y me han pedido que haga alguna smodificaciones pero la neta es que no me encuentro en estas ondas... tratare de explicar lo que pasa: El sistema es para capturar las ordenes que llegan para reparacion de computadoras y demas, se llena la forma (el usuario lo hace) y se guarda en una base de datos al presionar el boton aceptar (BotonAceptarClick) y ahora lo que quieres que haga, es que cuando le dan aceptar, lps datos se guarden pero ademas salga un MessageDlg donde le den la opcion de capturar otra orden (otra pantalla de captura) y no que simplemente se cierre la ventana de captura, ojala me haya explicado... el codigo de el evento onclick para el boton aceptar es este: procedure TFormaOrdenesServicio.BotonAceptarClick(Sender: TObject); begin PanelDatos.SetFocus; if ValidarDatos then begin try // FuenteDatos.DataSet.UpdateRecord; xValorId := FuenteDatos.DataSet.FieldByName(cCamposId).Value; // dbConsulta.Requery; // if FuenteDatos.DataSet.RecordCount > 1 then begin FuenteDatos.DataSet.Locate(cCamposId, xValorId, [loCaseInsensitive] ); end; // HabilitarDatos(false); HabilitarBotonAceptar(false); HabilitarBotonProceso(true); except on E:Exception do MessageDlg('Verifique su Información, ' + 'ya que esta Provocando el Siguiente Error: ' + #13 + #13 + E.Message, mtError, [mbOk], 0); end; end; end; -Panel Datos es el panel donde estan todos los TDBEdit donde se capturan los datos. -ValidarDatos es un procedimeinto donde valida los campos capturados. Aqui la onda es que ese MessageDlg debe salir despues de la validacion de datos (ValidarDatos) y despues se `pregunta si se desea capturar otra orden o no, en caso que digan No, se hace UpdateRecord en la base de datos y en caso que se diga Si, se hace el Update record y se manda a llamar de nuevo la orden de captura que en este caso se llama FormaOrdenesServicio... Asi que... ayudenme por favor, no se en que parte del codigo ponerle ese MessageDlg y tampoco se como escribir el codigo en base a este codigo que me han dejado. |
#2
|
||||
|
||||
Hola en el principio de este codigo po
if MessageBox(Handle, PChar('Realmente Desea guardar la orden' + #13#10 + 'O seguir con el proceso'), PChar('Guardar Orden'), MB_OKCANCEL + MB_DEFBUTTON1 + MB_APPLMODAL) = IDOK then begin end; Con esto le envia un mensaje si acepta, la guarda, si cancela no pasa nada. Saludos |
#3
|
|||
|
|||
Gracias pero aun no hace loq ue busco!
Muchas gracias coleguita, no tenia ni idea...
Agregue ese fragmento de codigo al mio y resulta muy bien, nada mas que lo puse abajito de la validacion de datos sino, de nada servia esa validacion, ahora, despues de la calidacion, al momento en que se da Aceptar, aparece el mensaje; si le das Aceptar, termina el proceso, y si se da cancelar (el otro boton pues) no hace nada de nada jeje... Ahora, lo que quisiera hacer es preguntar si se desea guardar la orden o capturar otra, en caso que digan GUARDAR, se compelta el prceso tal y como lo tengo ahora, pero si se da CAPTURAR OTRO que se mande llamar de nuevo la forma de captura... Como le hago? Otra cosa, como puedo modificar las leyendas de los botones para que en vez que em salga si/no o Aceptar/Cancelar, pueda ponerle: Guardar/Capturar Otra dentro de este mismo mensaje? Bueno ya con eso resolveria mi mistico problema, gracias por la ayuda al coleguita Caral y ojala tambien puedan ayudarme en esto... le spongo el codigo tal y como lo modifique: procedure TFormaOrdenesServicio.BotonAceptarClick(Sender: TObject); begin PanelDatos.SetFocus; if ValidarDatos then begin if MessageBox(Handle, PChar('Desea Guardar la Orden y Cerrar la Ventana' + #13#10 + ' o Desea Capturar Otra Orden de Servicio'), PChar('Confirmacion de Captura'), MB_OKCANCEL + MB_DEFBUTTON1 + MB_APPLMODAL) = IDOK then try // FuenteDatos.DataSet.UpdateRecord; xValorId := FuenteDatos.DataSet.FieldByName(cCamposId).Value; // //GrabarBitacora; dbConsulta.Requery; // if FuenteDatos.DataSet.RecordCount > 1 then begin FuenteDatos.DataSet.Locate(cCamposId, xValorId, CaseInsensitive] ); end; // HabilitarDatos(false); HabilitarBotonAceptar(false); HabilitarBotonProceso(true); ESH.Hide; Etiqueta13.Hide; Campo13.Hide; Etiqueta14.Hide; Campo14.Hide; ESS.Hide; Etiqueta15.Hide; Campo15.Hide; Etiqueta16.Hide; Campo16.Hide; EOS.Hide; Etiqueta17.Hide; Campo17.Hide; Etiqueta18.Hide; Campo18.Hide; except on E:Exception do MessageDlg('Verifique su Información, ' + 'ya que esta Provocando el Siguiente Error: ' + #13 + #13 + E.Message, mtError, [mbOk], 0); end; end; end; Gracias de antemano a todos los foreros. |
#4
|
||||
|
||||
Por favor, esto es un "comentario" para ambos (sobre todo para Caral que lleva 73 mensajes en estos foros!!).
Utilizad TAG's cuando pongáis código Delphi en los mensajes. ==> ¿Cómo se ponen los TAG's? Pincha aquí, es sencillo. . . . . . Gracias.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Aqui estoy de neuvo con este codigo que me dejaron para corregir, me ha costado un poco de trabajo pues soy nuevo en Delphi y ademas este tio hace todo por codigoy eso me lo complica mas... en fin, pude meterle este MessageDlg al inicio del procedimeinto BotonAceptarClick, de tal forma que si le dan No, se guardan los datos capturados en la base de datos... peeero, no se donde ni como ponerle para que cuando den Si, me dibuje otra orden de captura, que en este caso se llama TFormaOrdenesServicio.
Podrian ayudarme por favor? No se en que parte del codigo ponerlo y no se la sintaxis que debo poner, supongo sera algo como mrYes then algo asi peron no se donde
Gracias de antemano. |
#6
|
||||
|
||||
Hola,
Bueno. Algo así podría valer:
O algo así también:
Última edición por dec fecha: 12-09-2006 a las 20:36:51. |
#7
|
|||
|
|||
Tadaaaan!
Soloq ueria agradecer a los foreros ya que sus consejos e ideas me han ayudado mucho y por fin he resuelto este problemilla, que viendolo bien no era nada complicado.
GRAX |
#8
|
||||
|
||||
Hola LAFALOFO
Para terminar y erriquecer un poco la explicacion de mi maestro Dec. con su permiso y sabiendo que se te presento esta duda antes solo queria darte estos codigos de mensajes que se, te cuestan un poco, para que los puedas usar en otra ocasion. Si, No Cancela
reintentar, cancelar
Anular, reintentar, omitir Se que esto es sencillo pero lo pongo puesto que tanto tu como a otro le podria servir en algun momento. Saludos y suerte |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Que significa este codigo? | D-MO | PHP | 14 | 23-01-2006 11:08:21 |
No me gusta este Codigo, Me ayudan?! | marceloalegre | Varios | 5 | 28-10-2005 02:27:27 |
Alguno conoce este codigo? | gatsu | PHP | 2 | 29-08-2004 09:39:09 |
Por que no funciona este codigo en XP? | kia | Varios | 3 | 15-10-2003 22:39:33 |
¿Qué significa este Código de Control??? | Combat-F2D | Impresión | 3 | 18-06-2003 01:23:48 |
|