<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Datum parsen (solved)]]></title><description><![CDATA[<p>ich habe mehrere Dateien, mit dem Format &lt;Name&gt;_yyyy-mm-dd_&lt;index&gt;.txt<br />
ich habe schon &quot;yyyy-mm-dd&quot; mit AnsiString::substr rausgeholt, jetzt müsste ich das Datum irgendwie in ein TDate umwandeln um es mit einem anderen vergleichen zu können und dann die Dateien zu löschen die ein älter als 5 tage sind.</p>
<p>wenn ich einfach ein referenzdatum (FormatString(&quot;yyyy-mm-dd&quot;);) erzeuge lösch ich leider nur alle dateien die auf den tag genau 5 tage alt sind aber keine die älter sind, deswegen wollt ich hier mal frage ob es eine einfach lösung gibt wie ich yyyy-mm-dd zu einem TDate parsen kann.</p>
<p>..... vlleicht ist es wieder nur eine einzige Methode und ich seh den wald vor lauter bäumen nich</p>
<p>[EDIT] benutze jetzt StrToDate();<br />
habe folgendes im ctor deklariert:</p>
<p>DateSeparator = '-';<br />
ShortDateFormat = &quot;yyyy-mm-dd&quot;;</p>
<p>ob des so geht =? bin mal gespannt bis in 10min</p>
<p>[EDIT] mh irgendwie will das doch nicht -_-&quot; kommt immer nur dieses dämliche anfangsdatum raus!</p>
<p>[EDIT(korrektur)] es geht doch, hab nur den fall ignoriert das ich eine datei mit fehlerhaften datumstring einlese, jetzt klappt es einwandfrei ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173115/datum-parsen-solved</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 13:18:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173115.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 12 Feb 2007 08:33:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datum parsen (solved) on Mon, 12 Feb 2007 09:18:51 GMT]]></title><description><![CDATA[<p>ich habe mehrere Dateien, mit dem Format &lt;Name&gt;_yyyy-mm-dd_&lt;index&gt;.txt<br />
ich habe schon &quot;yyyy-mm-dd&quot; mit AnsiString::substr rausgeholt, jetzt müsste ich das Datum irgendwie in ein TDate umwandeln um es mit einem anderen vergleichen zu können und dann die Dateien zu löschen die ein älter als 5 tage sind.</p>
<p>wenn ich einfach ein referenzdatum (FormatString(&quot;yyyy-mm-dd&quot;);) erzeuge lösch ich leider nur alle dateien die auf den tag genau 5 tage alt sind aber keine die älter sind, deswegen wollt ich hier mal frage ob es eine einfach lösung gibt wie ich yyyy-mm-dd zu einem TDate parsen kann.</p>
<p>..... vlleicht ist es wieder nur eine einzige Methode und ich seh den wald vor lauter bäumen nich</p>
<p>[EDIT] benutze jetzt StrToDate();<br />
habe folgendes im ctor deklariert:</p>
<p>DateSeparator = '-';<br />
ShortDateFormat = &quot;yyyy-mm-dd&quot;;</p>
<p>ob des so geht =? bin mal gespannt bis in 10min</p>
<p>[EDIT] mh irgendwie will das doch nicht -_-&quot; kommt immer nur dieses dämliche anfangsdatum raus!</p>
<p>[EDIT(korrektur)] es geht doch, hab nur den fall ignoriert das ich eine datei mit fehlerhaften datumstring einlese, jetzt klappt es einwandfrei ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227190</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Mon, 12 Feb 2007 09:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to Datum parsen (solved) on Mon, 12 Feb 2007 09:37:32 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">DateSeparator = '-';
ShortDateFormat = &quot;yyyy-mm-dd&quot;;

	TDateTime Reference;
	if (FindFirst(Path+FLogFileName+AnsiString(&quot;*.txt&quot;), faAnyFile, SearchRec) == 0) {
		AnsiString TimeStr = SearchRec.Name.SubString(0,SearchRec.Name.LastDelimiter(&quot;_&quot;)-1); //Dateiendung und index werden abgeschnitten
		TimeStr = TimeStr.SubString(TimeStr.LastDelimiter(&quot;_&quot;)+1, TimeStr.Length()-1); // Dateianfang bis zum Datum abschneiden
		Reference = StrToDateDef(TimeStr, Date.CurrentDate()); // String hat jetzt das format yyyy-mm-dd und kann geparst werden (wenn fehler dann aktuelles datum)
		if ( Reference &lt; Date.CurrentDate()-FFileLifeTime) { //vergleichen
			DeleteFile(SearchRec.Name); //löschen
		}
	}
	while (FindNext(SearchRec) == 0) {  //das ganze bis keine datei mehr gefunden wird
		AnsiString TimeStr = SearchRec.Name.SubString(0,SearchRec.Name.LastDelimiter(&quot;_&quot;)-1);
		TimeStr = TimeStr.SubString(TimeStr.LastDelimiter(&quot;_&quot;)+1, TimeStr.Length()-1);
		Reference = StrToDateDef(TimeStr, Date.CurrentDate());
		if ( Reference &lt; Date.CurrentDate()-FFileLifeTime) {
			DeleteFile(SearchRec.Name);
		}
	}
	FindClose(SearchRec);  // Suchanfrage beenden
</code></pre>
<p>für die die es interessiert oder die danach später mal suchen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1227229</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1227229</guid><dc:creator><![CDATA[Ceos]]></dc:creator><pubDate>Mon, 12 Feb 2007 09:37:32 GMT</pubDate></item></channel></rss>