Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Modifizierte Format-Funktion spez. für SQL-Statements u.ä.

  Alt 8. Sep 2005, 23:50
Procedure: insFormat
Author: Oliver Münzberg
Date: 16-Jun-2005
Arguments: const FormatString : string; const Args : array of const
Result: string
Comments: Diese Funktion ist eine Erweiterung der Format-Funktion, speziell für die Erzeugung von SQL-Statements.

! Zitat aus dem Online-Handbuch von Borland Delphi 2005 Enterprise
! zum Thema Format Routine mit entsprechenden Erweiterungen

Zitat:
Beschreibung:

Format-Strings, die an die Formatierungsroutinen für Strings übergeben werden, können zwei Arten von Objekten enthalten: literale Zeichen und Formatbezeichner. Literale Zeichen werden wörtlich in den resultierenden String kopiert. Formatbezeichner rufen Argumente aus der Argumentliste ab und weisen ihnen ein Format zu.

Formatbezeichner werden in der folgenden Form angegeben:

"%" [index ":"] ["-"] [width] ["." prec] ["#" oldchar newchar "#"[...]]["""DatumFormat"""] type

Jeder Formatbezeichner beginnt mit dem Zeichen %. Auf das Prozentzeichen folgt eine der nachstehenden Angaben (in der aufgeführten Reihenfolge):

Ein optionaler Nulloffset-Argumentindex-Bezeichner (erstes Element hat den Index 0): [index ":"]

Eine optionale Angabe für die linksbündige Ausrichtung:

Eine optionale Breitenangabe: [width]

Eine optionale Genauigkeitsangabe: ["." prec]

Eine optionale Angabe für das Austauschen bestimmter Zeichen: ["#" oldchar newchar "#"[...]]
Wenn für newchar nichts eingesetzt wird, werden oldchar aus dem Wert entfernt.

Eine optionales Datums-Format ["""DatumFormat"""] analog zum Format in FormatDateTime() in doppelten Anführungsstrichen

Das Zeichen für den Konvertierungstyp: type

Die Konvertierungstypen sind analog zur Format-Funktione mit der Ausnahme, dass bei der Verwendung von Grossbuchstaben die einzelnen Parameter 'gequoted' werden.
Neue Konvertierungstypen:

t Der übergebene Parameter muss vom Typ TDateTime, TDate, TTime sein. Ohne Angabe von Parametern wird der Ergebnis-Wert mit der Funktion DateTimeToStr umgewandelt. Wird eine optionale Formatangabe für den Parameter übergeben, dann wird der Ergebnis-Wert mit der Funktion FormatDateTime umgewandelt.

Beispiel:

insFormat('%f',[123.4]) ergibt 123,40
insFormat('%F',[123.4]) ergibt '123,40'

insFormat('%t',[now]) ergibt 16.06.2005 13:34:23
insFormat('%T',[now]) ergibt '16.06.2005 13:34:23'

insFormat('%#,.#f',[123.4]) ergibt 123.40
insFormat('%#:.##.:#t',[now]) ergibt 16:06:2005 13.34.23
insFormat('%#:##.## #t',[now]) ergibt 16062005133423

insFormat('%"yyyy-mm-dd"t',[now]) ergibt 2005-06-16
insFormat('%"yyyy-mm-dd"T',[now]) ergibt '2005-06-16'd
Angehängte Dateien
Dateityp: dcu insfmt_205.dcu (8,0 KB, 1x aufgerufen)
Dateityp: pas insfmt_969.pas (10,5 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat