Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

массив [D7]


Страницы:   1 2 3

b86 ©   (2007-12-08 13:33:00) 

привет. у меня у меня в программе сбой, ни как не могу его вычислить.
procedure vpravo;
begin
x:=(l div 50) ;
y:=(t div 50);
G[x,y]:=y*11+x+1;
reshytka; {в этой в процедуре  вручную задаётся массив А}
begin
 if x-1>=0 then  
            begin
for t:=1 to n do
              if g[x-1,y]<>А(t) then l:=l-50
              else l:=l;  
            end;
end;end;
в результате сравнение if g[x-1,y]<>А(t) игнорируется или g[x,y] задается какое-то астрономическое число.
помогите, буду очень признателен


{RASkov}   (2007-12-08 16:00:00) [41]

> [15] Riply ©   (08.12.07 15:42)

:)
Сегодня партизанский день....
Один - место нахождения полей ввода скрывает, другой массив маскирует...
....Или сегодня день тренировки телепаторов )


> [17] b86 ©   (08.12.07 15:45)
> весь исходник

не весь! ( Что есть G, od....
А читать, и тем более понять, этот кусок "кода" трудно....
Кстати.... если приведешь код в порядок, то наверняка и сам ошибку найдешь.... поверь мне :)

> [19] Anatoly Podgoretsky ©   (08.12.07 15:55)

Это своеобразное "шифрование" исходного кода :)


Anatoly Podgoretsky   (2007-12-08 15:55:00) [42]

Опять это странное l:=l


turbouser   (2007-12-08 15:49:00) [43]


> end; erd;end;

Я аж испугался за свое зрение 8-()


b86   (2007-12-08 15:45:00) [44]

весь исходник

var  t,w,k,x,y,l,:integer;

procedure TForm1.Image4Click(Sender: TObject);
begin
naverh;
end;

procedure TForm1.Image5Click(Sender: TObject);
begin
vniz;
end;

procedure TForm1.Image10Click(Sender: TObject);
begin
vlevo;
end;

procedure TForm1.Image11Click(Sender: TObject);
begin
vpravo;
end;

procedure schet;
begin
dre;
x:=(l div 50) ;
y:=(t div 50);
G[x,y]:=y*11+x+1;
end;

procedure TForm1.form1(Sender: TObject);
begin
reshytka;
end;

procedure dre;
begin
l:=form1.Image2.Left;
t:=form1.Image2.Top;
end;

procedure erd;
begin
form1.Image2.Left:=l;
form1.Image2.Top:=t;
end;

procedure TForm1.Image2Click(Sender: TObject);
begin
schet;
label3.Caption:=inttostr(g[x,y]);
end;

procedure reshytka;
begin
a[1]:=12; a[2]:=13; a[3]:=15; a[4]:=16; a[5]:=17;
a[6]:=96; a[7]:=107; a[8]:=109; a[9]:=110; a[10]:=93;
a[11]:=18; a[12]:=20; a[13]:=21; a[14]:=35; a[5]:=37;
a[16]:=38; a[17]:=39; a[18]:=46; a[19]:=52; a[20]:=53;
a[21]:=54; a[22]:=55; a[23]:=57; a[24]:=68; a[25]:=74;
a[26]:=85; a[27]:=90; a[28]:=91; a[29]:=92;
end;

procedure vlevo;
begin
schet;
k:=y;
if od<>0 then
begin
 if x+1<=10 then
l:=l+50;
end; erd;end;

procedure vpravo;
begin
schet;
reshytka;
k:=y;
if od<>0 then
begin
 if x-1>=0 then // если поле не кончается, то
            begin
for w:=1 to 29 do
              if g[x-1,y]=a[w] then l:=l
              else l:=l-50;
               form1.Label1.Caption:=inttostr(g[x,y]);
            end;
end;erd;end;

procedure naverh;
begin
schet;
w:=x;
if od<>0 then
begin
 if y-1>=0 then
t:=t-50;
end;erd;end;

procedure vniz;
begin
schet;
w:=x;
if od<>0 then
begin
 if y+1<=10 then
