![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
кнопочка) [D7, XP]
Loona © (2006-12-24 22:14:00)Подскажите пожалуйста, как мне сделать так чтобы при каждом нажатии кнопки какое-то число увеличивалось, т.е. нажали один раз сравнивается с 0 второй раз с 2 и тд....
Заранее спасибо...
inkvizitor (2006-12-25 09:22:00) [1]
> Дас из фантастишь!
я я зе гуд.данке шо.
> Loona © (25.12.06 01:10) [21]
покаж, заценим unreal program?
Loona (2006-12-25 01:10:00) [2]У МЕНЯ ВСЕ ЗАРАБОТАЛО!!!!!! ЕЩЕ РАЗ ОГРОМНОЕ СПАСИБО!!!!!
Kostafey (2006-12-25 01:10:00) [3]> Где в итоге нужно N прописывать??
Можно оставить в начале модуля, но это будет не совсем корректно с точки зрения стиля программирования, красоты кода, будет говорить об уровне профессионализма не в лучшую сторону, снизит читаемсть кода, будет являться посыкой к нарушению принципа модульности программы, etc...
> [14] Virgo_Style © (24.12.06 23:43)
Короче, осавь ее там где она есть.
> почему ее 0 не надо приравнивать???
Но ведь тебе нужно, чтобы при следующем вызове значение N увеличивалось так? Так вот, присваивая 0 этого никогда не произойдет.
Loona (2006-12-25 01:07:00) [4]
> Это чё за фигня. Вам, девушка, пора логическое мЫшление
> вклЮчить, а то дальше кухни не уедете.
эт так, крик души :) уж нельзя и поплакаться.
ВСЕМ СПАСИБО!!! буду пробывать =)
Плохиш (2006-12-25 01:03:00) [5]
> Loona © (25.12.06 00:57) [16]
> Я если честно так и не поняла в чем дело!!!
> Где в итоге нужно N прописывать?? и почему ее 0 не надо
> приравнивать???
0 N надо присваивать ОДИНраз в, например, в Form1Create.
> ууаааа
Это чё за фигня. Вам, девушка, пора логическое мЫшление вклЮчить, а то дальше кухни не уедете.
Германн (2006-12-25 01:02:00) [6]
> Loona © (25.12.06 00:57) [16]
>
> Я если честно так и не поняла в чем дело!!!
> Где в итоге нужно N прописывать?? и почему ее 0 не надо
> приравнивать???
>
> А N=N+1 писать там где и у меня??? просто у меня почему
> то при втором нажатии ничего не меняется....ууаааа :((
Кажный раз при нажатии кнопочки ты "забываешь" всё, приравнивая N к нулю.
Loona (2006-12-25 00:57:00) [7]Я если честно так и не поняла в чем дело!!!
Где в итоге нужно N прописывать?? и почему ее 0 не надо приравнивать???
А N=N+1 писать там где и у меня??? просто у меня почему то при втором нажатии ничего не меняется....ууаааа :((
Loginov Dmitry (2006-12-25 00:05:00) [8]
> 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;
Дас из фантастишь!
Virgo_Style (2006-12-24 23:43:00) [9]А я бы, вероятно, N в тэг записал, или в поля TForm1.
Но это второстепенное, а в главном, скорее всего, прав
Kostafey © (24.12.06 23:26) [13].
Kostafey (2006-12-24 23:26:00) [10]Гм. Если задача сводится к тому чтобы увеличить значение N при каждом нажатии, то ее объявление должно оставаться в начале модуля.
А запись N:=0; в начале процедуры нужно убрать.
Или я опять самогон с одеколоном перепутал ?
Loona (2006-12-24 23:02:00) [11]помогите............
Loona (2006-12-24 22:47:00) [12]N: integer ; в начале проги в самом начале....
Мне нужно чтобы с нажатием этой кнопоски менялось значение N, с каждым нажатием.... а как это сделать я не знаю..., и не знаю правильно ли я все написала и где точно нужно объявить N :((((
Kolan (2006-12-24 22:39:00) [13]«N=N+1»
А что должно от этого изменится?
И как объявленя N? Где?
Loona (2006-12-24 22:33:00) [14]
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.
вот совсем с начала процедуры, ещё мне что-то про глобальные переменные говорили, это не то случайно????
Loona (2006-12-24 22:30:00) [15]а локальные в начале процедуры...
Loona (2006-12-24 22:30:00) [16]в начале юнита
Kolan (2006-12-24 22:28:00) [17]«N=N+1»
А что это такое?
А где объявлены переменные?
Loona (2006-12-24 22:26:00) [18]
>
> 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:24:00) [19]«А это значит, что не + 1, в + 2»
Хех :)
«Это опечатка)))»
Ну тогда см [1]
Loona (2006-12-24 22:22:00) [20]Это опечатка))) Имела в виду что сначала переменная сравнивается с 0, потом при повторном нажатии кнопки с 1 , потом с 2 и тд))