![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 31
|
![]()
Хотел сравнить весь столбец с текущим значением(при отсутствии совпадений прибавляем к сравниваемому значению +1 и повторяем), но нет результата. Вот то, чем пользовался:
while k=0 do begin for i:=0 to 30 do begin AdoTable1.RecNo:=i; //обращение к строкам от 0 до 30-ой //сравниваем значение столбцов построчно if (StrToInt(Adotable1.Fields.Fields[2].AsString)=Pr) then begin k:=1; DBGrid1.Columns.Items[1].FieldName:=FloatToStr(i); DBGrid1.Columns.Items[0].FieldName:=IntToStr(ADOTable1.RecN O); end; end; Pr:=Pr+1; end; |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
а кто будет задавить НАЧАЛЬНЫЕ значения?
Код:
DBGrid1.Columns.Items[1].FieldName:=FloatToStr(i); наверно хотелось поменять название колонки? DBGrid1.Columns.Items[1].Title.caption:=FloatToStr(i);
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 02.06.2011 в 13:13. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 31
|
![]()
Спасибо, но это все задается заранее - > k:=0 и Pr - произвольное, оно обязательно совпадет с чем то из массива столбика Adotable1.Fields.Fields[2].AsString
хотя Pr ограничен 20000. не могу решить задачу. когда пытаюсь компиллировать выдает ошибку: Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 31
|
![]()
Ошибка на этапе обращения к строкам
AdoTable1.RecNo:=i; |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
Обычно для навигеции (перемещения по записям) используют методы first Last Next Prev. и цикл while Код:
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 31
|
![]()
Переделал, но значение он всегда выдает из последней строки. Как сделать так, чтобы после того как он посмотрел все значения столбца, только тогда прибавлял к Pr еденицу и повторял цикл? не знаю куда воткнуть Pr:=Pr+1. я уже совсем близок = ) выручайте
Код:
if Pr>20000 then k:=1; // <- и это к нему же = ) end; ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 03.06.2011 в 08:24. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
а можно "разжевать" - что у Вас есть и что Вы хотите получить?..
прямо приведите небольшой примерчик (с циферками) и расскажите... |
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 03.06.2011 в 10:21. |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 31
|
![]()
Все работает, но только если Pr отличается менее чем на +\-2 от того, что есть в базе данных, тогда d (кол-во выполнения цикла верно (1или2), в ином случае оно 50-72 тысячи достигает.
Делаю я все то же самое: сравниваю столбцы строк[0..20] по столбцу 2 со значением Pr, при отсутствии совпадений Pr:=Pr+1 и опять сравниваем содержимое столбца 2 построчно в AdoTable1, в чем может быть проблема? Код:
Последний раз редактировалось Apostol13; 03.06.2011 в 23:26. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
Не надо всЕ пихать в о внутренний код. чем больше ты из него вынесешь тем лучше. может он вовсе окажеся не нужным.
Вот держи разбирайся. Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 03.06.2011 в 19:06. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сравнение | slavsmo | Microsoft Office Excel | 2 | 05.04.2010 17:51 |
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? | Anarki | Общие вопросы C/C++ | 3 | 13.11.2009 19:23 |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |