PDA

Prikaži potpunu verziju : Brojanje karaktera u Delphiju 7


HypeR
24.2.2013, 16:36
Dobar dan svima!

Nadam se da neko ovde ima u glavi ono sto bi meni bilo od koristi...
Trebalo bi da napravim program u koji bi se unele 2 recenice i da mi program izbaci koja ima vise karaktera od te dve u jedan Label.
Neka moja ideja je bila da izbroji karaktere u obe recenice i zatim da uporedi vrednosti i ispise, ali ne bih znao kako to da napisem u kodu... Probao sam sa stringovima i length opcijom, ali izgleda da sam je pogresno upotrebio.

Jel moze neko da predlozi kako da uradim ovo?

Hvala unapred!

voodoo_
24.2.2013, 16:55
Ako se Label zove npr. labelDuzina,


if s1.Length > s2.Length then
labelDuzina.Caption := IntToStr(s1.Length);
else
labelDuzina.Caption := IntToStr(s2.Length);

HypeR
24.2.2013, 17:02
Ako se Label zove npr. labelDuzina,


if s1.Length > s2.Length then
labelDuzina.Caption := IntToStr(s1.Length);
else
labelDuzina.Caption := IntToStr(s2.Length);

Ep! Hvala ti na brzom odgovoru, dok sam cekao, uradio sam nesto ovako:

var
s,t:string;
begin
s:=rec1.Text;
t:=rec2.Text;
s := IntToStr(Length(rec1.Text));
t := IntToStr(Length(rec2.Text));
begin
if s > t
then
Label3.Caption:='Prva recenica je duza.'
else
Label3.Caption:='Druga recenica je duza.'
end;
end;

E sad mi treba jos jedna stvar, ovo sad lepo broji po karakterima, ali kako da odradim da broji broj reci u recenici?

voodoo_
24.2.2013, 17:09
Ne valja ti kod. Prvo, broj karaktera je numerička vrednost, a ti si 's' i 't' deklarisao kao stringove, i onda porediš da li je s > t, što je pogrešno. Delphi nije skript jezik kao Perl ili PHP pa da će automatski prepoznati da stringove koji sadrže numeričke karaktere treba da poredi kao brojeve.
Dakle, 's' i 't' treba da budu Integeri, i onda

s := Length(rec1.Text);
t := Length(rec2.Text);

Drugo, broj reči brojiš tako što brojiš razmake i druge nealfabetske znake. Ovde imaš primer funkcije koja radi tako nešto:
http://www.swissdelphicenter.ch/torry/showcode.php?id=806

HypeR
24.2.2013, 17:21
Hvala ti, sad cu da probam! :)

Probao i potpuno se zapetljao u tom njegovom kodu koji je dao za brojanje. Kapiram sta hoce da uradi, ali nema li nesto krace, neki laksi kod?

voodoo_
24.2.2013, 17:36
Nema, a i nije poenta da ti adaptiraš tu funkciju, prosto je copy/pastuj u svoj kod, i onda je samo pozovi nad stringom, npr

if WordCount(rec1.text) > WordCount(rec2.text) itd

HypeR
24.2.2013, 17:48
CText iz njegovog primera bih trebao da zamenim mojim labelovima, odnosno textom, jel?

Izvini sto sam dosadan, ali sam poprilicno nov u ovome. :D

voodoo_
24.2.2013, 17:55
Funkcije Seps i WordCount bi trebalo da iskopiraš negde van metode za button click u kojoj pišeš to što pišeš, a onda ih pozivaš kao što sam naveo primer.

I ne uči se ovako nijedan programski jezik, moraš nabaviti neku knjigu pa redom i sistematično. Ovako ne znaš 'de biješ.