[ errorie035 @ 13.12.2010. 22:43 ] @
Imam problem oko resavanja jednog dela zadatka iz knjige za 4. razred Gimnazije.U zadataku se izmedju ostalog trazi se da na prazno mesto izmedju reci koje su unete u edit box postavi _

[Ovu poruku je menjao errorie035 dana 14.12.2010. u 00:36 GMT+1]
[ Aleksandar Đokić @ 14.12.2010. 00:14 ] @
mnogo lako... bar sa delphi-jem,

Code:
var  s,s1,s2: string;
i: integer;
begin
s := edit1.text;
s1 := '';
s2 := '';
   for i := 1 to length(s) do
   begin
    if s[i] = ' ' then
    s1 := '_'
    else
    s1 := s[i];
  s2 := s2 + s1;
  end;
edit1.text := s2;
end;


i to mora da radi

[Ovu poruku je menjao guslac dana 14.12.2010. u 01:26 GMT+1]
[ reiser @ 14.12.2010. 02:43 ] @
Ili jos krace:

Code:

var
  s : String;
begin
  s := Edit1.Text;
  While Pos(' ', s) > 0 Do
    s[Pos(' ', s)] := '_';
  Edit1.Text := s;
end;
[ salaczr @ 14.12.2010. 07:51 ] @
Ili jos krace:

Code:


Edit1.Text := StringReplace(Edit1.Text, ' ' , '_', [rfReplaceAll]);



pozdrav
[ errorie035 @ 14.12.2010. 11:58 ] @
Hvala puno svima na informacijama.Verujem da je lako za vas iskusnije ali sam ja tek od skora poceo da se radim u delphi-u ,sem knjige nemam neku pomoc jer je moj profesor prilicno nezainteresovan da pomogne i objasni.Inace ja sam 3. godina informatickog smera ,a predmet programiranje mi je jako bitan za moje dalje skolovanje .Hvala jos jednom na pomoci.Pozdrav
[ savkic @ 14.12.2010. 13:31 ] @
> Hvala puno svima na informacijama.Verujem da je lako za vas iskusnije ali sam ja tek od skora poceo da se radim u delphi-u ,sem knjige nemam neku pomoc jer je moj
> profesor prilicno nezainteresovan da pomogne i objasni.Inace ja sam 3. godina informatickog smera ,a predmet programiranje mi je jako bitan za moje dalje skolovanje .

Dobrodošao u Delphi svet, svi smo mi nekad bili početnici tako da se nemoj ustručavati ako ti nešto nije jasno, pitaj. BTW moj savet za knjigu je edicija Delphi za 21 dan.
[ errorie035 @ 15.12.2010. 23:39 ] @
Imam jos problema vezanih za program,program treba ovako da radi:


Uploaded with ImageShack.us

imam 2 problema: 1. ako cekiram prvi i drugi checkbox ne izbacuje bbr_bkb_dbb_rb vec samo abr_aka_dab_ra a
Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
if checkbox1.Checked then
begin
Edit3.Text := StringReplace(Edit1.Text, 'a' , 'b', [rfReplaceAll]);
end;
if checkbox2.Checked then
begin
Edit3.Text := StringReplace(Edit1.Text, ' ' , '_', [rfReplaceAll]);
end;
end;
end.
2.Kako da odredim broj zamena kada su oba cekirana i kada je samo jedan cekiran? (probao sam sa nizovima ali bez uspeha)
[ savkic @ 16.12.2010. 03:22 ] @
> imam 2 problema: 1. ako cekiram prvi i drugi checkbox ne izbacuje bbr_bkb_dbb_rb vec samo abr_aka_dab_ra a
> Edit3.Text := StringReplace(Edit1.Text, ' ' , '_', [rfReplaceAll]);

Ovde uzimaš ponovo originalni tekst tako da se promene a -> b gube. Uvedi još jednu promenljivu, npr:

Code:

var
  Temp: string;
begin
  Temp := Edit1.Text;
  if PrviUslov then
    Temp := StringReplace...

  if DrugiUslov then
    Temp := StringReplace...

  Edit3.Text := Temp;
end;



> 2.Kako da odredim broj zamena kada su oba cekirana i kada je samo jedan cekiran? (probao sam sa nizovima ali bez uspeha)

Moraš izbrojati koliko puta se pojavljuje "a" i koliko puta " ", Delphi nema neku takvu gotovu funkciju pa moraš sam napisati ili koristiti third party rešenje recimo Jedi Code Library (JCL) i JclStrings unit.
[ salaczr @ 16.12.2010. 07:34 ] @
Mozda ovako:

Code:

  var
  Temp: string;
  i : integer;
begin
  Temp := Edit1.Text;
  
  for i := 1 to StrToInt(Edit_BrojPonavljanja.Text) do
    begin
       if PrviUslov then
         Temp := StringReplace(Edit1.Text, 'a' , 'b', []);  // izostavis rfReplaceAll

       if DrugiUslov then
         Temp := StringReplace(Edit1.Text, ' ' , '_', []);  // izostavis rfReplaceAll
    end; 
  Edit3.Text := Temp;
end;


Ukoliko izostavis ReplaceFlag u StringReplace funkciji odradice samo jednom, odnosno onoliko puta koliko se for petlja vrti.

pozdrav