Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.14;
Скачать: CL | DM;

Вниз

кнопочка)   Найти похожие ветки 

 
Loona   (2006-12-24 22:14) [0]

Подскажите пожалуйста, как мне сделать так чтобы при каждом нажатии кнопки какое-то число увеличивалось, т.е. нажали один раз сравнивается с 0 второй раз с 2 и тд....
Заранее спасибо...


 
Kolan ©   (2006-12-24 22:19) [1]

«Подскажите пожалуйста, как мне сделать так чтобы при каждом
нажатии кнопки какое-то число увеличивалось»


var
 КакоеТоЧисло: Integer;

procedure TForm3.BitBtn1Click(Sender: TObject);
begin
 КакоеТоЧисло := КакоеТоЧисло + 1;
end;



«т.е. нажали один раз сравнивается с 0 второй раз с 2 и тд&#133»

Это я не понял&#133


 
Anatoly Podgoretsky ©   (2006-12-24 22:20) [2]

> Kolan  (24.12.2006 22:19:01)  [1]

А это значит, что не + 1, в + 2


 
Loona   (2006-12-24 22:22) [3]

Это опечатка))) Имела в виду что сначала переменная сравнивается с 0, потом при повторном нажатии кнопки с 1 , потом с 2 и тд))


 
Kolan ©   (2006-12-24 22:24) [4]

«А это значит, что не + 1, в + 2»

Хех :)

«Это опечатка)))»

Ну тогда см [1]


 
Loona   (2006-12-24 22:26) [5]


>
> var
>  КакоеТоЧисло: Integer;
>
> procedure TForm3.BitBtn1Click(Sender: TObject);
> begin
>  КакоеТоЧисло := КакоеТоЧисло + 1;
> end;


У меня вот такой текст
for j:=1 to maxy do begin
    pix:=ImgObj.ScanLine[j-1];
    for i:=1 to maxx do begin
     color:=round($FF*CMatrix[i,j]);
     if color<N then begin
       pix^:=0; inc(pix);
       pix^:=0; inc(pix);
       pix^:=255; inc(pix);
     end else begin
     if color>$FF then colorx:=$FF else colorx:=color;
     pix^:=colorx; inc(pix);
     pix^:=colorx; inc(pix);
     pix^:=colorx; inc(pix);
   end; end; end;
   Image1.Canvas.CopyRect(rect(0,0,maxx,maxy),ImgObj.Canvas,rect(0,0,maxx,maxy));
   end;


