Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.06.2018, 19:55   #1
voolf
 
Регистрация: 10.06.2018
Сообщений: 4
По умолчанию условия

скажите какая здесь ошибка

Код:
procedure TForm2.Button1Click(Sender: TObject);
var
i,w,p,a,n:integer;
s,pp:string;
begin
if Edit1.Text ='3' then begin

Form5.StringGrid1.Cells[2,1]:='5';
for i:=0 to n do
if Form5.StringGrid1.Cells[2,i]= '' then
 begin

  Form5.StringGrid1.Cells[1,i]:=Edit1.Text;
  Form5.StringGrid1.Cells[2,i]:=Edit2.Text;
  Form5.StringGrid1.Cells[3,i]:=Edit3.Text;
  Form5.StringGrid1.Cells[4,i]:=Edit4.Text;

    Edit1.Clear;
      Edit2.Clear;
        Edit3.Clear;
          Edit4.Clear;


 if Edit1.Text ='1' then begin
n:=4;
Form4.StringGrid1.Cells[2,1]:='5';
for w:=0 to n do
if Form4.StringGrid1.Cells[2,i]= '' then
 begin

  Form4.StringGrid1.Cells[1,i]:=Edit1.Text;
  Form4.StringGrid1.Cells[2,i]:=Edit2.Text;
  Form4.StringGrid1.Cells[3,i]:=Edit3.Text;
  Form4.StringGrid1.Cells[4,i]:=Edit4.Text;

    Edit1.Clear;
      Edit2.Clear;
        Edit3.Clear;
          Edit4.Clear;




  end;
  end;

  end;

  end;
  end;
программа зависает



_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 14.06.2018 в 20:59.
voolf вне форума Ответить с цитированием
Старый 14.06.2018, 21:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

кто же Вас так код форматировать учил?!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2018, 21:02   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от voolf Посмотреть сообщение
for i:=0 to n do
здесь n не задано. может быть миллионы...
поставьте вначале
Код:
n:=XXX;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.06.2018, 07:39   #4
D1973
Пользователь
 
Регистрация: 04.04.2018
Сообщений: 28
По умолчанию

Здорово, правда?
Цитата:
Сообщение от voolf Посмотреть сообщение
for w:=0 to n do
if Form4.StringGrid1.Cells[2,i]= '' then
А чему, в данном случае, равно i??? А i, в данном случае равно значению переменной-счетчика из предыдущего цикла, как раз того, в котором n не определено, т.к. с begin-end, похоже жестко напутано... Да и с таким понятием, как процедура, Вы тоже не знакомы???

Последний раз редактировалось D1973; 15.06.2018 в 08:10.
D1973 вне форума Ответить с цитированием
Старый 17.06.2018, 01:59   #5
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от voolf Посмотреть сообщение
скажите какая здесь ошибка
Тут весь код - ошибка. Поскольку в нём кроме ляпов присутствует ещё и бред.
А именно проверка
Цитата:
Сообщение от voolf Посмотреть сообщение
if Edit1.Text ='1' then
после
Цитата:
Сообщение от voolf Посмотреть сообщение
Edit1.Clear;
northener вне форума Ответить с цитированием
Старый 17.06.2018, 09:21   #6
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Это паранойя: проверка - а вдруг не очистилось ?
А к форматированию что за претензии - 6 end'ов в рядок, как раз отделение солдат из Строевого устава.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
vb условия muham33 Помощь студентам 17 15.01.2013 23:42
Условия if..else (c++) Inst Помощь студентам 2 13.05.2012 11:10
2 условия Andrey770 Microsoft Office Excel 2 25.02.2012 00:13
условия дружков Microsoft Office Excel 4 06.01.2012 14:34
Условия DartDayring Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 02.04.2010 10:08