Многократный проход по таблице
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Бывалый
- Сообщения: 61
- Зарегистрирован: 23 Июль 2010, 13:44
- Откуда: С-Петербург
Многократный проход по таблице
В чем особенность многократного прохода по таблице?
Дело в том, что я столкнулся с такой проблемой. Открываю файл. Устанавливаю SET по ключам.Выполняю с ним какие-то действия в цикле. Выхожу из цикла. Хочу снова перейти к первой записи, (SET остается таким же) тоже в цикле (другом), а указатель записи стоит на последней записи, т.е. той записи, на которой остановился в предыдущем цикле. Но мне то надо именно в таком порядке, но с первой записи.
Как избежать этого?
Дело в том, что я столкнулся с такой проблемой. Открываю файл. Устанавливаю SET по ключам.Выполняю с ним какие-то действия в цикле. Выхожу из цикла. Хочу снова перейти к первой записи, (SET остается таким же) тоже в цикле (другом), а указатель записи стоит на последней записи, т.е. той записи, на которой остановился в предыдущем цикле. Но мне то надо именно в таком порядке, но с первой записи.
Как избежать этого?
Evgeny2006
- morkovin
- Ветеран
- Сообщения: 935
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Re: Многократный проход по таблице
Hi, Evgeny2006!
ИМХО, полезно прочитать хелп по
SET(file)
SET(file,key)
SET(file,filepointer)
SET(key)
SET(key,key)
SET(key,keypointer)
SET(key,key,filepointer)
или с английским неважно?
ИМХО, полезно прочитать хелп по
SET(file)
SET(file,key)
SET(file,filepointer)
SET(key)
SET(key,key)
SET(key,keypointer)
SET(key,key,filepointer)
или с английским неважно?

WBR, morkovin
-
- Бывалый
- Сообщения: 61
- Зарегистрирован: 23 Июль 2010, 13:44
- Откуда: С-Петербург
Re: Многократный проход по таблице
Да нет. С английским как раз в порядке. Документацию, которую вы рекомендуете почитать - давно прочел.
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
-
- Бывалый
- Сообщения: 61
- Зарегистрирован: 23 Июль 2010, 13:44
- Откуда: С-Петербург
Re: Многократный проход по таблице
Большое спасибо за совет. А то в этих хелпах ничего найти невозможно.Re: Многократный проход по таблице
Сообщение George » 28 Июль 2010, 12:57
Каждый раз перед проходом SET()
Еще раз огромное спасибо.
Evgeny2006
- morkovin
- Ветеран
- Сообщения: 935
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
Re: Многократный проход по таблице
Hi, Evgeny2006!
Такое ощущение, что Вы избегаете использовать шаблоны (templates) для генерации кода и все пытаетесь написать вручную. ИМХО, это неправильно для начинающего клариониста. Здесь почти на каждый чих есть шаблон-основа. В частности, для многопроходной обработки я бы не задумываясь использовал отдельные процедуры для каждого прохода на базе Process-шаблона. Автоматом бы получил и обработку ошибок, и Progress-индикатор,и фильтры и т.п. А конкретные действия по измененю данных вставляются в embed-точку Activity for Every Record.
Такое ощущение, что Вы избегаете использовать шаблоны (templates) для генерации кода и все пытаетесь написать вручную. ИМХО, это неправильно для начинающего клариониста. Здесь почти на каждый чих есть шаблон-основа. В частности, для многопроходной обработки я бы не задумываясь использовал отдельные процедуры для каждого прохода на базе Process-шаблона. Автоматом бы получил и обработку ошибок, и Progress-индикатор,и фильтры и т.п. А конкретные действия по измененю данных вставляются в embed-точку Activity for Every Record.
WBR, morkovin
-
- Бывалый
- Сообщения: 61
- Зарегистрирован: 23 Июль 2010, 13:44
- Откуда: С-Петербург
Re: Многократный проход по таблице
Нет, я не избегаю шаблонов. Просто то, что я делаю вручную - довесок к сгенерированной программе.Re: Многократный проход по таблице
Новое сообщение morkovin » 28 Июль 2010, 21:24
Hi, Evgeny2006!
Такое ощущение, что Вы избегаете использовать шаблоны (templates) для генерации кода и все пытаетесь написать вручную. ИМХО, это неправильно для начинающего клариониста. Здесь почти на каждый чих есть шаблон-основа. В частности, для многопроходной обработки я бы не задумываясь использовал отдельные процедуры для каждого прохода на базе Process-шаблона. Автоматом бы получил и обработку ошибок, и Progress-индикатор,и фильтры и т.п. А конкретные действия по измененю данных вставляются в embed-точку Activity for Every Record.
Ну, а что касается новичка, то новичок-то я только в Clarion, поскольку за плечами более 15 лет разработок программ на разных языках, правда в основном инженерных.
Evgeny2006
Re: Многократный проход по таблице
Вообще перед любым 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 версий.
типа если читаем файл сверху вниз
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 версий.
-
- Бывалый
- Сообщения: 61
- Зарегистрирован: 23 Июль 2010, 13:44
- Откуда: С-Петербург
Re: Многократный проход по таблице
Спасибо большое. Я с Clarion в ДОСе не работал. Чувствую, (я работал в Foxpro) что чего-то не хватает, но в этих хелпах найти не возможно. Перерыл Set раз десять и все без толку. Спасибо, что мир не без добрых людей.
Re: Многократный проход по таблице
Новое сообщение seawolf » 29 Июль 2010, 14:55
Вообще перед любым Set надо "чистить" Record.
типа если читаем файл сверху вниз
Clear(Perf:Record)
Set(Pref:Key,Pref:Key)
Loop
Next(File)
If Errorcode() then break.
Еще раз большое спасибо за помощь.
Evgeny2006