Problemas con TDBNavigator

Hola
En un programa estoy usando el control TDBNavigator para realizar operaciones sobre un TDBGrid. ¿Qué puedo hacer para que los mensajes de error que aparecen al hacer una operación incorrecta me salgan en español y no en ingles? También al borrar un registro del TDBGrid me muestra un mensaje: "Delete Record?". ¿Cómo hago para que este mensaje también salga en español?
Gracias

2 Respuestas

Respuesta
1
Para poner tus propios mensajes, lo tienes que hacer utilizando los eventos de dataSet, ya sea que utilices un TTable o un TQuery, estos tiene eventos como el beforePost, beforeDelete... etc.
Por ejemplo si quieres quitar el mensaje cuando vas a borrar un registro, primero en el DBGrid en la propiedad Options dentro de ella hay otra propiedad llamada dgConfirmDelete esta ponla en FALSE, luego en el evento BeforeDelete ahí pones tu mensaje ejem.
if MessageDlg('Desea borrar?',mtInformation,[mbYes,mbNo],0) = idNo then
begin
Query.Cancel;
Abort;
end;
Y listo. Y así para otros errores, también hay un evento que se llama onPostError este evento se dispara cuando hay algún error al momento de grabar. Aunque en unas ocasiones no funciona bien, si en tu caso es así, entonces tienes que controlar esto en evento BeforePost, por ejemplo cuando insertar un registro que ya existe en ingles te arroja un mensaje de violation key o algo así... entonces para controlar esto en beforePost tienes que hacer una búsqueda para ver si existe el registro que estas insertando y si es así pues mandas un mensaje cancelas la operación y abortas.
Respuesta
1
Usa un bloque de captura de excepción para capturar los errores(evitas que te salga el mensaje de error por defecto) y dentro de él lanzas tu mensaje.
En cuanto al mensaje "Delete Record?", te recomiendo que pruebes a cambiar la propiedad ConfirmDelete a false. Eso hace que no te salga el mensaje de confirmación(no te sale nada cuando borras).
Si quieres que te salga un mensaje de confirmación con el estilo que te gusta, debes sobrecargar el método OnClick y preguntar si se ha pulsado o no el botón Delete del TDBNavigator.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas