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????
procedure TForm1.Button1Click(Sender: TObject); var x,y,k : integer; begin y := StrToInt(Edit1.text); x := 0; k := 0; while x <> y do begin Inc(x,1);      while k <> x do begin      Memo1.lines.strings[x] := Memo1.Lines.Strings[x] + '*';      Inc(k,1);      end; end; 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:
procedure TForm1.Button1Click(Sender: TObject); var i, j, y : integer;     Str: String; begin   Memo1.Lines.Clear;   y := StrToInt(Edit1.text);   for i:= 0 to y-1 do   begin     Str:= '';     for j:= 0 to i do     begin       Str:= Str+'*';     end;     Memo1.Lines.Add(Str);   end; 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 Razlog: Resen problem  
Ko je trenutno na forumu
 

Ukupno su 739 korisnika na forumu :: 13 registrovanih, 1 sakriven i 725 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: Battlehammer, bojank, darios, ILGromovnik, Kenanjoz, Mixelotti, nemkea71, Nikolaa11, nuke92, S1Mk3, saputnik plavetnila, slonic_tonic, VladaKG1980