Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi groß/kleinschreibung (https://www.delphipraxis.net/63994-gross-kleinschreibung.html)

TeronG 17. Mai 2006 16:25

Re: groß/kleinschreibung
 
Zitat:

Zitat von himitsu
Und wegen der "linken Seite" ... geh nochmal in meinen Post da oben (hatte einiges durch Result ersetzt :zwinker: und gerade noch ein (i <= Length(Result) and eingefügt :stupid: )

schon gesehen ^^ (und ge-edited)

UpperCase(const S: string): string; mag er nich .. aber UpCase( ch : Char ) : Char; mag er ^^

und gegen
Delphi-Quellcode:
While (i <= Length(Result) and not (Result[i] in [' ', '-', ',']) do Inc(i);
hat er das:
[Fehler] Unit1.pas(37): Operator ist auf diesen Operandentyp nicht anwendbar :gruebel:

EDIT: ahh da fehlt ne klammer zu!
Delphi-Quellcode:
While (i <= Length(Result)) and not (Result[i] in [' ', '-', ',']) do Inc(i);

danku 21. Mai 2006 16:20

Re: groß/kleinschreibung
 
Zitat:

Zitat von himitsu
Außerdem muß ein Name ja nicht unbedingt per " " getrennt sein ... Doppelnamen werden oft per "-" getrennt und wenn man zuerst den Nachnamen angibt, mach man im Allgemeinen ein "," rein.
Delphi-Quellcode:
Function CreateCorrectName(Const MyName: String): String;
  Var i: Integer;

  Begin
    Result := AnsiLowerCase(Trim(MyName));
    i := 1;
    While i <= Length(Result) do Begin
      Result[i] := UpperCase(Result[i]);
      While (i <= Length(Result) and not (Result[i] in [' ', '-', ',']) do Inc(i);
      Inc(i);
    End;
  End;
In dem Code wird zwar bei mehreren aufeinanderfolgenden " ", "-" und/oder "," zwar unnötig versucht eines der Zeichen Großzuschreiben, aber dat is ja eigentlich egal ... jedenfalls wäre 'ne Abfrage um das zu verhindern nicht sehr viel Performanceeinbringender ^^


ich hab die fehler geändert aber trotzdem geht das noch nicht?

aufgerufen mit:

for i:= 0 to sgfiles.RowCount-1 do begin
CreateCorrectName(sgfiles.cells[0,i]);

Hawkeye219 21. Mai 2006 17:05

Re: groß/kleinschreibung
 
Hallo danku,

himitsu stellt dir eine Funktion zur Verfügung, keine Prozedur :wink:

Delphi-Quellcode:
sgfiles.cells[0,i] := CreateCorrectName(sgfiles.cells[0,i]);
Gruß Hawkeye

himitsu 21. Mai 2006 17:29

Re: groß/kleinschreibung
 
Stimmt ... StringGrid.Cells ist ein Property (ist doch eines?) und da gibt's entweder Setter-, oder Getter-Methoden, man kann also den Wert entweder nur auslesen, oder setzen ... also nicht gleichzeitig, somit ist es nicht möglich dieses als eine Variable zu übergeben.

Lösung: siehe Vorredner ^^
Delphi-Quellcode:
SetterMethode := CreateCorrectName(GetterMethode);

// GetterMethode > get - Wert auslesen
// SetterMethode > set - Wert setzen/ändern

danku 21. Mai 2006 17:30

Re: groß/kleinschreibung
 
wie kann ich das noch erweitern wenn z.b. folgender fall vorliegt:

test+test2 -> wird nach dem obengenannten prinzip so formatiert: Test+test2

Ziel:

test+test2 -> Test + Test2

danku 22. Mai 2006 18:59

Re: groß/kleinschreibung
 
hat einer eine ahnung?

himitsu 22. Mai 2006 19:53

Re: groß/kleinschreibung
 
einfach nach dem Plus suchen und dann jeweils das Zeichen davor und dahinter prüfen, ob's ein Leerzeichen ist und wenn nicht, dann einfach eines einfügen

Was man z.B. z.B. machen kann:
Delphi-Quellcode:
i := Pos('+', S);
If i <> 0 Then Begin
  If (i > 1) and (S[i - 1] <> ' ') Then Insert(' ', S, i);
  If (i < Length(S)) and (S[i + 1] <> ' ') Then Insert(' ', S, i + 1);
End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz