Poslao: 15 Maj 2007 09:38
|
offline
- LittleHacker
- Ugledni građanin
- 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.
|
|
Poslao: 15 Maj 2007 09:49
|
offline
- Strog
- 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 ...
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 .
|
|
|
|
Poslao: 15 Maj 2007 10:19
|
offline
- LittleHacker
- Ugledni građanin
- 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....
|
|
|
|
Poslao: 15 Maj 2007 10:32
|
offline
- Srki_82
- Moderator foruma
- 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?
|
|
|
|
Poslao: 15 Maj 2007 11:38
|
offline
- LittleHacker
- Ugledni građanin
- 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
|
|
|
|