Gleiche Länge für einen Str, ggf. mit 0 auffüllen

Hallo,

in einem QReport unter Delphi6 Pro zeige ich DB-Felder an. Nun möchte ich eines dieser Felder (es enthält Strings) immer mit der Länge 7 anzeigen (das Feld ist teilweise kürzer) - den Rest möchte ich mit führenden Nullen auffüllen. Gibt es dafür eine bereits implementierte Funktion oder muss ich mir diese selbst schreiben?

Vielen Dank für jeden Tipp,

Michl

Hallo,

in einem QReport unter Delphi6 Pro zeige ich DB-Felder an. Nun
möchte ich eines dieser Felder (es enthält Strings) immer mit
der Länge 7 anzeigen (das Feld ist teilweise kürzer) - den
Rest möchte ich mit führenden Nullen auffüllen. Gibt es dafür
eine bereits implementierte Funktion oder muss ich mir diese
selbst schreiben?

Mir waere keine solche Funktion bekannt.

Ist doch aber kein Problem so ne Funktion zu implementieren.

mit length bekommst du die laenge von nem uebergebenen string.

einfach ne while schleife
function fill(sValue:string):string;
begin
while length(sValue)

ne kleine Ergänzung;
Im QReport auf den Platzhalter (i.d.R. ein QRDBText Objekt)Doppelklicken, und in die erstellte Procdure:
procedure TReportForm.QRDBText1Print(sender: TObject; var Value: String);
begin

end;
den u.g. Text einfügen und statt „S“ „Value“ nehmen.
grüße
Mathias

einfach ne while schleife
function fill(sValue:string):string;
begin
while length(sValue)

1 Like

DBEdit1.Text := StringOfChar(‚0‘, 7 - length(meinString)) + meinString;

Gruß Dieter

DBEdit1.Text := StringOfChar(‚0‘, 7 - length(meinString)) +
meinString;

Gruß Dieter

Kleine Ergänzung,
ist das DBEdit1 mit einem Datenbankfeld verknüpft sollte dieses via o.g. Methode gesetzt werden, ansonsten gibs Probleme beim Updaten der DB-Felder, da das drunterliegende Datenbankfeld nicht von der Änderung der Texteigenschaft des Objekts weiss.
Grüsse
Mathias

1 Like