где при нажатии кнопки, постепенно изображение заполняется красным цветом)) вот, только не получается один раз нажимаю все нормально, а второй раз ничего не происходит, хотя я и писала N=N+1 :(((
Подскажите что не так )


 
Kolan ©   (2006-12-24 22:28) [6]

&laquo;N=N+1&raquo;

А что это такое?

А где объявлены переменные?


 
Loona ©   (2006-12-24 22:30) [7]

в начале юнита


 
Loona ©   (2006-12-24 22:30) [8]

а локальные в начале процедуры...


 
Loona ©   (2006-12-24 22:33) [9]

procedure TForm1.Button6Click(Sender: TObject);
    var
    i,j, color:integer;
    pix: pbyte;
    colorx:byte;
  begin
     N:=0;
    for j:=1 to maxy do begin
    pix:=ImgObj.ScanLine[j-1];
    for i:=1 to maxx do begin
     color:=round($FF*CMatrix[i,j]);
     if color<N then begin
       pix^:=0; inc(pix);
       pix^:=0; inc(pix);
       pix^:=255; inc(pix);
     end else begin
     if color>$FF then colorx:=$FF else colorx:=color;
     pix^:=colorx; inc(pix);
     pix^:=colorx; inc(pix);
     pix^:=colorx; inc(pix);
   end; end; end; N:= N+1;
   Image1.Canvas.CopyRect(rect(0,0,maxx,maxy),ImgObj.Canvas,rect(0,0,maxx,maxy));
   end;

end.


вот совсем с начала процедуры, ещё мне что-то про глобальные переменные говорили, это не то случайно????


 
Kolan ©   (2006-12-24 22:39) [10]

&laquo;N=N+1&raquo;

А что должно от этого изменится?
И как объявленя N? Где?


 
Loona ©   (2006-12-24 22:47) [11]

N: integer ; в начале проги в самом начале....
Мне нужно чтобы с нажатием этой кнопоски менялось значение N, с каждым нажатием.... а как это сделать я не знаю..., и не знаю правильно ли я все написала и где точно нужно объявить N :((((


 
Loona ©   (2006-12-24 23:02) [12]

помогите............


 
Kostafey ©   (2006-12-24 23:26) [13]

Гм. Если задача сводится к тому чтобы увеличить значение N при каждом нажатии, то ее объявление должно оставаться в начале модуля.
А запись N:=0; в начале процедуры нужно убрать.
Или я опять самогон с одеколоном перепутал ?


 
Virgo_Style ©   (2006-12-24 23:43) [14]

А я бы, вероятно, N в тэг записал, или в поля TForm1.
Но это второстепенное, а в главном, скорее всего, прав
Kostafey ©   (24.12.06 23:26) [13] .


 
Loginov Dmitry ©   (2006-12-25 00:05) [15]

> for j:=1 to maxy do begin
>    pix:=ImgObj.ScanLine[j-1];
>    for i:=1 to maxx do begin
>     color:=round($FF*CMatrix[i,j]);
>     if color<N then begin
>       pix^:=0; inc(pix);
>       pix^:=0; inc(pix);
>       pix^:=255; inc(pix);
>     end else begin
>     if color>$FF then colorx:=$FF else colorx:=color;
>     pix^:=colorx; inc(pix);
>     pix^:=colorx; inc(pix);
>     pix^:=colorx; inc(pix);
>   end; end; end;
>   Image1.Canvas.CopyRect(rect(0,0,maxx,maxy),ImgObj.Canvas,
> rect(0,0,maxx,maxy));
>   end;


Дас из фантастишь!


 
Loona ©   (2006-12-25 00:57) [16]

Я если честно так и не поняла в чем дело!!!
Где в итоге нужно N прописывать?? и почему ее 0 не надо приравнивать???

А N=N+1 писать там где и у меня??? просто у меня почему то при втором нажатии ничего не меняется....ууаааа :((


 
Германн ©   (2006-12-25 01:02) [17]


> Loona ©   (25.12.06 00:57) [16]
>
> Я если честно так и не поняла в чем дело!!!
> Где в итоге нужно N прописывать?? и почему ее 0 не надо
> приравнивать???
>
> А N=N+1 писать там где и у меня??? просто у меня почему
> то при втором нажатии ничего не меняется....ууаааа :((

Кажный раз при нажатии кнопочки ты "забываешь" всё, приравнивая N к нулю.


 
Плохиш ©   (2006-12-25 01:03) [18]


> Loona ©   (25.12.06 00:57) [16]
> Я если честно так и не поняла в чем дело!!!
> Где в итоге нужно N прописывать?? и почему ее 0 не надо
> приравнивать???

0 N надо присваивать ОДИН раз в, например, в Form1Create.

> ууаааа

Это чё за фигня. Вам, девушка, пора логическое мЫшление вклЮчить, а то дальше кухни не уедете.


 
Loona ©   (2006-12-25 01:07) [19]


> Это чё за фигня. Вам, девушка, пора логическое мЫшление
> вклЮчить, а то дальше кухни не уедете.

эт так, крик души :) уж нельзя и поплакаться.

ВСЕМ СПАСИБО!!! буду пробывать =)


 
Kostafey ©   (2006-12-25 01:10) [20]

> Где в итоге нужно N прописывать??

Можно оставить в начале модуля, но это будет не совсем корректно с точки зрения стиля программирования, красоты кода, будет говорить об уровне профессионализма не в лучшую сторону, снизит читаемсть кода, будет являться посыкой к нарушению принципа модульности программы, etc...
> [14] Virgo_Style ©   (24.12.06 23:43)
Короче, осавь ее там где она есть.


> почему ее 0 не надо приравнивать???

Но ведь тебе нужно, чтобы при следующем вызове значение N увеличивалось так? Так вот, присваивая 0 этого никогда не произойдет.


 
Loona ©   (2006-12-25 01:10) [21]

У МЕНЯ ВСЕ ЗАРАБОТАЛО!!!!!! ЕЩЕ РАЗ ОГРОМНОЕ СПАСИБО!!!!!


 
inkvizitor ©   (2006-12-25 09:22) [22]


> Дас из фантастишь!

я я зе гуд.данке шо.

> Loona ©   (25.12.06 01:10) [21]

покаж, заценим unreal program?



Страницы: 1 вся ветка

Текущий архив: 2007.01.14;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.028 c
2-1166891136
AlexanderMS
2006-12-23 19:25
2007.01.14
Почему принтер не печатает, хотя...


15-1166810031
ProgRAMmer Dimonych
2006-12-22 20:53
2007.01.14
Помогите из DWORD а получить Single


4-1156830194
vodvorezlaya
2006-08-29 09:43
2007.01.14
Как запустить программу от имени Администратора


15-1166961931
Ксардас
2006-12-24 15:05
2007.01.14
Есть ли теорема, подобная теореме Виета для корней кв. уравнения,


2-1166909920
Dark Evil
2006-12-24 00:38
2007.01.14
ID3Tag v2