powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нужна помощь в алгоритме.
15 сообщений из 15, страница 1 из 1
Нужна помощь в алгоритме.
    #32998160
Всем доброго времени суток!
в общем, я использую следующий код:

SELECT tmp1
COPY TO ARRAY aTMP1
nRec=RECCOUNT()

DIMENSION aTMP2(nRec,21)

FOR y = 1 TO nRec
FOR x = 2 TO 20
FOR z = 1 TO 22
IF VAL(aTMP1(y,x))<>SizeNum(z) * ;
AND VAL(aTMP1(y,x))<>0
code=aTMP1(y,1)
size=aTMP1(z)
aTMP2(y,1)=VAL(code) **
aTMP2(y,x)=size
ENDIF
ENDFOR
ENDFOR
ENDFOR


** тут вылезает ошибка FUNcion argument... is invalid.
её происхождение мне кажется понятно-формат
ячейки неизвестен.

Или может кто-то предложит другой код
с использованием * - этого условия
Если невнятно выразился ), поясню суть алгор. словами:

есть:
aTMP1(21,nRec) - копия файла tmp1

сам файл tmp1 (code n(13), size1 c(2), size2 c(2),..,size20 c(2))

size1,..,size20 - содержат записи в числовом и в смешанном форматах, типа
36 и XL и т.п
для этого и созданы:
NumSize(22) - содержит разм в числовом формате.
CharSize(7) - /- в символьном.


надо, что б в массив aTMP2(по формату-аналог aTMP1)
копировались ячейки из aTMP1-только коды, а из NumSize или CharSize -размеры по условию,
если aTMP1(y,x)= типа 'XL'
и ещё условие: aTMP1(y,x)<>CharSize(c)
если же aTMP1(y,x)= типа '45'
тогда aTMP1(y,x)<>NumSize(n)

а потом готовый массив aTMP2 зиливаю в очищенный tmp1.dbf


за ранее благодарю!

П.С. ногами не пинать - я ведь молодой "специалист" =)
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998565
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам то понял что сказал
можно еще раз про таблицу и про то что нуно на выходе тока спокойно четко и подробно
иначе диалога не будет
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998681
to leaf

ок! постараюсь )

вот файл tmp1.dbf
его формат:
code n (13) , size1 c(2),...size20 ;

в полях size1,..size20 записи могут быть такими:
24,25,27...
могут и такие L,Xl,XS,2X,4X..

на выходе должен быть сформирован файл dbf или массив, в котором
будут код и размеры, несовпадающие
с размерами в массивах.
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998719
to leaf

забыл про массивы..

тут создаю их
dimension SizeN(22) , SizeC(7)
забиваю в них размеры, что бы можно было сравнивать в цикле
sizeN(1)='24
sizeN(1)
sizeN(1)
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998737
продолжение..

sizeN(2)=25
sizeN(3)=27
...
sizeN(22)=56

и для SizeC
SizeC(1)='XS'
SizeC(2)='S'
..
sizeC(7)='4X'
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998738
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
понятно швейная промышленность или торговля
на выходе нужно выявить новое в размерах или найти ошибке в наборе что более вероятно счас подумаем
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998770
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
create cursor tov_size (ssize c(2))
for i=2 to 22
insert into tov_size (ssize) values (sizeN(i))
endfor
for i=1 to 7
insert into tov_size (ssize) values (sizeC(i))
endfor
create curs nabor (code n (13) , ssize c(2))
select tmp1
scan
insert into nabor (code,ssize) values (tmp1.code,tmp1.size1)
......................................
insert into nabor (code,ssize) values (tmp1.code,tmp1.size20)
endscan
select code,ssize from nabor into cursor proverka ;
where ssize .not. in (select ssize from tov_size)
?????????????
может и криво но работа подперает
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998799
и ещё.
когда я делаю вот это:
STORE aTMP1(y,1) TO code
или просто
code=aTMP1(y,1)
проверяя в дебугере, переменной code заливается 0 ????
анамалия!
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998817
и ещё.
когда я делаю вот это:
STORE aTMP1(y,1) TO code
или просто
code=aTMP1(y,1)
проверяя в дебугере, переменной code заливается 0 ????
анамалия!
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998819
продолжение..
хотя aTMP1(y,1) сожержит то, что надо...
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998854
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DIMENSION aa(2,2)
aa(1,2)=2
STORE aa(1,2) TO ss
?ss &&retuns 2
проверте свой код
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32998954
to leaf

спасибо огромное за вариант.

Завтра попробуем. )
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #32999243
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Евгений!

Если по дурному (и видимо самое простое, чтоб не вникать в проблему), то замени просто VAL() на VAL(TRANSFORM(твоя_переменная_чёрт_знает_какого_типа))

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #33000956
jazyx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to leaf

поправлю Вас вот тут:

select code,ssize from nabor into cursor proverka ;
where ssize .not. in (select ssize from tov_size)

по-моему, для моего случая подойдет условие:
...
where nabor.ssize<>tov_size.ssize ;
...т.к. на выходе я получаю коды с недостающими размерами в nabor.dbf.


п.с. ещё раз убеждаюсь в простоте SQL.
А вот идея с массивами для данного случая - парила меня около недели =)
...
Рейтинг: 0 / 0
Нужна помощь в алгоритме.
    #33001058
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну во первых мой вариант не идеален он расчитан на хранение информации в таблицах а не в массивах
а во вторых ваш вопрос не понял напишите запрос скл тогда моно что-то сказать бут а так одну опцию ввере привели ничего не понятно
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Нужна помощь в алгоритме.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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