t:=t+50;
end;erd;end;

procedure TForm1.Button2Click(Sender: TObject);
begin
label1.caption:=inttostr(image2.Left);
end;

end.


Dib@zol   (2007-12-08 15:42:00) [45]

Епт, да выложи ты наконец этот исходник!


Riply   (2007-12-08 15:42:00) [46]

Читаю ветку как военную хронику "допрос партизана" :)


b86   (2007-12-08 15:40:00) [47]

в исходники нормальные скобки


{RASkov}   (2007-12-08 15:37:00) [48]

> [11] b86 ©   (08.12.07 15:30)

Ты так и не хочешь скобочки подправить? Или ты "скопипастил" сюда код из редактора?
Тогда

> g и a - массивы

врешь - "а" не массив!


Германн   (2007-12-08 15:36:00) [49]


> b86 ©   (08.12.07 15:30) [11]
>
> g и a - массивы
>

"Я ж тебе не спрашиваю, шо голова болит.
Я же тебе спрашиваю што ж ты будешь пить?"

Какого типа переменные g и A?


b86   (2007-12-08 15:30:00) [50]

g и a - массивы


b86   (2007-12-08 15:29:00) [51]

я проверил код отладчиком, получаеться он каждый раз g[x-1,y]<>А(w) присваивает l:=l-50 и в результате получает -1150, ну или что-то типо того.
Как сделать чтоб, он только при нужном значение А(w) присваивал?


Anatoly Podgoretsky   (2007-12-08 15:28:00) [52]


> Какого типа переменные g и A?

А где тут переменная A?


{RASkov}   (2007-12-08 15:20:00) [53]

> [5] b86 ©   (08.12.07 15:10)
> число на которое должно было выдать вариант else

А в чем глубокий смысл вот этого:

> else l:=l;  

?
:)


Германн   (2007-12-08 15:16:00) [54]


> b86 ©   (08.12.07 15:10) [5]
>
> я попробовал подставлять в
> for w:=1 to 29 do
>              if g[x-1,y]<>А(w) then l:=l-50
>              else l:=l;  
>            end;
> число на которое должно было выдать вариант else, a он всё
> равно выдаёт then.
>

Какого типа переменные g и A?


Dib@zol   (2007-12-08 15:12:00) [55]

Выкладывай весь код. По тем обрывкам, что ты приводишь, разобраться нереально.


b86   (2007-12-08 15:10:00) [56]

я попробовал подставлять в
for w:=1 to 29 do
             if g[x-1,y]<>А(w) then l:=l-50
             else l:=l;  
           end;
число на которое должно было выдать вариант else, a он всё равно выдаёт then.


Юрий Зотов   (2007-12-08 14:32:00) [57]

> b86 ©   (08.12.07 13:33)

Что мешает пройти код отладчиком и проверить значения переменных?


b86   (2007-12-08 14:31:00) [58]

Смысл такой, меня надо передвигать картинку по полю. для этого я с помощью массива поле разбиваю на квадраты
и каждому квадрату задаю свой номер
x:=(l div 50) ;
y:=(t div 50);
G[x,y]:=y*11+x+1; //здесь l и t image.left и image.top соответственно
получается G[x,y] так клетка на которой находиться рисунок.
reshytka; - процедура, где в ручную вбиваеться 29 элементов матрицы А. это те квадраты куда, картинка попадать не должна
при копирование накосячил, там цикл не для t, а для w.
for w:=1 to n do
              if g[x-1,y]<>А(w) then l:=l-50 //так должно выглядеть
теперь суть вопроса ясна?


Dib@zol   (2007-12-08 13:45:00) [59]

ЗЫ Первая проблема в том, что чорт его знает какое у тебя в N лежит число. Если оно равно 0, то цикл ессно не работает.


Dib@zol   (2007-12-08 13:44:00) [60]

Телепаты все в Астрале, вернутся не скоро.
Поэтому объясняй, ЧТО делает твоя прога, и КАК она это делает. В частности, нафик нужны все эти переменные. Про каждую из них. И где тут вообще массив "А"? Я вижу только вызов функции А с параметром t.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо