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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 10:29   #31
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Че-то вообще ничего в SG3 не выводится . Ошибок нет, но и таблица пустая.
А как код твой выглядит? и Какие значения в Edit'ы вводишь?
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 27.07.2010, 10:52   #32
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Код:
procedure TForm1.RzCheckBox5Click(Sender: TObject);
var
 i,j,i1,j2,col,row: integer;
 ravno:boolean;
begin
 if Form1.RzCheckBox5.Checked = True then
 begin
   Form1.RzCheckBox4.Checked:=False;
   Form1.Memo1.Lines.Clear;
   for i1:=1 to Form1.SG1.RowCount - 1 do //проверяем значения первой таблицы
   begin
   ravno:=false;
   for i:=1 to Form1.SG2.RowCount - 1 do   // проверяем значения второй таблицы
       begin
         if Form1.SG2.Cells[StrToInt(Form1.Edit2.Text) - 1,i] = Form1.SG1.Cells[StrToInt(Form1.Edit1.Text) - 1,i1] then
         begin
            ravno:=true; // если совпадения есть то ничего не будет в мемо
         end;
       end;
    if ravno=false then //если нет совпадений
 //   for j:=StrToInt(Form1.Edit3.Text)  to StrToInt(Form1.Edit4.Text)  do
      Form1.StringGrid1.Cells[StrToInt(Form1.Edit3.Text),i]:=Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i];
      Form1.StringGrid1.Cells[StrToInt(Form1.Edit3.Text) + 1,i]:=Form1.SG1.Cells[StrToInt(Form1.Edit4.Text),i];
 //     memo1.Lines.Add(Form1.SG1.Cells[StrToInt(Form1.Edit1.Text) - 1,i1]); //записываем отсутствующее
      Form1.ProgressBar1.StepBy(i);
   end;
 end;
end;
В Edit3 вводится колонка "с", а в Edit4 колонка "по", т.е. указывается диапазон колонок, которые выбрал пользователь, чтобы они добавились к результату.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2010, 11:25   #33
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

ВНИМАНИЕ ИЗМЕНИЛ (НЕ ЗАМЕТИЛ ОШИБКИ)

Код:
    if ravno=false then //если нет совпадений
    begin
      Form1.StringGrid1.Cells[strtoint(edit1.Text),i]:=Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i];
      for col:=0 to strtoint(edit4.Text)-strtoint(edit3.Text) do//Получаем количество выбранных столбцов.
       begin
        Form1.StringGrid1.Cells[col+2,i]:=Form1.SG1.Cells[strtoint(edit3.Text)+col,i]
        Form1.ProgressBar1.StepBy(i);
       end;
    end;

ВНИМАНИЕ ИЗМЕНИЛ (НЕ ЗАМЕТИЛ ОШИБКИ)
Проверишь, отпишись, плз.
Никогда не знаешь, где тебе повезет... (Фрай)

Последний раз редактировалось DIgorevich; 27.07.2010 в 11:55.
DIgorevich вне форума Ответить с цитированием
Старый 27.07.2010, 12:00   #34
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Все равно SG3 не заполняется. . Да что ж такое-то..
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2010, 12:04   #35
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Все равно SG3 не заполняется. . Да что ж такое-то..
Код с моими изменениями в студию плз.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 27.07.2010, 12:11   #36
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Код:
procedure TForm1.RzCheckBox5Click(Sender: TObject);
var
 i,j,i1,j2,col,row: integer;
 ravno:boolean;
begin
 if Form1.RzCheckBox5.Checked = True then
 begin
   Form1.RzCheckBox4.Checked:=False;
   Form1.Memo1.Lines.Clear;
   for i1:=1 to Form1.SG1.RowCount - 1 do //проверяем значения первой таблицы
   begin
   ravno:=false;
   for i:=1 to Form1.SG2.RowCount - 1 do   // проверяем значения второй таблицы
       begin
         if Form1.SG2.Cells[StrToInt(Form1.Edit2.Text) - 1,i] = Form1.SG1.Cells[StrToInt(Form1.Edit1.Text) - 1,i1] then
         begin
            ravno:=true; // если совпадения есть то ничего не будет в мемо
         end;
       end;
    if ravno=false then //если нет совпадений
 //   for j:=StrToInt(Form1.Edit3.Text)  to StrToInt(Form1.Edit4.Text)  do
      Form1.StringGrid1.Cells[StrToInt(Form1.Edit1.Text),i]:=Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i];
      for col:=0 to StrToInt(Form1.Edit4.Text) - StrToInt(Form1.Edit3.Text) do
      begin
       Form1.StringGrid1.Cells[col + 1,i]:=Form1.SG1.Cells[col+1,i];
 //     memo1.Lines.Add(Form1.SG1.Cells[StrToInt(Form1.Edit1.Text) - 1,i1]); //записываем отсутствующее
      Form1.ProgressBar1.StepBy(i);
      end;
   end;
 end;
