Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите организовать проход по курсору / 7 сообщений из 7, страница 1 из 1
21.04.2011, 16:46
    #37227127
rekki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Помогите организовать проход по курсору, есть курсор с данными о родственниках (допустим 4 записи) в одном из полей указано сын или дочь или муж или жена. Нужно в зависимости от этих значений выводить в разные поля формы. Функцию EOF(), не смог применить, мб она только для таблиц.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
thisform.pageframe1.Page5.Text1.Value = ALLTRIM(STR(cur5.tab_no))
thisform.pageframe1.Page5.Text2.Value = ALLTRIM(cur5.semein)
thisform.pageframe1.Page5.Text3.Value = ALLTRIM(cur1.fio)
thisform.pageframe1.Page5.Image2.Picture = cur1.photo
IF !EOF()
IF cur5.rodstvo="Муж" OR cur5.rodstvo="Жена"
thisform.pageframe1.Page5.Text4.Value = ALLTRIM(cur5.fio_person)
thisform.pageframe1.Page5.Text5.Value = ALLTRIM(DTOC(cur5.date_birth))
ELSE
IF cur5.rodstvo="Сын OR cur5.rodstvo="Дочь"
IF LENC(thisform.pageframe1.Page5.Text6.Value)> 0 
thisform.pageframe1.Page5.Text8.Value = ALLTRIM(cur5.fio_person)
thisform.pageframe1.Page5.Text9.Value = ALLTRIM(DTOC(cur5.date_birth))
ELSE
thisform.pageframe1.Page5.Text6.Value = ALLTRIM(cur5.fio_person)
thisform.pageframe1.Page5.Text7.Value = ALLTRIM(DTOC(cur5.date_birth)) 
......
SKIP  1 
ENDIF
ENDIF
ENDIF
ну и так далее

Вобщем нужно пройти по всем записям курсора. Подскажите может функцию аналогичную EOF() только применимую к курсорам.
...
Рейтинг: 0 / 0
21.04.2011, 16:53
    #37227142
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Цикл забыл сделать. Для перебора записей есть цикл SCAN
Примерно так
Код: plaintext
1.
2.
3.
sele cur5
scan
  ... тут обрабатываем очередную запись
endscan
...
Рейтинг: 0 / 0
21.04.2011, 17:03
    #37227163
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Dima TЦикл забыл сделать. Для перебора записей есть цикл SCAN
Примерно так
Код: plaintext
1.
2.
3.
sele cur5
scan
  ... тут обрабатываем очередную запись
endscan
Ну и в чем проблема? Берете кусок из первого поста и вставляете вместо "тут обрабатываем очередную запись". Только skip оттуда уберите. И Eof() не вспоминайте всуе. И не придумывайте всякой чуши типа "Функцию EOF(), не смог применить, мб она только для таблиц." Курсор тоже таблица. И "функцию аналогичную EOF() только применимую к курсорам." никто не додумался придумывать.
...
Рейтинг: 0 / 0
21.04.2011, 17:11
    #37227177
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Sergey SizovDima T...Ну и в чем проблема? ...
Это мне или топикстартеру адресовано?
...
Рейтинг: 0 / 0
21.04.2011, 17:13
    #37227181
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Кстати, кусок из первого поста можно резко сократить. Не пугайтесь отсутствия кучи функций преобразования. Они не нужны если правильно указать в текстбоксах тип значения. Для чиловых в свойство value надо поместить 0, для даты - {}. Для текстбоксов, в которые будут вводиться строки надо указать свойство format = 'T'.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
with thisform.pageframe1.Page5
    .Text1.Value = cur5.tab_no && если это поле укажите в качестве ContolSource для .Text1, то это присвоение можно не делать, сам сделается. Это же относится и к трем следующим строчкам 
    .Text2.Value = cur5.semein
    .Text3.Value = cur1.fio
    .Image2.Picture = cur1.photo
  IF !EOF()
    IF cur5.rodstvo="Муж" OR cur5.rodstvo="Жена"
      .Text4.Value = cur5.fio_person
      .Text5.Value = cur5.date_birth
    ELSE
      IF cur5.rodstvo="Сын OR cur5.rodstvo="Дочь"
        IF LENC(.Text6.Value)> 0 
          .Text8.Value = cur5.fio_person
          .Text9.Value = cur5.date_birth
        ELSE
          .Text6.Value = cur5.fio_person
          .Text7.Value = cur5.date_birth 
......
       ENDIF
     ENDIF
   ENDIF
ENDWITH
...
Рейтинг: 0 / 0
21.04.2011, 17:13
    #37227182
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Dima TSergey Sizovпропущено...
Ну и в чем проблема? ...
Это мне или топикстартеру адресовано?Прошу пардону, конечно же стартеру.
...
Рейтинг: 0 / 0
21.04.2011, 17:52
    #37227280
rekki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите организовать проход по курсору
Спасибо огромное.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите организовать проход по курсору / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]