Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: Edit-kentän eka kirjain isoksi

jjude [05.11.2011 16:01:00]

#

Niin, miten onnistuu Edit-kentän ekan kirjaimen muuttaminen isoksi
jos on pieni? Delphi7 käytössä...

Grez [05.11.2011 16:11:42]

#

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;

User137 [05.11.2011 19:40:03]

#

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;

Grez [05.11.2011 19:49:13]

#

Laittaa vielä SelLength talteen, niin myös valinnan pituus säilyy, jos siis valinta ylipäätään on tarpeellinen.

VJL [07.11.2011 08:53:09]

#

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!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta