AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

datumsformat

Ein Thema von khh · begonnen am 30. Jun 2015 · letzter Beitrag vom 1. Jul 2015
Antwort Antwort
Seite 1 von 2  1 2      
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

AW: datumsformat

  Alt 30. Jun 2015, 16:44
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
Karl-Heinz

Geändert von khh (30. Jun 2015 um 16:53 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: datumsformat

  Alt 30. Jun 2015, 16:50
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.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.051 Beiträge
 
Delphi 12 Athens
 
#3

AW: datumsformat

  Alt 30. Jun 2015, 16:51
Wie rufst du FileReplaceString auf? In einer Schleife von 1 bis 31? Dann vielleicht besser rückwärts.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: datumsformat

  Alt 30. Jun 2015, 17:11
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#5

AW: datumsformat

  Alt 30. Jun 2015, 17:33
Der Vorschlag von Uwe sollte aber auch klappen.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#6

AW: datumsformat

  Alt 1. Jul 2015, 06:59
Kannst Du die Tags nicht ändern, also z.B. '#tag1#'? Dann ist das eindeutig,

Die Lösung von Uwe hat nämlich den Nachteil, das sie die konzeptionelle Schwäche der Tag-Namen kaschiert, anstatt das Problem von Grund auf zu lösen.

In 3 Jahren hast Du vergessen, wieso die Schleife rückwärts läuft und denkst Dir vielleicht; "Blödsinn, ich lasse sie vorwärts laufen, sieht besser aus". => Peng.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#7

AW: datumsformat

  Alt 1. Jul 2015, 07:51
>> Wie wäre es denn mit 01,02..09,10,11..99 ?

das ists, so einfach, oder?
Warum bin ich da nicht selbst drauf gekommen


ich danke euch
Karl-Heinz
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: datumsformat

  Alt 1. Jul 2015, 08:35
Bis man mehr als 99 braucht
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#9

AW: datumsformat

  Alt 1. Jul 2015, 10:45
Laut gut informierter Quelle hat man in den nächsten Dekaden nicht vor mehr als 31 Tage einzuführen. Auch nicht mehr als 12 Monate. Womit die Sorge zum Teil unbegründet ist. Und sollte das Programm von khh über das Jahr (20)99 hinweg genutzt werden, dann werde ich kräftig beeindruckt sein.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#10

AW: datumsformat

  Alt 1. Jul 2015, 11:06
Laut gut informierter Quelle hat man in den nächsten Dekaden nicht vor mehr als 31 Tage einzuführen. Auch nicht mehr als 12 Monate. Womit die Sorge zum Teil unbegründet ist. Und sollte das Programm von khh über das Jahr (20)99 hinweg genutzt werden, dann werde ich kräftig beeindruckt sein.
Da aber u.U. auch Datumswerte des letzten Jahrhunderts bearbeitet werden müssen ist das nicht so leicht zu ignorieren. Aber mit 4 Stellen sollte man für einen überschaubaren Zeitraum gerüstet sein, es sei denn Datumswerte von vor Christie Geburt sind gefragt.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 Uhr.
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