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

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

Всего лишь переставить крестик


timekiller ©   (2007-11-04 21:02:00) 

Есть таблица, в 7м и 2м столбце при открытии программы хаотично меняются данные, но некоторые из них совпадают (ячейка 7го равна ячейки 2го столбца)
помогите найти и ПЕРЕСТАВИТЬ крестик (Х) на совпадающих ячейках
тоесть если крест БЫЛ, то его надо переставить, если его нет - крест не нужен

Неправильный (предположительный) код:

for z:=0 to TComboBox(Sender).Items.Count-1 do
begin
if SG_Values.Cells[9,z]='X' then
begin
if SG_Values.Cells[7,z]=SG_Values.Cells[2,z]
then SG_Values.Cells[9,z]:='X'
else SG_Values.Cells[9,z]:='';
end;
end;

У меня уже совсем крыша едет
Подробнее о самой программе:
это парсер XML файлов, в таблицу заносятся данные строк TComboBox, их строки (<lines>) идут один за другим и затем +к этому считываются текущий TComboBox.Text полностью количеством в один столбец - для каждого свой текст и диапазон ячеек в столбце
Есть HTML бланк, есть этот X крестик, который возникает динамически из шаблонов (типа XLS)
который индексирует своим передвижением что будет (если крестик поставлен) показано в HTML бланке по тагу каждого TComboBox (таги как имена тоже столбцом прописаны в StringGrid values)

Фишак "Переставить крест" обрабатывается путем OnChange или загрузки голого XML через шаблон

фухххххххххх ... если я прально написал вобще и ниче не упустил ..


timekiller   (2007-11-05 12:57:00) [1]

> cells[i, ,j] = cells[i+, ,j]
Похоже лишняя запятая ..
Expression expected but ',' found

Попробую так сделать :

for XXX:=TComboBox(Sender).Tag-TComboBox(Sender).Items.Count-1 to TComboBox(Sender).Items.Count-1 do
if SG_Values.Cells[9,z]='X' hen
for z:=TComboBox(Sender).Tag-TComboBox(Sender).Items.Count-1 to TComboBox(Sender).Items.Count-1 do
begin
 if SG_Values.Cells[7,z]=SG_Values.Cells[2,z]
 then SG_Values.Cells[9,z]:='X'
 else SG_Values.Cells[9,z]:='';
end;

Я не "непрограмирующий", тоесть я не в уме а в программу залез, в делфи, и программирующий сегодня 15минут, вчера программирующий пол часика гдето, начинающий совсем еще


Anatoly Podgoretsky   (2007-11-05 12:17:00) [2]

> timekiller  (05.11.2007 12:03:03)  [3]

И в чем проблема со сравнением в цикле
cells[i, ,j] = cells[i+, ,j] и простановке крестика или его снятия.

Это же задачка для непрограммирующих пользователей.


timekiller   (2007-11-05 12:03:00) [3]

Щас попробую собрать волю ..в мозги

Таблица Всех ComboBox ПОСТРОЧНО записана в таблицу
имя...значения.....крест
[Бокс1линия1][1][4][  ]
[Бокс1линия2][2][4][  ]
[Бокс1линия3][3][4][  ]
[Бокс1линия4][4][4][X]
[Бокс1линия5][5][4][  ]
[Бокс2линия1][1][1][  ]
[Бокс2линия2][2][1][  ]
[Бокс3линия1][1][2][  ]
[Бокс3линия2][2][2][Х]
[Бокс3линия3][3][2][  ]

в диапазоне 1го ComboBoxa крест, показывающий пересекающиеся значения ЕСТЬ, но значения в 3м столбце этого диапазона вдруг резко все изменились на 5 5 5 5 5 :) Тоесть крестик должен переместиться чуть ниже ..
Потом во втором диапазоне (2й ComboBox) значения изменились, но креста там нету .. знач не должно быть ..
Ну и соответственно "к вечеру" меняются значения 3го ComboBox, где злосчастный крест опять есть ..

Так более соображаемо?


Amoeba   (2007-11-05 01:36:00) [4]


> фухххххххххх ... если я прально написал вобще и ниче не
> упустил ..
>

Вряд ли у кого-нибудь возникнет желание отвечать на столь бестолково сформулированный вопрос


Johnmen   (2007-11-05 00:21:00) [5]

У нас крыша давно съехала из-за таких, как ты.
читай, просветляйся http://ln.com.ua/~openxs/articles/smart-questions-ru.html


Наверх

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