Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти далее!!!! / 25 сообщений из 27, страница 1 из 2
09.06.2010, 20:28
    #36679207
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Помогите пожалуйста!!!!!! Что добавить в код чтобы он искал следующую запись при повторном нажатии и можноли вообще это сделать????? Очень нужно
SELECT vodom
GO TOP IN vodom
LOCATE FOR vodom.fio=ALLTRIM(thisform.text1.value)
thisform.Grid1.Refresh()
thisform.Grid1.setfocus()
IF NOT FOUND() then
=MESSAGEBOX("Òàêîãî ïëàòåëüùèêà íåòó!")
ENDIf
...
Рейтинг: 0 / 0
09.06.2010, 21:14
    #36679262
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
попробуй использовать для поиска функцию SCAN


SCAN [NOOPTIMIZE] [Scope] [FOR lExpression1] [WHILE lExpression2]
[Commands]
[LOOP]
[EXIT]
ENDSCAN
...
Рейтинг: 0 / 0
09.06.2010, 21:18
    #36679270
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
SELECT vodom
GO TOP IN vodom
SCAN FOR vodom.fio=ALLTRIM(thisform.text1.value)
thisform.Grid1.Refresh()
thisform.Grid1.setfocus()
IF NOT FOUND() then
=MESSAGEBOX("Oaeiai ieaoaeuueea iaoo!")
LOOP
ELSE
EXIT
ENDIF
ENDSCAN

пробуй!
...
Рейтинг: 0 / 0
09.06.2010, 21:32
    #36679294
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
ptol,

Он ищет, но не по нажатию кнопки, а просто пролистывает и после каждого выдает сообщение надо что-то примудрить, помогайте плиз
...
Рейтинг: 0 / 0
09.06.2010, 22:14
    #36679380
BMJ
BMJ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Точно не помню, CONTINUE в LOCATE посмотрите что делает.
...
Рейтинг: 0 / 0
09.06.2010, 23:31
    #36679490
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Опция REST в команде LOCATE или команда CONTINUE
...
Рейтинг: 0 / 0
09.06.2010, 23:33
    #36679493
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
если я правильно понял, то ты хочешь по нажатию на одну и ту же кнопку и начинать поиск и продолжать его.

Тогда тебе нужно знать когда у тебя первое нажатие, а когда остальные, и по первому нажатию выполнять

GO TOP IN vodom

а потом

LOCATE FOR vodom.fio=ALLTRIM(thisform.text1.value) REST
thisform.Grid1.Refresh()
thisform.Grid1.setfocus()
IF NOT FOUND() then
=MESSAGEBOX("Òàêîãî ïëàòåëüùèêà íåòó!")
ENDIf

или

SCAN FOR vodom.fio=ALLTRIM(thisform.text1.value) REST
thisform.Grid1.Refresh()
thisform.Grid1.setfocus()
IF NOT FOUND() then
=MESSAGEBOX("Oaeiai ieaoaeuueea iaoo!")
ENDIF
ENDSCAN

Опция REST продолжает с текущей позиции, поэтому первый раз GO TOP IN vodom , а последующие без него.
...
Рейтинг: 0 / 0
09.06.2010, 23:51
    #36679515
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
ptol,
попробовал, но он по запися не перепрыгивает с локате, а со скан тоже самое что и сначала
...
Рейтинг: 0 / 0
10.06.2010, 00:53
    #36679580
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
пришли форму и таблицу, поглядим
...
Рейтинг: 0 / 0
10.06.2010, 01:33
    #36679613
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Вот рабочий код. Я проверил

Таблицу только свою пропиши

SELECT klient
IF thisform.m_bstartfind
GO TOP IN klient
thisform.m_bstartfind = .F.
ELSE
SKIP
endif
LOCATE FOR klient.full_name= (ALLTRIM(thisform.text1.value)) rest
thisform.Grid1.Refresh()
thisform.Grid1.setfocus()
IF NOT FOUND() then
=MESSAGEBOX("Oaeiai ieaoaeuueea iaoo!")
thisform.m_bstartfind = .T.
ENDIf

Вот моя форма, пробуй
...
Рейтинг: 0 / 0
10.06.2010, 08:31
    #36679734
igorbik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
13спартак13,

1) Селектом выбрать в курсор сразу всех возможных клиентов
2) Курсор показать (BROWSE) и на правую кнопку навесить выбор нужного клиента

Пример кода поиска плат. поручений в таблице (исправить под свои проблемы)

SELECT * FROM PLATPOR1 WHERE PLATNUM = STROKA1 ;
INTO CURSOR SYS(2015) NOFI ;
ORDER BY PLATNUM, PLATDATE

if RECC() = 0
wait window [ Нет данных! ] nowait time 5
retu
endif

IF RECCOUNT() > 1

push key clear

ON KEY LABEL ENTER KEYBOARD CHR(23)
ON KEY LABEL RIGHTMOUSE KEYBOARD CHR(23)

