|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
Из базы вытянул курсор. Теперь курсор нужно обработать. Механика Select -- SCAN--ENDSCAN: селект курсор -- скан из курсора берет первую запись. Далее функцией происходит обработка этой строки. Вопросы: 1. Как передается строка курсора в функцию? 2. Передача аргументов чисел - без кавычек? Псевдокод: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 12:43 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахито, Мы же не знаем описания твоей функции, поэтому сказать ничего определенного не можем. А по теме: 1. - курсор = та же таблица (только не на диске, а в памяти). Поэтому в функцию может быть передано: - номер строки курсора, - либо строка, которая сформирована из присоединенных друг к другу значений полей данной строки, приведенных к текстовому виду. Но первое, ИМХО, удобнее... :-))) 2. Аргументы-числа передаются без кавычек. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 12:50 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
Станислав С...кий, Из базы вывел в курсор всех сотрудников с доп. информацией о них. Теперь есть ряд условий, по которым их нужно подсчитать (по возрастному диапазону, должностям и т.п.). Если тупо в ручную - куча IIF, если в условие подставлять соотв. переменную - небольшая функция. Что знаю о скане: выдает одну строку из курсора за проход (типа for). Теперь нужно узнать, как передать эту строку в функцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:04 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитоЧто знаю о скане: выдает одну строку из курсора за проход Ничего никуда он не выдает. Он пермещает указатель на следующую запись. Записи в функции не передают. Туда передают значения полей записи, переменные, или выражения из их комбинаций. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:07 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
о_О? Как же тогда можно реализовать такую схему? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:10 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитоо_О? Как же тогда можно реализовать такую схему?Какую ТАКУЮ? Вы не умеете в качестве параметров функции использовать поля текущей записи? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:14 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий. Вы не умеете в качестве параметров функции использовать поля текущей записи? Вы имеете ввиду Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:19 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий. Вы не умеете в качестве параметров функции использовать поля текущей записи? Вы имеете ввиду Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:20 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий.В том числе и так. Громоздко. Через указатель можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:24 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий.В том числе и так. Громоздко. Через указатель можно?Какой еще к чертовой матери указатель? Где Вы их вообще в фоксе обнаружили? Указатель на то, что и так без каких либо ухищрений видно. В том числе и внутри функции, если уж так не хочется писать параметры? Что Вы за сложности сами себе придумываете? Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:29 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий.В том числе и так. Громоздко. Через указатель можно? Уважаемый сэр имеет большой опыт работы на С/С++? Тогда объясните, указатель на что Вам нужен? Если на данную запись, то есть ее номер. Все таблицы в рамках Фоксовой программы имеют глобальную область видимости, если не указано другое (типа приватной сессии в формах). Кроме того, при переходе между функциями, местоположение указателя на запись данной таблицы (номер записи) остается неизменным, то есть в своей функции Вы можете сделать: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:32 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий.[quot донМахито]так без каких либо ухищрений видно. В том числе и внутри функции Я этого не знал, думал так же, как в С++, например. проходящий. , Станислав С...кий, спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:53 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий.[quot донМахито]так без каких либо ухищрений видно. В том числе и внутри функции Я этого не знал, думал так же, как в С++, например. А на каком основании? С++ уже стал СУБД или его принципы распространяются на всё и вся? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 13:57 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий.А на каком основании? С++ уже стал СУБД или его принципы распространяются на всё и вся? Отталкиваюсь от того опыта, который уже есть. Иначе говоря: "Эта штука отсюда для того же, что и та штука оттуда. Раз назначение одинаково, значит и функционируют похоже [...]". Не учел наличие продолжение таких рассуждений в скобках: [..., но, наверняка, со своими нюансами.], о которых рассказал Станислав С...кийВсе таблицы в рамках Фоксовой программы имеют глобальную область видимости... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 14:30 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий.А на каком основании? С++ уже стал СУБД или его принципы распространяются на всё и вся? Отталкиваюсь от того опыта, который уже есть. Иначе говоря: "Эта штука отсюда для того же, что и та штука оттуда. Раз назначение одинаково, значит и функционируют похоже [...]".То есть и в Великобритании будете ездить по правой строне дороги? На основании того опыта, который уже есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 14:46 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий.То есть и в Великобритании будете ездить по правой строне дороги? На основании того опыта, который уже есть? :) Я же написал, что не учел автор[..., но, наверняка, со своими нюансами.]. Теперь учту. Раз уж продолжаем тему. Частично написал функцию: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 15:33 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитопроходящий.То есть и в Великобритании будете ездить по правой строне дороги? На основании того опыта, который уже есть? :) Я же написал, что не учел автор[..., но, наверняка, со своими нюансами.]. Теперь учту. Раз уж продолжаем тему. Частично написал функцию: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 15:36 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахито Частично написал функцию: Код: plaintext 1. 2. 3. 4.
Ну, вообще-то правильнее писать так: Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 15:44 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
Хм, Вроде этому и удовлетворяет: первый аргумент в скобках - условие, остальные - then-else. Тогда буду IFом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 15:50 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитоХм, Вроде этому и удовлетворяет: первый аргумент в скобках - условие, остальные - then-else. Тогда буду IFом.Чему "этому"? Это функция, возвращающая значение. Возвращаемое значение берется из второго или третьего параметра в зависимости от первого параметра. При чем тут return? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 15:58 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
проходящий.При чем тут return? о_О? На firststeps по фоксу есть пример функции, там есть return. Я решил, что он и возвращает. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 17:03 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахитоЧастично написал функцию: Код: plaintext 1. 2. 3. 4.
В любом стандарте программирования и в Си в том числе рекомендованно делать одну точку выхода, дабы потом не обрести гемороя на свою голову. Если функция будет огромна и в ней будет понатыканно куча return-ов замучаешься разбирать потом,что там и куда. Как делать Вам показали выше ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 17:15 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
quxix Как делать Вам показали выше Ага, только сейчас заметил. Станислав С...кий, спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 17:26 |
|
Функции для обработки курсора - новичек, вопросы в теме
|
|||
---|---|---|---|
#18+
донМахито IIF ((LoYrBdr=0 AND HiYrBdr=0 AND zKatPer.Nick=Katry AND Person.Sex=Sex), return 1, return 0) Кстати, о птичках. В фоксе не может быть на одной строке несколько коман. Одна длинная может размещаться на нескольких строках, а вот нескоьлко на одной - ни в жисть. Так что даже исходя из этого два return на однрой строке - нонсенс (то бишь бессмыслица). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 17:40 |
|
|
start [/forum/topic.php?fid=41&msg=36333785&tid=1585830]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 338ms |
total: | 472ms |
0 / 0 |