Многократный проход по таблице

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Многократный проход по таблице

Сообщение Evgeny2006 »

В чем особенность многократного прохода по таблице?
Дело в том, что я столкнулся с такой проблемой. Открываю файл. Устанавливаю SET по ключам.Выполняю с ним какие-то действия в цикле. Выхожу из цикла. Хочу снова перейти к первой записи, (SET остается таким же) тоже в цикле (другом), а указатель записи стоит на последней записи, т.е. той записи, на которой остановился в предыдущем цикле. Но мне то надо именно в таком порядке, но с первой записи.
Как избежать этого?
Evgeny2006
George
Активист
Сообщения: 111
Зарегистрирован: 04 Август 2009, 10:48
Благодарил (а): 2 раза

Re: Многократный проход по таблице

Сообщение George »

Каждый раз перед проходом SET()
Аватара пользователя
morkovin
Ветеран
Сообщения: 935
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Многократный проход по таблице

Сообщение morkovin »

Hi, Evgeny2006!
ИМХО, полезно прочитать хелп по

SET(file)
SET(file,key)
SET(file,filepointer)
SET(key)
SET(key,key)
SET(key,keypointer)
SET(key,key,filepointer)

или с английским неважно? :)
WBR, morkovin
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: Многократный проход по таблице

Сообщение Evgeny2006 »


Re: Многократный проход по таблице

Новое сообщение morkovin » 28 Июль 2010, 15:28
Hi, Evgeny2006!
ИМХО, полезно прочитать хелп по

SET(file)
SET(file,key)
SET(file,filepointer)
SET(key)
SET(key,key)
SET(key,keypointer)
SET(key,key,filepointer)

или с английским неважно? :)
Да нет. С английским как раз в порядке. Документацию, которую вы рекомендуете почитать - давно прочел.
Я бы авторам этой документации - руки оторвал бы. Более неграмотного руководства я в жизни не видел.
Все по чуть-чуть разбросано по всем хелпам.
Evgeny2006
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: Многократный проход по таблице

Сообщение Evgeny2006 »

Re: Многократный проход по таблице

Сообщение George » 28 Июль 2010, 12:57
Каждый раз перед проходом SET()
Большое спасибо за совет. А то в этих хелпах ничего найти невозможно.
Еще раз огромное спасибо.
Evgeny2006
Аватара пользователя
morkovin
Ветеран
Сообщения: 935
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 9 раз
Поблагодарили: 4 раза
Контактная информация:

Re: Многократный проход по таблице

Сообщение morkovin »

Hi, Evgeny2006!
Такое ощущение, что Вы избегаете использовать шаблоны (templates) для генерации кода и все пытаетесь написать вручную. ИМХО, это неправильно для начинающего клариониста. Здесь почти на каждый чих есть шаблон-основа. В частности, для многопроходной обработки я бы не задумываясь использовал отдельные процедуры для каждого прохода на базе Process-шаблона. Автоматом бы получил и обработку ошибок, и Progress-индикатор,и фильтры и т.п. А конкретные действия по измененю данных вставляются в embed-точку Activity for Every Record.
WBR, morkovin
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: Многократный проход по таблице

Сообщение Evgeny2006 »

Re: Многократный проход по таблице

Новое сообщение morkovin » 28 Июль 2010, 21:24
Hi, Evgeny2006!
Такое ощущение, что Вы избегаете использовать шаблоны (templates) для генерации кода и все пытаетесь написать вручную. ИМХО, это неправильно для начинающего клариониста. Здесь почти на каждый чих есть шаблон-основа. В частности, для многопроходной обработки я бы не задумываясь использовал отдельные процедуры для каждого прохода на базе Process-шаблона. Автоматом бы получил и обработку ошибок, и Progress-индикатор,и фильтры и т.п. А конкретные действия по измененю данных вставляются в embed-точку Activity for Every Record.
Нет, я не избегаю шаблонов. Просто то, что я делаю вручную - довесок к сгенерированной программе.
Ну, а что касается новичка, то новичок-то я только в Clarion, поскольку за плечами более 15 лет разработок программ на разных языках, правда в основном инженерных.
Evgeny2006
seawolf
Старожил
Сообщения: 217
Зарегистрирован: 08 Июль 2005, 11:23
Откуда: St. Petersburg

Re: Многократный проход по таблице

Сообщение seawolf »

Вообще перед любым Set надо "чистить" Record.
типа если читаем файл сверху вниз
Clear(Perf:Record)
Set(Pref:Key,Pref:Key)
Loop
Next(File)
If Errorcode() then break.

.
Если читаем наоборот снизу вверх

Clear(Perf:Record,1)
Set(Pref:Key,Pref:Key)
Loop
Previous(File)
If Errorcode() then break.

.

Так всегда писали руками такой цикл еще с DOS версий.
Evgeny2006
Бывалый
Сообщения: 61
Зарегистрирован: 23 Июль 2010, 13:44
Откуда: С-Петербург

Re: Многократный проход по таблице

Сообщение Evgeny2006 »


Re: Многократный проход по таблице

Новое сообщение seawolf » 29 Июль 2010, 14:55
Вообще перед любым Set надо "чистить" Record.
типа если читаем файл сверху вниз
Clear(Perf:Record)
Set(Pref:Key,Pref:Key)
Loop
Next(File)
If Errorcode() then break.
Спасибо большое. Я с Clarion в ДОСе не работал. Чувствую, (я работал в Foxpro) что чего-то не хватает, но в этих хелпах найти не возможно. Перерыл Set раз десять и все без толку. Спасибо, что мир не без добрых людей.
Еще раз большое спасибо за помощь.
Evgeny2006
Ответить