Data 31/12/2001 na 2001-12-31?

0

Jak oprogramowac by program z daty w formacie

31/12/2001 zrobil date 2001-12-31 ??

chyba pobierac z ciagu znakow 2, 2 i 4 znaki tylko ze nie wiem jak opuscic te "/"

a moze ktos ma lepszy pomysl?


Novitius

0

..no tak, ale..

data 31/12/2003 pobrana jest z komorki exela, teraz ma byc wyswietlona w Edit1.Text jako 2003-12-31.


Novitius

0

Za Data dajesz to "31/12/2001"

var
  function ParseCmd(Commands: String; Dot: Char): TStringList;
  var
    Cmd: String;
  begin
    Result := TStringList.Create;
    Cmd := Commands;
    while Pos(Dot, Cmd) <> 0 do begin
      Result.Add(Copy(Cmd, 1, Pos(Dot, Cmd) - 1));
      Cmd := Copy(Cmd, Pos(Dot, Cmd) + 1, Length(Cmd) - Pos(Dot, Cmd));
    end;
    if Length(Cmd) > 0 then Result.Add(Cmd); 
  end;
begin
  Edit1.Text := ParseCmd(Data, '/')[2] + '-' + ParseCmd(Data, '/')[1] + '-' + ParseCmd(Data, '/')[0];
end;
0

Dzieki!

Chwala Ci za to!

Dziala :)


Novitius

0

Od Delphi 7 istnieja przeciazone wersje funkcji typu DateToStr z dodatkowym paremtrem FormatSettings (chyba) pozwalajace uzywac do konwersji nie ustawien systemowych a podanych w powyzszym parmetrze. Mozesz wiec skonwertowac string na TDateTime i z powrotem na string uzywajac za kazdym razem odpowiednich ustawien. Szczegoly pod F1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1