Sta sam pogresio

2

Sta sam pogresio

offline
  • Pridružio: 13 Apr 2007
  • Poruke: 452
  • Gde živiš: Beograd

Ok Beli...Upravu si...Juce sam ceo dan pokusavao, ali uvek je najteze sebi naci gresku pa sam verovatno zbog toga i rekao da je ovo bug...

Strog sad vidim da si upravu...HVALA

Dopuna: 15 Maj 2007 9:18

Opet nece da uveca x i k
kada ukljucim debugger ispod ove procedure, x i k su i dalje 0 zasto????

  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var x,y,k : integer;
  3. begin
  4. y := StrToInt(Edit1.text);
  5. x := 0;
  6. k := 0;
  7. while x <> y do begin
  8. Inc(x,1);
  9.      while k <> x do begin
  10.      Memo1.lines.strings[x] := Memo1.Lines.Strings[x] + '*';
  11.      Inc(k,1);
  12.      end;
  13. end;
  14. end;


Evo prekopirao sam kod pa da vidite....
Takodje sam probao i sa repeat petljom....
Sa For hoce da radi, ali izvrsi petlju samo jednom....

Cini mi se da krene da izvrsava prvu petlju i onda udje u drugu, nju zavrsi, i nemze da se vrati na prvu nego prodje dalje i onda se x vraca na 0 i sve ispocetka....

Dopuna: 15 Maj 2007 9:37

Posto GoTo netreba koristiti, nisam nikad koristio, a da li neko zna kako da namestim (kako se GoTo korisiti, koji kod) da mi se posle druge petlje vrati na prvu???

Dopuna: 15 Maj 2007 9:38

U ovom D2005 nemogu da se snadjem u helpu....



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Kada koristis Inc i hoces da uvecas za 1 ne trebas da dajes ovo ", 1" posto Inc po defaultu uvecava za 1... To dodajes ako ti treba korak uvecanja > 1. ( ni ovo tvoje nije greska, ali samo da znas da nema potrebe da pises tako )

Opet zaboravljas na onaj famozni F5, tj. brakepoint pa "rucni" ulazak u petlju i posmatranje promenljivih! Da si to uradio sve bi ti bilo jasno...

Nisi k anulirao na pocetku svake druge while petlje i on ti je ovek bio za 1 manji od x-a pa je zato i stavljana samo 1 zvezdica...

Uostalom zasto toliko komplikujes i samog sebe upetljavas kad ti je ovo puno jednostavnije:

  1. procedure TForm1.Button1Click(Sender: TObject);
  2. var i, j, y : integer;
  3.     Str: String;
  4. begin
  5.   Memo1.Lines.Clear;
  6.   y := StrToInt(Edit1.text);
  7.  
  8.   for i:= 0 to y-1 do
  9.   begin
  10.  
  11.     Str:= '';
  12.     for j:= 0 to i do
  13.     begin
  14.       Str:= Str+'*';
  15.     end;
  16.  
  17.     Memo1.Lines.Add(Str);
  18.   end;
  19.  
  20. end;


Brzo, jednostavno, lako i puno manje podlozno upetljavanju Smile...

Dopuna: 15 Maj 2007 9:49

Goto, NIKADA, ali NIKADA ne koristi ( pretpostavljam da ce ti ovo reci bilo koji iole ozbiljan Delphi/Lazarus/Pascal programer )! Goto se moze vrlo lako izbeci obicnim petljama, a on sam neverovatno mnogo komplikuje snalazenje u kodu. Naravno u ovako malom kodu koji tebi treba neces imati problema, ali ako nekada budes imao par hiljada linija koda i nekoliko goto naredbi bice ti bolje da se ubijes nego da debudujes taj program Smile.



offline
  • Pridružio: 13 Apr 2007
  • Poruke: 452
  • Gde živiš: Beograd

Vec su mi rekli za GoTo,
a za debugger radio sam bas to, i neznam sta nisam video....

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Ako ne znas sta nisi video, ti nam onda reci sta si video kad si koristio debugger?

offline
  • Pridružio: 13 Apr 2007
  • Poruke: 452
  • Gde živiš: Beograd

Video sam da su mi x i k na nuli....ali evo Strog je lepo objasnijo pa sam po tome uradio i sad radi ....HVALA

15 Maj 2007 13:01 Strog Zaključavanje topica  
Ko je trenutno na forumu
 

Ukupno su 887 korisnika na forumu :: 12 registrovanih, 0 sakrivenih i 875 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: deLacy, kaskadija, Mrav Obrad, Otto Grunf, PrincipL, RED4G-304, rikirubio, sap, sekretar, vladetije, zlaya011, Đole64