![]() |
TimeStamp hh:mm:ss mit Zeit ersetzen
Hallo,
ich möchte meinen TimeStamp mit jeweils der Zeit ersetzten, dazu habe ich eine function geschrieben wo ich aber den fehler "[Error] Unit1.pas(420): E2010 Incompatible types: 'Char' and 'string'" erhalte. (hier Zeile 23)
Delphi-Quellcode:
Lösung?
function timestamp(): String;
var ini: TIniFile; timestamp: string; begin ini := TIniFile.Create(GetCurrentDir() + '\config.ini'); try timestamp := ini.ReadString('log', 'timestamp', ''); if timestamp <> '' then begin timestamp := ini.ReadString('log', 'timestamp', ''); end else begin timestamp := '[hh:mm:ss]'; end; finally ini.Free; end; timestamp[pos('hh',timestamp)] := copy(TimeToStr(now),1,2); // replace hour timestamp[pos('mm',timestamp)] := copy(TimeToStr(now),4,2); // replace minutes timestamp[pos('ss',timestamp)] := copy(TimeToStr(now),7,8); // replace seconds result := timestamp; end; mfg Roki |
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
Delphi-Quellcode:
Klar, dass das nix werden kann ;-)
timestamp[pos('hh',timestamp)] := copy(TimeToStr(now),1,2); // replace hour
timestamp[pos('mm',timestamp)] := copy(TimeToStr(now),4,2); // replace minutes timestamp[pos('ss',timestamp)] := copy(TimeToStr(now),7,8); // replace seconds timestamp[bla] spricht nur ein einziges Zeichen an (Char), und das kannst du ja nicht mit zwei Zeichen ersetzen, denn zwei Zeichen sind ja wieder ein String ;-) Du könntest dir die Position von "hh" in eine Variable speichern, dann von dieser Position aus 2 Zeichen löschen (die Länge von "hh" eben ;-)) und dann an der gemerkten Stelle die aktuelle Stundenzahl einfügen ;-) Ganz elegant wäre natürlich
Delphi-Quellcode:
:zwinker:
timestamp := StringReplace(timestamp, 'hh', copy(TimeToStr(now),1,2),[rfIgnoreCase]);
|
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
ahh danke sehrgut.. wieder was gelernt
|
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
Zitat:
|
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
Zitat:
Delphi-Quellcode:
ini := TIniFile.Create(IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + 'config.ini');
|
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
IncludeTrailingPathDelimiter kannst du weglassen, weil ExtractFilePath als letztes Zeichen immer ein "\" hat.
|
Re: TimeStamp hh:mm:ss mit Zeit ersetzen
Ok... was ist an GetCurrentDir() so schlimm?
cu Roki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz