Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   mensage de error en IBexpert y delphi (https://www.clubdelphi.com/foros/showthread.php?t=66423)

bothy 19-02-2010 00:45:49

mensage de error en IBexpert y delphi
 
Como cambio un mensage que me sale en ingles cuando duplico una clave de usuario..
tengo una tabla en ibexpert y formulario en delphi ..
la tabla tengo clave,nombre,appaterno,apmaterno.

clave es la primary key.

cuando intento insertar un usuario y duplico la clave me sale un error
que manda el dataset. pero el problema es que me lo manda en ingles....

quisiera saber como le hago para que ese mensage me salga en español..

JosepGA 19-02-2010 08:54:27

hola en el foro tienes los recursos que lo sustituyen, descargatelo y recompila

guillotmarc 19-02-2010 11:02:28

Hola.

No estoy seguro de que los archivos de recursos traduzcan los mensajes de error de Firebird.

Yo capturaría el error y lo personalizaría. Es decir, tienes que encerrar dentro de un try...except las instrucciones que pueden dar error, y personalizar el tratamiento del error.

Ejplo.

Código:

try
  MisDatos.Post;
except
  ShowMessage('No se han podido guardar los datos');
end;

Naturalmente sería mejor que comprobaras el error que ha disparado el Except, y en función de ese error muestres un mensaje u otro. Te aconsejo que mires la ayuda de Delphi respecto al try ... Except.

Saludos.

bothy 19-02-2010 19:17:12

en el beforespost de mi dataset ensierro con un try pero me abienta un error de copilacion .. y si lo quito el try me abienta el error en ingles que dise que no puedo duplicar mi clave...

guillotmarc 19-02-2010 19:29:39

¿ El BeforePost ?, ¿ porqué utilizas este evento ?.

Protege con un try ... except el comando que va a disparar el error, es decir el MisDatos.Post;

Saludos.

bothy 19-02-2010 20:04:28

entoses en que evento tendria que poner esto

try
MisDatos.Post; // aquí es donde se dispara el error
except
ShowMessage('La Clave ya existe');
end;

guillotmarc 19-02-2010 20:11:06

¿ Como guardas los datos ?.

Eso lo tienes que poner en el evento donde vayas a guardar los datos (por ejplo, si la pantalla tiene un botón para que el usuario lo pulse si quiere guardar los datos, entonces ese código iría en el OnClick de ese botón).

bothy 20-02-2010 00:00:38

tengo un control navigator.. entoces en el evento onclick del navigator
atrapo el error con el try...

bothy 20-02-2010 00:33:09

ya lo intente poniendolo en el eveno onclick del control navigator
y no me funciono ..un dato importante no tengo codigo para enlazar
las tablas uso puros comoponentes el dataset datasource y un control
navigator ..


donde podre atrapar mi error con el try ...

en el evento beforespost atrape un error pero con este codigo

procedure TForm1.DatosBeforePost(DataSet: TDataSet);
begin
if Dataset.FieldByName('NOMBRE').AsString = '' then begin
ShowMessage('Debes rellenar el nombre');
Abort; // Cancelo el Post
end;
end;


pero ahora lo que pido es cambiar el mensaje que sale en ingles cuando duplico una clave ... el error que sale es porque duplico la clave . clave es la primarykey..


La franja horaria es GMT +2. Ahora son las 04:52:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi