|
|
|
полностью зависает поиск в цикле
|
|||
|---|---|---|---|
|
#18+
Доброго дня всем! При поиске в гриде приложение виснет и грузит машину: IF NOT USED("table1") USE "table1" excl IN 0 ENDIF dat_vd=alltrim(ThisForm.Text1.value) per_vd=len(alltrim(dat_vd)) &&длинна вводимой переменно if per_vd>0 sele table1 DO WHILE !EOF() ff_k1=alltrim(TABLE1.adrsite) ff_k2=alltrim(TABLE1.contact) *ff_k3=alltrim(TABLE1.id) ff_k4=alltrim(TABLE1.namesite) ff_k5=alltrim(TABLE1.ncount) ff_k6=alltrim(TABLE1.owner) *------------------------------------------------------------------проверка dat_od=alltrim(TABLE1.namesite) per_od=len(alltrim(dat_od)) &&длинна данной из базы sh_ptp=per_od-(per_vd-1) && шаг одбора add_df=sh_ptp ik=1 dd=len(alltrim(dat_vd)) do whil ik=<sh_ptp if UPPER(substr(alltrim(dat_od),ik,dd))=UPPER(alltrim(dat_vd)) sele TMP_TABLE1 append blank repl TMP_TABLE1.adrsite with ff_k1 repl TMP_TABLE1.contact with ff_k2 repl TMP_TABLE1.namesite with ff_k4 repl TMP_TABLE1.ncount with ff_k5 repl TMP_TABLE1.owner with ff_k6 *!* WAIT WINDOWS ff_k2 TIMEOUT 0.75 thisform.refresh endif ik=ik+1 enddo ENDDO endif Думаю баг в переменных но не пойму где... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2008, 10:12 |
|
||
|
полностью зависает поиск в цикле
|
|||
|---|---|---|---|
|
#18+
в фокспро есть отладчик поставьте set step on в нужном месте и посмотрите сами, что происходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2008, 10:21 |
|
||
|
полностью зависает поиск в цикле
|
|||
|---|---|---|---|
|
#18+
вижу sele table1 DO WHILE !EOF() enddo А где идет хоть одно действие приводящее к выполнению условия выхода из цикла не вижу. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2008, 10:50 |
|
||
|
полностью зависает поиск в цикле
|
|||
|---|---|---|---|
|
#18+
1. В меню Tools, как и в контекстном меню текстового редактора фокса, есть чудный пункт Beautify... Для повышения читаемости Вашего кода очень способствует. 2. В этом форуме опять же для повышения читаемости есть тэги SRC. Если действительно нужна помощь, то рекомендуется эти два пункта выполнять. 3. Цикл do while не "ходит" сам по записям, переход должен обеспечивать программист. Ваш код не выходит из первого цикла, он никогд на доходит до EOF, так как никуда не двигается. 4. Сам "ходит" по записям цикл scan ... endscan, который, к тому же, нередко бывает быстрее do while. Дальше разбираться в этой портянке неприятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2008, 10:57 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35214346&tid=1587987]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 326ms |

| 0 / 0 |
