Paradox e Delphi 5

Delphi

20/02/2004

:oops:

Colegas...
Desculpe as perguntas leigas mas estão me empatando de avançar e são as seguintes:

1) Criei um maskedit que puxa um campo tipo data do arquivo. Pois bem, este campo está zerado mas na tela do programa surge uma data que agora não me lembro bem ??/??/99 . De onde vem esta data se o campo está vazio? (tabela paradox)

2) Ao entrar em uma tela estou no registro 1, aciona a seta e vou para o proximo registro, saio da tela e entro novamente (dou um close no arquivo) e abro novamente ao entrar na tela e fico abismado, o registro estará posicionado onde eu parei anteriormente e não no primeiro registro. como pode ser isso se fechei e abri o arquivo novamente?


Emerson_

Emerson_

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

20/02/2004

Olá

Sobre o 1, talvez possa ser uma data padrão, ou algo parecido...
force uma data vazia

Sobre o 2, se vc nao quer ver o registro anterior, ponha FIRST!


GOSTEI 0
Marco Salles

Marco Salles

20/02/2004

O Campo Esta Zerado, Mas o MaskEdit Puxa a Data 30/12/1899...Isto Acontece Porque o Tipo TDateTime é Na Verdade Um Número De Ponto Flutuante... Assim o Valor zero(Entende-se Por Vazio) Representa a Data 30/12/1899 e Assim Ate Chegar a Data Atual. Acompanhe o Raciocíneo Abaixo:
0.........Corresponde a Data 30/12/1899
1.........Corresponde a Data 31/12/1899
2.........Corresponde a Data 01/01/1900
3.........Corresponde a Data 02/01/1900
3.75.........Corresponde a Data 02/01/1900 ás 18:00 ***Ponto Flutuante
obs:A Parte Decimal Indica a Hora Como Uma Fração
4.........Corresponde a Data 03/01/1900
e Assim Segue

Quando Voce Escreve No Seu Programa :

MaskEdit1.Text:=DateToStr(Table1Data.Value); o Valor De Table1Data.Value Por Ser ´Nulo´ Entende-se Por Ser ´Zerado´ e Ao
Converter Surge a Data Indesejada...

Sugiro Então Antes Da Instrução Anterior Realisar Um Teste Simples:

codigo:

If not Table1Data.IsNull Then
MaskEdit1.Text:=DateToStr(Table1Data.Value);


GOSTEI 0
POSTAR