Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#5

Re: jeden anfangsbuchstaben eines wortes groß machen

  Alt 28. Sep 2006, 18:24
Suche einmal bei Jedi nach AnsiProperCase: Bei den RxTools gab es diese Funktion.

Du könntest auch Folgendes mit Delphi-Referenz durchsuchenDelimitedText versuchen:
Delphi-Quellcode:
function AnsiProperCase( string sQuelle ): string
var sListe: TStringList;
    x1: integer;
begin
  Result := '';
  sListe := TStringList.Create;
  try
    // Quelltext komplett übernehmen
    sListe.Delimiter := ' ';
    sListe.QuoteChar := #0;
    sListe.DelimitedText := sQuelle;
    // als DelimitedText steht jedes Wort in einer einzelnen Zeile;
    // jetzt wird jede Zeile einzeln verarbeitet
    for x1 := 0 to sListe.Count - 1
    do begin
      if sListe[x1] <> ''
      // die Konvertierung wird etwas umständlicher,
      // weil AnsiUpperCase mit strings arbeitet
      then sListe[x1] := AnsiUpperCase( Copy(sListe[x1],1,1)
                       + Copy(sListe[x1],2,Length(sListe[x1]);
    end;
    // geänderten Gesamtstring zurückgeben
    Result := sListe.DelimitedText;
  finally
    sListe.Free;
  end;
end;
Ohne Gewähr: Mit DelimitedText habe ich (s.o.) niemals gearbeitet.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat