Fssad utworzono 15 czerwca 2007 utworzono 15 czerwca 2007 Witam. Mam problem z tym kodem . Wydaje mi ,że cos jest nie tak z or,ale nie mam pojęcia jak to naprawić. Proszę o pomoc procedure TForm2.Button1Click(Sender: TObject); var cnv : TCanvas; x , y , x2 , y2 : integer; begin x:= STrtoint(Edit1.text); y:= strtoint(edit2.text); x2:= strtoint(edit4.Text); y2:= strtoint (edit5.Text); cnv:=TCanvas.Create; repeat cnv.Handle:= GetDC(0); until cnv.Pixels[x,y]=RGB(193,0,3) or cnv.Pixels[x2,y2]=RGB(193,0,3) ; ShowMessage('Piksel o współrzędnych ('+IntToStr(x)+','+IntToStr(y)+') jest czerwony'); end;
neuro komentarz 16 czerwca 2007 komentarz 16 czerwca 2007 nie pamietam jak sie pisze strtoint() , ale na pewno wszystkie musza tak samo wygladac co do wielkosci liter. Cos mi wyglada, ze to sie zawiesza w nieskonczonosc .... Jak program reaguje ?
Evil komentarz 16 czerwca 2007 komentarz 16 czerwca 2007 nie pamietam jak sie pisze strtoint() , ale na pewno wszystkie musza tak samo wygladac co do wielkosci liter. :lol: A gdzie słyszałeś o takiej zasadzie?? :zez: Wszystkie polecenia w delphi możesz sobie pisać np TaK I NiC z PrOgRaMeM sie nie bedzie dziać until cnv.Pixels[x,y]=RGB(193,0,3) or cnv.Pixels[x2,y2]=RGB(193,0,3) ; Coś mi się zdaje, że w until nie może być or ale nie jestem pewny bo dawno nie bawilem sie tym...
neuro komentarz 16 czerwca 2007 komentarz 16 czerwca 2007 No dobra..... jestem ostatnio na etapie c# - a delphi jest juz lekko przestarzale ... moze tego OR trzeba w nawias wziasc ?
Fssad komentarz 16 czerwca 2007 Autor komentarz 16 czerwca 2007 Wielkość liter akurat nie ma znaczenia. Program dzialal dobrze dopóki nie dopisalem or i drugiego warunku po until;/ Teraz wogóle nie chce się uruchomić i wyskakuje bląd [Pascal Error] Unit1.pas(54): E2008 Incompatible types Być może "or" nie może być po "until" ,w takim razie czy ktos może mi powiedzieć jakiej innej pętli użyć żeby uzyskać ten sam efekt (tzn. program chodzi w nieskończoność dopóki warunek1 lub warunek2 nie zostanie spelniony) ?
grucha komentarz 20 czerwca 2007 komentarz 20 czerwca 2007 cnv.Pixels[x,y]=RGB(193,0,3) or cnv.Pixels[x2,y2]=RGB(193,0,3) ; (cnv.Pixels[x,y]=RGB(193,0,3)) or (cnv.Pixels[x2,y2]=RGB(193,0,3)); Po prostu trzeba wziąć każdy warunek w nawias :]
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.