importação StrToDate

Delphi

10/10/2007

companheiros estou com o seguite problema tenho uma rotina de importação txt e em um campo date esta dando erro !!!
ai vai a rotina

DM.clientdatasetData.value:= StrToDate(Copy(strData,0,2)+´/´+Copy(strData,3,2)+´/´+Copy(strData,5,4));

alguem pode mim ajudar?

uso Firebird e dbexpress


email laertoncs@gmail.com


Laerton

Laerton

Curtidas 0

Respostas

Digitom

Digitom

10/10/2007

DM.clientdatasetData.value:= StrToDate(Copy(strData,0,2)+´/´+Copy(strData,3,2)+´/´+Copy(strData,5,4));


Você esta começando em o dia em 0 (zero) e teria que começar em 1
Não seria assim:
StrToDate(Copy(strData,1,2)+´/´+Copy(strData,3,2)+´/´+Copy(strData,5,4));



GOSTEI 0
Mayron Cachina

Mayron Cachina

10/10/2007

eu [b:0dc25fa623]ACHO[/b:0dc25fa623] que vc tem que tratar a data nesse formato:

00/00/0000



GOSTEI 0
Mayron Cachina

Mayron Cachina

10/10/2007

bom, não seria mais simples vc fazer um formatdatetime?
strtodate(FormatDateTime(Data));

o padrão para data no firebird eh assim : yyyy-mm-dd

se tiver que ser com esse copy ai o padrao eh esse que eu falei


GOSTEI 0
Laerton

Laerton

10/10/2007

ai vai a minha procedure

procedure TFrmExporta.Button1Click(Sender: TObject);
var
fArq : TextFile;
Caminho : String;
Linha : String;
mTexto : TStringList;
i : integer;

begin

Caminho := edtArq.Text;

AssignFile(fArq, Caminho);
ReSet(fArq);

mTexto := TStringList.Create;
mTexto.LoadFromFile( Caminho );

i := 0;

mTexto.Free;

While not Eof(fArq) do
Begin
Application.ProcessMessages;
Readln( farq , linha );

Caption := ´Lendo Linha: ´ + IntToStr(i);
CDSimport.Open;

if CDSimport.IsEmpty Then
CDSimport.Append
else
CDSimport.Edit;
CDSimportnome.AsString := Trim(Copy( Linha , 62 , 50 ));
CDSimportDATA.AsDateTime := StrToDate(copy(linha, 132, 02)+´/´+copy(linha, 134, 02)+´/´+copy(linha, 136, 04));
CDSimportSEXO.Value := Trim(Copy( Linha , 140 , 01 ));
CDSimport.Post;
CDSimport.ApplyUpdates(0);
CDSimport.Refresh;
CDSimport.Close;
Inc(i);
Next;
End;



so que da erro!!!
pois no arquivo txt o formato date = ddmmyyyy


GOSTEI 0
POSTAR