помогите начинающему

Страницы: 1
RSS
помогите начинающему
 
Только приступил к QPILE
Написал программу.
Не получается записать в OWN данные.
В чём ошибка?
(прочее - работает. Сообщение выскакивает и обновляется, таблица создаётся.
Правда номера записей (служебные) справа в таблице появляются только после первого прохода.
Во 2-м MESSAGE показывает:  map1 и map2 - пустые. Остальные переменные - как надо)
----------------------------------------
PORTFOLIO_EX SdRu_in_QUIK;
DESCRIPTION Расчёт текущего SdRu в QUIK;
CLIENTS_LIST ALL_CLIENTS;
FIRMS_LIST ALL_FIRMS;
USE_CASE_SENSITIVE_CONSTANTS;

PROGRAM

breakpoint()

new_global("nLine10h00m",0)     '  в кавычках - ИМЯ переменной!
nLine10h00m=nLine10h00m+1   '  N прохода

sEmitent="SBER_SdRu"

mapt=create_map()
mapt=set_value(mapt,"Emitent",sEmitent)

MESSAGE ("mapt= "&mapt,0)

if(nLine10h00m=1)
 ADD_ITEM(1,mapt)
 ADD_ITEM(2,mapt)
else
 modify_item(2,mapt)
end if

nLineInOWN=GET_NUMBER_OF("OWN")

map1=create_map()
map1=GET_ITEM("OWN",1)

map2=create_map()
map2=GET_ITEM("OWN",2)

MESSAGE ("nLine10h00m= "&nLine10h00m&"; "&"nLineInOWN= "&nLineInOWN&"; mapt= "&mapt&"; map1= "&map1&"; map2= "&map2,0)

END_PROGRAM

PARAMETER sEmitent;  
PARAMETER_TITLE Emitent;
PARAMETER_DESCRIPTION Em;
PARAMETER_TYPE STRING(12);
END

END_PORTFOLIO_EX

-----------------------------------------
 
>Только приступил к QPILE
Вовремя :). Разработчики только что объявили о возможном окончании поддержки ...
Может лучше сразу начинать с QLua ?
 
Здравствуйте,
В параметре PARAMETER Вы указываете идентификатор колонки в которую требуется вставить данные
В функцию ADD_ITEM передается массив в котором каждый элемент должен соответствовать идентификатору колонки в таблице и содержать данные для вставки.

в Вашем случае элемент массива
Цитата
Александр написал:
mapt=set_value(mapt,"Emitent",sEmitent)

где "Emitent" - это идентификатор колонки который должен соответствовать PARAMETER, но не соответствует.
Цитата
Александр написал:
PARAMETER sEmitent;  
 
дорогой Андрей 77,
мне ПОТОМ - нужна связь по ODCB...
Изучать ради такой малости цельный язык - я считаю - перебор...
 
Sergey Gorokhov,

спасибо, заработало при изменении:  PARAMETER Emitent;  


НО! А как же HELP???????????????

там же написано:

PARAMETER - Название переменной в программе (максимальная длина 31 символ), значение которой  будет отображаться в данном столбце
PARAMETER_TITLE - Название столбца (максимальная длина 31 символ), отображаемое в таблице

а переменная у меня= sEmitent !!! ???
 
все правильно
в PARAMETER вы указываете название переменной
а значение переменной задаете через массив.
см описание синтаксиса функции set_value
Функция добавляет в массив «Name» элемент со значением «Value» и ключом «Key». Если массив уже содержал элемент с ключом «Key», то значение этого элемента заменяется на «Value».  Функция возвращает модифицированный массив.
MAP SET_VALUE(MAP  Name, STRING Key, ANY Value)

то есть Value - это значение, а Key куда это значение попадет.
 
Цитата
Александр написал:
дорогой  Андрей 77 ,
мне ПОТОМ - нужна связь по ODCB...
Изучать ради такой малости цельный язык - я считаю - перебор...

к слову, средствами luasql можно выводить из Lua по ODCB
 
Цитата
Александр написал:
дорогой  Андрей 77 ,
мне ПОТОМ - нужна связь по ODCB...
Изучать ради такой малости цельный язык - я считаю - перебор...
А изучать ODBC - это тоже ЦЕЛЫЙ ЯЗЫК.  
сначала надо запомнить название ,
а потом еще и интерфейс,формат.
 
 
ну, название я, с горем пополам - запомнил...

а далее - у меня всё гораздо прозаичнее:

QUIK из своих таблиц устраивает вывалку в *.mdb
На этой *.mdb, как на источник данных висит *.exe в онлайн.
(покупная много лет назад примочка. Работает.)

Теперь я эту *.exe (а её писали много лет назад) приспосабливаю под новую идею.
Но для этого нужен опять онлайн с QUIK, только с предварительным вычислением некой агрегирующей величины.

Я и так пытался и сяк, и через EXCL и ACCESS и Delpi - "НЭ ЛЭЗЭТ...".

Пришёл к выводу, что самое простое - пойти по пути опять связки по *.mdb
Но для этого надо вычислять нестандартные величины в QUIK.

Я прекрасно понимаю, что LUA - это цельный язык и на нём можно ФСЁ!
Но не готов так кардинально, ради конкретной одной задачи, погрузиться в изучение.

вот собственно и все причины.
Страницы: 1
Читают тему
Наверх