Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   datumsformat (https://www.delphipraxis.net/185701-datumsformat.html)

khh 30. Jun 2015 15:18

AW: datumsformat
 
@Markus, ich danke dir, aber

XSBuiltIns hab ich bei Lazarus leider auch nicht :-(

BadenPower 30. Jun 2015 15:34

AW: datumsformat
 
Zitat:

Zitat von khh (Beitrag 1307216)
alsoo ich hab jetzt das Beispiel von Popov ausprobiert.
Das funktioniert bis zum 9. des Monats:

Das Beispiel von Popov funktioniert einwandfrei.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lDateTime: TDateTime;
begin
  lDateTime := StrToDate('10.06.2015','.');
  ShowMessage(FormatDateTime('yyyy-mm-dd"T"hh:nn:ss"Z"', lDateTime));
end;

Ausgabe: 2015-06-10T00:00:00Z

Zitat:

Zitat von khh (Beitrag 1307216)
was läuft da falsch??

Irgendetwas mit Deinen TDateTime-Werten, welche Du übergibst stimmt nicht.

Wo kommen die denn hier bzw. wie und wo werden diese erzeugt?

khh 30. Jun 2015 16:12

AW: datumsformat
 
mit

Delphi-Quellcode:
  myDate := StrToDate('01/06/15'); // Startdatum
setze ich das Startdatum

in einer Schleife zähle ich die Daten hoch
tag: string;
Delphi-Quellcode:
  for i:= 1 to 30 do
    begin
       Tag:= FormatDateTime('yyyy-MM-dd"T"hh:nn:ss"Z"', myDate);    
       myDate := incDay(mydate) ;
    end;
EDIT: muss woanders liegen :-(

BadenPower 30. Jun 2015 16:38

AW: datumsformat
 
Zitat:

Zitat von khh (Beitrag 1307221)
mit

Delphi-Quellcode:
  myDate := StrToDate('01/06/15'); // Startdatum
setze ich das Startdatum

in einer Schleife zähle ich die Daten hoch
tag: string;
Delphi-Quellcode:
  for i:= 1 to 30 do
    begin
       Tag:= FormatDateTime('yyyy-MM-dd"T"hh:nn:ss"Z"', myDate);    
       myDate := incDay(mydate) ;
    end;
EDIT: muss woanders liegen :-(

Dann zeige uns mal die Funktion incDay().

khh 30. Jun 2015 16:39

AW: datumsformat
 
habs gefunden

der Übeltäter ist
Delphi-Quellcode:
   FileReplaceString(ziel,#tag1,Tag);
die Platzhalter #tag1 usw. gehen bis #tag31
damit werden bereits bei #tag10 der string #tag1 von #tag10 ersetzt, was bleibt ist die 0 hinter dem Z :-(

wie krieg ich das den anders hin?

mkinzler 30. Jun 2015 16:44

AW: datumsformat
 
Wie sieht FileReplaceString aus?

khh 30. Jun 2015 16:44

AW: datumsformat
 
ach ja die procedure ;-)

Delphi-Quellcode:
procedure FileReplaceString(const FileName, searchstring, replacestring: string);
var
  fs: TFileStream;
  S: string;
begin
  fs := TFileStream.Create(FileName, fmOpenread or fmShareDenyNone);
  try
    SetLength(S, fs.Size);
    fs.ReadBuffer(S[1], fs.Size);
  finally
    fs.Free;
  end;
  S := StringReplace(S, SearchString, replaceString, [rfReplaceAll, rfIgnoreCase]);
  fs := TFileStream.Create(FileName, fmCreate);
  try
    fs.WriteBuffer(S[1], Length(S));
  finally
    fs.Free;
  end;
end;
edit: ich könnte die Ziffern der Platzhalter vor den String schreiben :-(
der Lesbarkeit halber wärs mir aber lieber die Platzhalter könnten so bleiben ;-)

Popov 30. Jun 2015 16:50

AW: datumsformat
 
FileReplaceString macht seinen Job richtig, das Problem ist der Platzhalter. Woher soll FileReplaceString nun wissen, dass #tag1 mal für den Tag 1 steht und mal ein Teil von Tag 10 ist.

Hier muss entweder der Platzhalter verändert werden oder der String muss geparst werden.

Uwe Raabe 30. Jun 2015 16:51

AW: datumsformat
 
Wie rufst du FileReplaceString auf? In einer Schleife von 1 bis 31? Dann vielleicht besser rückwärts.

p80286 30. Jun 2015 17:11

AW: datumsformat
 
Zitat:

Zitat von khh (Beitrag 1307226)
edit: ich könnte die Ziffern der Platzhalter vor den String schreiben :-(
der Lesbarkeit halber wärs mir aber lieber die Platzhalter könnten so bleiben ;-)

Wie wäre es denn mit 01,02..09,10,11..99 ?

(Da sich die übliche Leseweise an der ersten Ziffer von rechts orientiert muß man halt bei der Leserichtung von links nach rechts ein eintsprechendes Füllzeichen dazu packen)

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:12 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz