Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Char-Feld aus Datenbank vor Anzeige formatieren

  Alt 17. Okt 2005, 09:59
Hallo Tyler,

speziell für die Formatierung von Zeichenketten fester Länge verwende ich folgenden Code:

Delphi-Quellcode:
function Strip(var S: String; sChars: string): string;
var
  i: integer;
begin
  Result := '';
  i := 1;
  while (I <= Length(S)) and (Pos(S[i], sChars) > 0) do
    Inc(i);
  if i > 1 then
  begin
    Result := Copy(S, 1, Pred(i));
    S := Copy(S, i, Length(S) - Length(Result));
  end;
end;

function Reformat(s, inForm, outForm: string): string;
var
  sTemp, sPattern: string;
  i: integer;
begin
  sTemp := '';
  while (outForm <> '') do begin
    sPattern := Strip(outForm, outForm[1]);
    i := Pos(sPattern, inForm);
    if (i = 0)
      then sTemp := sTemp + sPattern
      else sTemp := sTemp + Copy(s, Pos(sPattern, inForm), Length(sPattern));
  end;
  Result := sTemp;
end;

procedure TDemoForm.FormatButtonClick(Sender: TObject);
begin
  ShowMessage(Reformat('abcdefghi', '111222333', '111.222.333'));
end;
Grüße vom marabu
  Mit Zitat antworten Zitat