Niin, miten onnistuu Edit-kentän ekan kirjaimen muuttaminen isoksi
jos on pieni? Delphi7 käytössä...
En ole koskaan käyttänyt Delphiä enkä koodannut Pascalilla 20 vuoteen, mutta jos kokeilisin:
Edit.Text[0] := UPCASE(Edit.Text[0]);
Tai jos tuota TEdit-kentän .Text-arvoa ei voi käyttää suoraan merkkijonona niin merkkijonomuuttuja text ja
text := Edit.Text; text[0] := UPCASE(text[0]); Edit.Text := text;
String-muuttujan eka merkki on paikassa [1].
Kokeilin huvikseen ja huomasin että jos sen merkin muuttaa niin kursori ei liiku eteenpäin. Samoiten virhettä tulis jos tekstikenttä on tyhjä. Tämmösiä korjauksia:
procedure TForm1.Edit1Change(Sender: TObject); var s: string; x: integer; begin x:=edit1.SelStart; s:=edit1.Text; if s<>'' then s[1]:=Upcase(s[1]); edit1.Text:=s; edit1.SelStart:=x; end;
Laittaa vielä SelLength talteen, niin myös valinnan pituus säilyy, jos siis valinta ylipäätään on tarpeellinen.
if(length(edit1.Text)>0)then edit1.Text:=copy(UpperCase(edit1.Text),1,1)+copy(edit1.Text,2,length(edit1.Text));
Mod. lisäsi kooditagit!
Aihe on jo aika vanha, joten et voi enää vastata siihen.