GARANTIR DESCONTO

Fórum importação StrToDate #347204

10/10/2007

0

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

Responder

Posts

10/10/2007

Digitom

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));



Responder

Gostei + 0

10/10/2007

Mayron Cachina

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

00/00/0000



Responder

Gostei + 0

11/10/2007

Mayron Cachina

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


Responder

Gostei + 0

15/10/2007

Laerton

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar