Ĺadny brzuch
Witam.
Czy jest może jakaś standartowa funkcja, która zmienaiła by wszystkie pierwsze litery w wyrazie na dużą a pozostałe na małe najlepiej w całym zadaniu.
Przykład : ala ma kota -> Ala Ma Kota :).
Standardowej raczej nie ma. Ale zrób tak - podzel zdanie na wyrazy (Cyrkiel wczoraj pisał jak), zmieniaj pierwszą literkę każdego wyrazu poprzez UpperCase a potem połącz ponownie w zdania.
No dobra zmierzyłem się z problemem i wydumaem coś takiego :D . Może się komuś to przyda.
function ChangeFirstOnBig(Value: String): String; var X: Integer; Upper: Boolean; const Sign = [' ', #9, #13, #10, '(', ')', '"', '-', '0'..'9', '+', '_', '-']; function DelSpac(Value: String): String; begin while Value[1] = ' ' do Delete(Value, 1, 1); Result:= Value; end; begin Value:= DelSpac(Value); Upper:= True; for X:= 1 to Length(Value) do begin if (Value[X] in Sign) then Result:= Result + Value[X] else begin if Upper then Result:= Result + AnsiUpperCase(Value[X]) else Result:= Result + AnsiLowerCase(Value[X]); end; Upper:= Value[X] in Sign; end; end;
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Czy jest może jakaś standartowa funkcja, która zmienaiła by wszystkie pierwsze litery w wyrazie na dużą a pozostałe na małe najlepiej w całym zadaniu.
Przykład : ala ma kota -> Ala Ma Kota :).
Standardowej raczej nie ma. Ale zrób tak - podzel zdanie na wyrazy (Cyrkiel wczoraj pisał jak), zmieniaj pierwszą literkę każdego wyrazu poprzez UpperCase a potem połącz ponownie w zdania.
No dobra zmierzyłem się z problemem i wydumaem coś takiego :D . Może się komuś to przyda.
function ChangeFirstOnBig(Value: String): String; var X: Integer; Upper: Boolean; const Sign = [' ', #9, #13, #10, '(', ')', '"', '-', '0'..'9', '+', '_', '-']; function DelSpac(Value: String): String; begin while Value[1] = ' ' do Delete(Value, 1, 1); Result:= Value; end; begin Value:= DelSpac(Value); Upper:= True; for X:= 1 to Length(Value) do begin if (Value[X] in Sign) then Result:= Result + Value[X] else begin if Upper then Result:= Result + AnsiUpperCase(Value[X]) else Result:= Result + AnsiLowerCase(Value[X]); end; Upper:= Value[X] in Sign; end; end;