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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2010, 11:12   #11
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Не знаю как его к своей задаче приделать. Вообщем, я решил сделать не закрашивание, а вывод в Memo тех значений, которых нет ни в той ни в другой таблице. Но вот запутался с циклом немного:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
 i,j,i1,j2: integer;
begin
 for i:=1 to Form1.SG1.RowCount - 1 do
 for i1:=1 to Form1.SG2.RowCount - 1 do
 begin
  begin
   if Form1.SG1.Cells[1,i] <> Form1.SG2.Cells[3,i] then
   begin
    Form1.Memo1.Lines.Add(Form1.SG1.Cells[1,i]);
   end;
  end;
 end;
end;
Но цикл получается очень долгим и выводит непонятно что
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.07.2010, 11:14   #12
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
...
Но цикл получается очень долгим и выводит непонятно что
А что именно он неверно выводит? Судя по коду, всё должно правильно работать.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 11:15   #13
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Он выводит какое-то большое повторяющиеся значения... Где-то в нем неправильно написано. Может в этой строке:
Код:
 Form1.Memo1.Lines.Add(Form1.SG1.Cells[1,i]);
???

Нужно в Memo1 получить следующее: нужно получить список всех номеров из таблицы SG2, которых нет в таблице SG1. Именно из второй таблицы, а столбцы между собой должны сраниваться.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.

Последний раз редактировалось artemavd; 26.07.2010 в 11:19.
artemavd вне форума Ответить с цитированием
Старый 26.07.2010, 11:27   #14
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Ну во-первых, счетчик второй таблицы не тот:
Код:
var
 i,j,i1,j2: integer;
begin
 for i:=1 to Form1.SG1.RowCount - 1 do
 for i1:=1 to Form1.SG2.RowCount - 1 do
 begin
  begin
   if Form1.SG1.Cells[1,i] <> Form1.SG2.Cells[3,i1] then
   begin
    Form1.Memo1.Lines.Add(Form1.SG2.Cells[1,i1]);
   end;
  end;
 end;
, а во-вторых, значения и будут повторяться, т.к. идет проверка на НЕсоответствие.
Никогда не знаешь, где тебе повезет... (Фрай)

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

А если я поставлю вместо "<>" "=", то по логике работы цикла я в Мемо1 получу все значения из SG2, которых нет в SG1?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.07.2010, 11:44   #16
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

В общем решил разобраться и сделать:
Код:
var
 i,j,i1,j2: integer;
 ravno:boolean;
begin
 for i:=1 to Form1.SG2.RowCount - 1 do   // проверяем значения второй таблицы
   begin
   ravno:=false; 
     for i1:=1 to Form1.SG1.RowCount - 1 do //проверяем значения первой таблицы
       begin
         if Form1.SG2.Cells[3,i] = Form1.SG1.Cells[1,i1] then
         begin
            ravno:=true; // если совпадения есть то ничего не будет в мемо
         end;
       end;
    if ravno=false then //если нет совпадений
      memo1.Lines.Add(Form1.SG2.Cells[3,i]); //записываем отсутствующее
   end;
Проверяй.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 11:49   #17
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Цитата:
memo1.Lines.Add(Form1.SG2.Cells[3,i]); //записываем отсутствующее
То есть записываем в Мемо1 те, которых нет в SG2 ?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.07.2010, 11:51   #18
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
То есть записываем в Мемо1 те, которых нет в SG2 ?
Нет. Записываться будут значения из SG2, которых нет в SG1.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 13:19   #19
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Понятно .
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 26.07.2010, 13:28   #20
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
Понятно .
Это значит "помогло" или как? А... всё увидел помогло
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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