BROWSE NOMODIFY nodelete nomenu ;
FIELDS PLATNUM :H= 'Номер' ,;
PLATDATE :H= 'Дата' ,;
SUMPLAT :H= 'Сумма' ;
title "Нажмите {Enter} или правую кнопку мыши для выбора"

Pop key

ENDIF

scatter memvar

select PLATPOR1
SET ORDER TO PLATID
SEEK M.PLATID
*или
*LOCATE FOR.................
...
Рейтинг: 0 / 0
10.06.2010, 11:04
    #36679980
Найти далее!!!!
SELECT <таблица поиска>
lnRecno = RECNO()
ON KEY LABEL F3 DO f3
LOCATE FOR <условие для поиска>
IF !FOUND()
PUSH KEY CLEAR
MESSAGEBOX(Ничего не нашли!', 64, 'Внимание!')
GO lnRecno
ELSE
WAIT WINDOW 'Продолжение поиска - F3' NOWAIT
ENDIF

ну и где-нибудь определяем процедуру f3

PROCEDURE f3
LOCAL lnRecno
lnRecno = RECNO()
CONTINUE
WAIT WINDOW Продолжение поиска - F3' NOWAIT
IF !FOUND()
MESSAGEBOX('Поиск окончен!', 64, 'Внимание!')
GO lnRecno
PUSH KEY CLEAR
ENDIF
...
Рейтинг: 0 / 0
10.06.2010, 11:58
    #36680172
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Всем большое спасибо все помагли!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
10.06.2010, 12:24
    #36680288
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
ptol,

А еще помогите пожалуйста m_bstartfind это что такое у меня его не находит
...
Рейтинг: 0 / 0
10.06.2010, 12:49
    #36680371
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
КонецЦикла,

А куда процедуру разместить
...
Рейтинг: 0 / 0
10.06.2010, 15:11
    #36680848
Найти далее!!!!
Ну ответили же уже! Команда Continue после Locate продолжает поиск!
Пока не встретится Eof()
Откуда только долбоёбы берутся со своими советами...
...
Рейтинг: 0 / 0
10.06.2010, 17:01
    #36681197
ptol
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
13спартак13,

открой форму которую скачал и зайди в метод Init
m_bstartfind - это пользовательская переменная класса form
...
Рейтинг: 0 / 0
11.06.2010, 09:20
    #36681986
Найти далее!!!!
ну, например, добавляешь в проект файл mylibs.prg, в который и вставляешь процедуру f3
а в стартовом файле своей проги добавляешь строчку
SET PROCEDURE TO mylibs ADDITIVE
...
Рейтинг: 0 / 0
11.06.2010, 10:56
    #36682183
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
ptol,

Блина у меня пишет что функция не найдена m_startfind или я что то не правильно делаю но в инете я тож написал
...
Рейтинг: 0 / 0
11.06.2010, 13:15
    #36682684
13спартак13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
13спартак13,

ptol , большое вам спасибо, очень выручили
...
Рейтинг: 0 / 0
15.06.2010, 12:01
    #36687283
Wasilich
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
ВОВАН-ШАМАННу ответили же уже! Команда Continue после Locate продолжает поиск!
Пока не встретится Eof()
Откуда только долбоёбы берутся со своими советами...
Обычно, ШАМАНЫ это ЧУКЧИ. Оно и понятно. Они сразу умниками рождаются. И лексика у них от рождения.
...
Рейтинг: 0 / 0
15.06.2010, 22:02
    #36688699
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
13спартак13Помогите пожалуйста!!!!!! Что добавить в код чтобы он искал следующую запись при повторном нажатии и можноли вообще это сделать????? Очень нужно

Создайте на своей форме ещё одну кнопочку "Искать дальше", а в её методе Click пропишите CONTINUE.
...
Рейтинг: 0 / 0
15.06.2010, 22:13
    #36688720
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
WasilichВОВАН-ШАМАННу ответили же уже! Команда Continue после Locate продолжает поиск!
Пока не встретится Eof()
Откуда только долбоёбы берутся со своими советами...
Обычно, ШАМАНЫ это ЧУКЧИ. Оно и понятно. Они сразу умниками рождаются. И лексика у них от рождения.не кормите троллей, они от этого только жиреют
...
Рейтинг: 0 / 0
15.06.2010, 22:58
    #36688785
reware
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
Wasilich
Обычно, ШАМАНЫ это ЧУКЧИ. Оно и понятно. Они сразу умниками рождаются. И лексика у них от рождения.
А здесь вообще модератор есть ? Это вообще SQL.RU или передача Тины Канделаки ?
...
Рейтинг: 0 / 0
16.06.2010, 03:51
    #36689056
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти далее!!!!
reware, модератор куда-то исчез, его уже почти неделю здесь не было.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Найти далее!!!! / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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