Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите отредактировать код. / 5 сообщений из 5, страница 1 из 1
21.05.2007, 23:04
    #34540940
Peyotle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отредактировать код.
Доброго времени суток. Помогите решить задание. Пробую, но не получается...
Само задание: для каждой записи из табл1 виделить отдельное название улицы, дома и квартиру, в табл3 найдите код определенной улицы и запишите их в соответствующие поля табл2.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
*!*	USE tbl6_1 IN  0  
*!*	USE tbl6_2 IN  0  
*!*	USE tbl6_3 IN  0  
IF !USED ('tbl6_1')
	USE f:\l6\data\tbl6_1.dbf IN  0 
ENDIF
IF !USED ('tbl6_2') 
	USE f:\l6\data\tbl6_2.dbf IN  0 
ENDIF
IF !USED ('tbl6_3')
	USE f:\l6\data\tbl6_3.dbf IN  0 
ENDIF  
*!*	USE f:\l6\data\tbl6_1 
*!*	USE f:\l6\data\tbl6_2 
*!*	USE f:\l6\data\tbl6_3 
DO WHILE !EOF()
	k=key
	s=fio
	s=ALLTRIM(s)
	i=AT(" ",s)
	fam=LEFT(s,i)
	j=RAT(" ",s)
	ot=RIGHT(s,LEN(s)-j)
	im=SUBSTR(s,i+ 1 ,j-i- 1 )
	s=adr
	s=ALLTRIM(s)
	fz=AT(",",s)+ 4 
	lz=RAT(",",s)-fz
	dom=substr(s,fz,lz)
	i=RAT(" ",s)
	kvar=INT(VAL(RIGHT(s,LEN(s)-i)))
	fz=AT(".",s)+ 2 
	lz=AT(",",s)-fz
	uli=SUBSTR(s,fz,lz)
	SKIP
	SELECT  0 
	SET ORDER TO  0 
	LOCATE FOR uli==ALLTRIM(n)
	IF FOUND() 
		uli=kod
	ENDIF
	SELECT  0 
	APPEND BLANK
	
	REPLACE f WITH fam, i WITH im, o WITH ot, kod WITH uli, d WITH dom, kv WITH kvar
	SELECT  0 
ENDDO
...
Рейтинг: 0 / 0
22.05.2007, 02:15
    #34541055
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отредактировать код.
По приведенному коду - вместо SELECT 0 в цикле надо SELECT _соответствующая_область_
Это что сразу бросается в глаза.
А разрешите полюбопытствовать, на фига такая семантическая приблуда понадобилась?
________
Не дадим распространиться заразе политкорректности!
...
Рейтинг: 0 / 0
22.05.2007, 09:07
    #34541273
Peyotle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отредактировать код.
Код: plaintext
1.
2.
По приведенному коду - вместо SELECT  0  в цикле надо SELECT _соответствующая_область_
Это что сразу бросается в глаза.
А разрешите полюбопытствовать, на фига такая семантическая приблуда понадобилась?

Ваш вариант испропован - не получается. Дело не в области!
Семантичная приблуда - сессия.
Спасибо за попытку помоч!
...
Рейтинг: 0 / 0
22.05.2007, 09:15
    #34541287
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отредактировать код.
цикл ду вайл заменить на скан-ендскан

парсить так
Код: plaintext
1.
2.
3.
4.
5.
6.
local laArr[ 1 ], lcStr, lcTag 
lcStr = 'ул.Ленина, дом 25, кв 36'
alines(laArr,lcStr,',')
for each lcTag in laArr
    ? alltrim(lcTag)
endfor

аппенд и реплейс заменить на инсерт-sql
...
Рейтинг: 0 / 0
22.05.2007, 09:20
    #34541298
alex11100
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите отредактировать код.
а SELECT 0 везде - это чтобы лиса с ума сошла???


чтобы не писать шифровку от Юстаса мне(Алексу), делают так

use .... in 0 alias мымы
use .... in 0 alias нана

insert into мымы (...) values (......)
select нана


почитайте в хелпе как выбрать текущую область
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите отредактировать код. / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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