Tedit lub TMaskEdit jak???

0

Treść:

Witam i sorry za takie banalne pytanie, mozliwe, ze juz to bylo poruszane, ale ja nie znalazlem tego na forum a szukalem 2 godziny !!!! i tak prawde mowiac nie za bardzo mam czas by tego szukac kilka godzin, wiec zdecydowalem sie walic prosto z mostu - POMOCY.

Potrzebuje zrobic taki efekt w kilkudziesieciu editach lub TMaskEditach, otoz chodzi o to , ze chcialbym ograniczyc ilosc znakow w zakresie od min 1 do max 10 i dodatkowo zrobic tak by pierwszy znak byl z duzej litery a pozostale zawsze z malej (pod warunkiem ze sa to litery a nie cyfry).

zrobilem to z TMaskEdit (maska : >a<aaaaaaaaa; 1 ; ) ale wtedy mam dopisane spacje do minimum 10 znakow, a to mi nie pasuje a do tego jeszcze uważam, ze chyba bez sensu w locie zmieniac Maske zwiekszajac 'A' za kazdym wpisaniem znaku. moze wiecie jak to ominac??

Jezeli chodzi o TEdit to juz nie wiem jak to zrobic, ale tam chociaz mam ustawiony max 10 i nie dodaje mi spacji na koncu jezeli ciag znakow jest krotszy (co oczywiscie dzialo sie w TMaskEdit z edytowana Maska)

Wiec na zakonczenie dodam, chce aby wpisywac ciag znakow min 1 do max 10, nie dodawalo mi spacji na koncu i aby wszyskie litery oprocz pierwszej byly zawsze male a pierwsza litera zawsze duza aby tego bylo malo to dodam, ze mozna wpisywac liczby a nie mozna spacji.

jak to zrobic z sensem??? pomozcie mi prosze.

pozdrawiam

Ultimion

0

Ustawiasz editom MaxLength na 10 i ustawiasz zdarzenie OnChange:

procedure TForm1.Edit1Change(Sender: TObject);
var
  S : String;
  Caret : Byte;
begin
  Caret := Edit1.SelStart;
  if Length((Sender as TEdit).Text) > 0 then
  begin
    S := (Sender as TEdit).Text;
    S := LowerCase(S);
    S[1] := UpperCase(S)[1];
    (Sender as TEdit).Text := S;
  end;
  Edit1.SelStart := Caret
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1