Problemas com DBedit mascarados
Olá pessoal
Bom coloquei um campo chamado DATA e CPF em um sistema e não quero que a pessoa saia do campo sem digitar os seus dados então usei o seguinte comando no ONEXIT.
IF data.date = ´ ´ Then
Begin
Showmessage (´Digite uma data para continuar´);
Data.SetFocus;
End;
Fiz assim no DBDATA e no DBCPF Só que não esta funcionando essa linha de comando que eu estou usando acho que é por causa que eu formatei os campos como um editmask para ficar mais apresentaveis ao usuario
o campo data aparece para o usuario assim:dd/mm/aaaa e o campo CPF esta com o seguinte formato:999.999.999-99;1; bom como eu posso fazer com que de a mensagem sem ter que mexer nas mascaras.
Valeu :-)
Bom coloquei um campo chamado DATA e CPF em um sistema e não quero que a pessoa saia do campo sem digitar os seus dados então usei o seguinte comando no ONEXIT.
IF data.date = ´ ´ Then
Begin
Showmessage (´Digite uma data para continuar´);
Data.SetFocus;
End;
Fiz assim no DBDATA e no DBCPF Só que não esta funcionando essa linha de comando que eu estou usando acho que é por causa que eu formatei os campos como um editmask para ficar mais apresentaveis ao usuario
o campo data aparece para o usuario assim:dd/mm/aaaa e o campo CPF esta com o seguinte formato:999.999.999-99;1; bom como eu posso fazer com que de a mensagem sem ter que mexer nas mascaras.
Valeu :-)
Alecsandro Moura
Curtidas 0
Respostas
Micheus
26/06/2006
se vc não necessitar gravar os dados com a máscara, basta trocar o [b:7832369193]1[/b:7832369193] por [b:7832369193]0[/b:7832369193] na definição da máscara.
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
GOSTEI 0
Micheus
26/06/2006
se vc não necessitar gravar os dados com a máscara, basta trocar o [b:c6e2e532be]1[/b:c6e2e532be] por [b:c6e2e532be]0[/b:c6e2e532be] na definição da máscara.
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
GOSTEI 0
Micheus
26/06/2006
se vc não necessitar gravar os dados com a máscara, basta trocar o [b:3d40d11729]1[/b:3d40d11729] por [b:3d40d11729]0[/b:3d40d11729] na definição da máscara.
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
Caso contrário, utilize uma função para remover os caracteres indesejados e validar seu campo:
type
TCharSet = set of char;
function FilterChars(Source :String; Filter :TCharSet) :String;
var
Idx :Integer;
begin
for Idx := Length(Source) downto 1 do
if (Source[Idx] in Filter) then
Delete(Source, Idx, 1);
Result := Source;
end;
no programa:
IF FilterChars(DBData.Text, [´/´, ´ ´]) = ´´ Then
IF FilterChars(DBCPF.Text, [´/´, ´ ´, ´.´, ´-´]) = ´´ Then
GOSTEI 0
Micheus
26/06/2006
Desculpem pela repetição. o navegador estava dando time-out e dei alguns refresh. Parece que acabou postando repetidas vezes.
GOSTEI 0