end;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2010, 12:14   #37
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Ты не внес мои изменения (пост выше)
Код:
procedure TForm1.RzCheckBox5Click(Sender: TObject);
var
 i,j,i1,j2,col,row: integer;
 ravno:boolean;
begin
 if Form1.RzCheckBox5.Checked = True then
 begin
   Form1.RzCheckBox4.Checked:=False;
   Form1.Memo1.Lines.Clear;
   for i1:=1 to Form1.SG1.RowCount - 1 do //проверяем значения первой таблицы
   begin
   ravno:=false;
   for i:=1 to Form1.SG2.RowCount - 1 do   // проверяем значения второй таблицы
       begin
         if Form1.SG2.Cells[StrToInt(Form1.Edit2.Text) - 1,i] = Form1.SG1.Cells[StrToInt(Form1.Edit1.Text) - 1,i1] then
         begin
            ravno:=true; // если совпадения есть то ничего не будет в мемо
         end;
       end;
 
    if ravno=false then //если нет совпадений
    begin
      Form1.StringGrid1.Cells[strtoint(Form1.edit1.Text),i]:=Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i];
      for col:=0 to strtoint(Form1.edit4.Text)-strtoint(Form1.edit3.Text) do//Получаем количество выбранных столбцов.
       begin
        Form1.StringGrid1.Cells[col+2,i]:=Form1.SG1.Cells[strtoint(Form1.edit3.Text)+col,i]
        Form1.ProgressBar1.StepBy(i);
       end;
    end;
 end;
end;
Вот так проверь.

Form1.StringGrid1.Cells[col+2,i]:=Form1.SG1.Cells[strtoint(Form1.edit3.Text)+col,i]
Здесь надо поставить ";", а в самом конце еще один end;

Извини, был не прав Запутался, т.к. у тебя счетчик другой стоял... Вот твой код полностью рабочий - проверял:
Код:
var
 i,j,i1,j2,col,row: integer;
 ravno:boolean;
begin
 if Form1.RzCheckBox5.Checked = True then
 begin
   Form1.RzCheckBox4.Checked:=False;
   Form1.Memo1.Lines.Clear;
   for i1:=1 to Form1.SG1.RowCount - 1 do //проверяем значения первой таблицы
   begin
   ravno:=false;
   for i:=1 to Form1.SG2.RowCount - 1 do   // проверяем значения второй таблицы
       begin
         if Form1.SG2.Cells[StrToInt(Form1.Edit2.Text),i] = Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i1] then
         begin
            ravno:=true; // если совпадения есть то ничего не будет в мемо
         end;
       end;

    if ravno=false then //если нет совпадений
    begin
      Form1.StringGrid1.Cells[strtoint(Form1.edit1.Text),i1]:=Form1.SG1.Cells[StrToInt(Form1.Edit1.Text),i1];
      for col:=0 to strtoint(Form1.edit4.Text)-strtoint(Form1.edit3.Text) do//Получаем количество выбранных столбцов.
       begin
        Form1.StringGrid1.Cells[col+2,i1]:=Form1.SG1.Cells[strtoint(Form1.edit3.Text)+col,i1];
        Form1.ProgressBar1.StepBy(i);
       end;
    end;
 end;
end;
end;
Никогда не знаешь, где тебе повезет... (Фрай)

Последний раз редактировалось artemavd; 27.07.2010 в 16:02.
DIgorevich вне форума Ответить с цитированием
Старый 27.07.2010, 15:59   #38
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Вот хоть убей, но не заполняется SG3
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 27.07.2010, 16:15   #39
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Вот хоть убей, но не заполняется SG3
Скинь, плз, .pas и .dfm файлы, ибо у меня всё работает (по коду, который я последний выложил).
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 27.07.2010, 16:43   #40
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Скинь, плз, .pas и .dfm файлы
Запутаешся. Пусть Архив с проектом кинет.
Цитата:
artemavd
Я так и не понял ты от закраски ячеек отказался? Если да то почему?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
StringGrid Определение значений по 3-ем критериям Juliya_U Помощь студентам 3 04.05.2010 14:19
сверка значений на другом листе подстановка подходящего marc-nikita Microsoft Office Excel 5 07.02.2010 14:10
умножение значений Stringgrid zluchka Помощь студентам 3 03.11.2009 11:33
StringGrid сумма значений monushka Общие вопросы Delphi 21 26.10.2009 17:12
Сверка данных с помощью VBA mal001 Microsoft Office Excel 2 06.08.2008 14:39