Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi feste Breite zurückgeben (https://www.delphipraxis.net/57874-feste-breite-zurueckgeben.html)

smart 28. Nov 2005 10:07

Datenbank: ABS • Version: 488 • Zugriff über: Datascore

feste Breite zurückgeben
 
Wenn ich in einer Tabelle für ein Feld eine feste Breite angegeben habe, z.B. 20 Zeichen, aber nur 6 Zeichen benutze, wie kann ich errechen, dass die letzten 16 Zeichen (die noch frei sind) als Leerzeichen bei der Abfrage zurückgegeben werden.? Also immer 20 Zeichen?

Bernhard Geyer 28. Nov 2005 10:09

Re: feste Breite zurückgeben
 
Bei char (nicht varchar) als Feldtyp wird der String immer mit Leerzeichen aufgefüllt.

Sharky 28. Nov 2005 10:09

Re: feste Breite zurückgeben
 
Hai Heike,

wozu möchtest Du das denn machen?

marabu 28. Nov 2005 10:12

Re: feste Breite zurückgeben
 
Hallo Heike,

du kannst umgebende Leerzeichen mit den Trim-Funktionen (Trim, TrimRight) entfernen.

Grüße vom marabu

smart 28. Nov 2005 10:23

Re: feste Breite zurückgeben
 
Zitat:

Zitat von Sharky
Hai Heike,
wozu möchtest Du das denn machen?

Guten Morgen Stephan und alle Anderen!

Die Daten sollen auf eine Rechnung und sollen natürlich formatiert werden.
z.B. so

Delphi-Quellcode:
Rechnung
FELD1            FELD2                FELD3
Klaus           Mustermann          Musterstr.25
Irene           Muster              Musterweg 8
Wie soll ich das anders machen?

Sharky 28. Nov 2005 10:33

Re: feste Breite zurückgeben
 
Zitat:

Zitat von smart
...
Die Daten sollen auf eine Rechnung und sollen natürlich formatiert werden. ...

Verwende einen Reportgenerator (QReport, Rave, FastReport usw.) für deine Rechnungen.
Wenn Du das selber machst (über den Canvas des Druckers) hast Du bei einer proportionalen Schriftart sonst eh nur probleme.

Aber wenn Du einen String unbedingt mit Leerzeichen füllen möchtest: Ich glaube der Code ist von marabu:

Delphi-Quellcode:
function PadR(aValue: string; aLen: byte; aFill: Char): string;
  //right pads a string with spaces
begin
  try
    Result:=aValue+StringOfChar(aFill,aLen-Length(aValue));
  except
    Reslut := '';
  end;
end;

smart 28. Nov 2005 10:47

Re: feste Breite zurückgeben
 
Zitat:

Zitat von Sharky
Aber wenn Du einen String unbedingt mit Leerzeichen füllen möchtest: Ich glaube der Code ist von marabu:

Ja, mann kann es auch so machen:
Delphi-Quellcode:
Var
S,I: Integer
Vorname:String
Begin
   S := 20 - Length(Vorname);
     For I := 0 To S do
       Vorname:= Vorname + ' ';
Aber ich dachte wenn ich immer die gleiche Feldbreite zurückbekomme kann ich mir das sparen.
QReport ist auch ein guter Einfall.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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