Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/38: Рейтинг темы: голосов - 38, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252

Получение "внешних" Массивов

29.07.2014, 15:41. Показов 7351. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
драма со счастливым концом
эпиграф:не то что бы это раздражало, но бесит!

прелюдия:началось все тихо и мирно, в рамках поисков решения извечного вопроса - что делать работы с большими файлами эхеля (Excel) я взялся написать кода и заодно посчупать незнакомый доселе струмент IntelliJ (вместо "стандартного" Ecplipse).
Направление мысли было - использовать POI и его вариант SAX, в таком сочетании обойтись только кодом на LS никак не получится (событийное управление через бридж LS2J, в моем понятии, не осуществимо).
Получил код, и надо отдать должное IDE (опробованной) - она мне показалась удобной (в части подсказок и рефакторинга, за что - спасибо разработчикам)

Сюжет в полном окрасе
Получили java код, кот. прекрасно работает в нативе, теперь нужно увязать с LS.
Вставляем код в ДД (домино дизайнер) компилицо, делаем обвязку, в кот. возвращаем массивы из java: String[] и Integer[] (можно и int[] но не суть)
со стрингом - все замечательно <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"получили его в Variant"</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class=java> public String[] getArrPathMap() {
//String[] res=new String[arrPathMap.size()];
//arrPathMap.toArray(res);
return arrPathMap.toArray(new String[0]);
}[/CODE]

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
    Property Get arrPathMap
Dim routineName As String
routineName="arrPathMap"
On Error GoTo ErrH
your code here
arrPathMap=me.csvobj.getArrPathMap()
Quit:
Exit Property
ErrH:
Error Err, RaiseError
Resume Quit
End Property
казалось бы - все замечательно и можно жить, но возврат индексов от файлов (в виде массива - Integer)<!--shcode--><pre><code class=java> public Integer[] getArrData(){
return arrdata.toArray(new Integer[0]);
}[/CODE]внезапно укладывает на лопатки нотусятину

LotusScript
1
2
3
    Dim arr As Variant
arr=csv.ArrMap()
Print {pos for element #0:} &CStr(arr(0).intValue())
WTF... звучит законный русский вопрос
пробуем<!--shcode--><pre><code class=java>return new Integer[3]{1,2,3};[/CODE]все окейно - получаем свою адын (1)
чешем репу, меняем типы (на int и получаем напрямую arr(0)) и т.п., в случае в отдачей массива по-полной (весь список) получаем шванец, а случай<!--shcode--><pre><code class=java> Integer[] ret=new Integer[arrmap.size()];
ret[0]=new Integer(arrmap.size());[/CODE]посылает меня нах, с это просьбой, в форме - java object is Null
тут меня высаживает конкретно
лезу выводить в IDE - размерчик-то... сантиметров 20 не считая з... 2,5 ляма элементов, тихо стекаю вспоминая недобрым словом разрабов нотусятины:


Bounds of a dymension -32,768 to 32,767 (the range of values of the Integer data type)
мля, ну почему низя вывести это сообщение вместо непонятного поведения (падение или java...Null)?!
Ну и развязка - класть индексы в хэш (HashMap) кажный на свой файл (а была мысля в один массив пихать)

ЗЫЖ возврат массивов, в LS, из внешних источников (к коим относится и КОМ) может давать непредсказуемые ошибки, в случае превышения лимитов
см. отрывок с Владовским http://yesterdaylive.ru/yesterday-live-%D0...BA-%E2%84%96-5/ - как выбраться из капкана (см. там середину где-то)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.07.2014, 15:41
Ответы с готовыми решениями:

Получение списка внешних накопителей
Здравствуйте. Не могу нигде найти информацию о том, как получить список подключенных внешних накопителей (флешек, дисков). Нужна буква...

Получение данных из внешних источников.
Здравствуйте. Задаче надо получать курсы валют ЦБ. Для этого существуют открытые ресурсы (например на сайте ЦБ можно составить запрос и...

Получение значений из внешних источников по ethernet
Доброго времени суток. Подскажите, как получить данные извне, последовательность действий или.. даже не знаю что именно. Есть блок...

9
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
29.07.2014, 17:38
:offtop: вот кусок этого видео http://vimple.ru/6c5392fdd6904ca79c8f883ace29c2cb
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
29.07.2014, 18:53
IntelliJ - лучшая IDE для Java, но только для неё. Так что если надо писать только на Java - следует брать именно её.
Да и в большинстве java-контор она как стандарт идет (со слов знакомы/друзей/товарищей)
К Ecplipse можно прикрутить кучу языков, удобно, если надо работать сразу с разными языками и не хочется иметь кучу IDE.

Что касается данной ситуации: не проще ли было полностью на java все сделать и без LS2J?
Да, там есть оговорки при работе с ней, но все же. Так ли важен был в данном случае мост?
Переписывать проект, конечно, никто не хочет, но может в данном случае игра стоит этого?
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
29.07.2014, 19:27
на самом деле с 13 версии добавились языки (их поддержка расширилась), у меня есть план - scala
все писать на джава - оно может и здорово, но увязывать с остальным ЛС кодом нужно - формы/кнопки.
И потом - у местной общественности джава вызывает испуг ;)
если посмотреть на вопросы по КОМ - вывод напрашивается...
а так - если писать для xPages - то ЛС точно не нужен :offtop:

Добавлено: Есть и нюансы менеджмента памяти для jvm в нотусах, добавим не всегда хорошую реализацию нотусевых объектов (заморочки с recycle)

Добавлено: по джетбрэйну http://www.jetbrains.com/idea/features/scala.html
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
30.07.2014, 09:12
lmike
Про IntelliJ и scala: intellij-idea-scala
Парень расписал еще на примере HTTP запроса: java-fetch-http
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
30.07.2014, 10:56
что подтверждает мои устремления :offtop:
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 812
30.07.2014, 14:21
Цитата Сообщение от lmike
...у меня есть план - scala...
Почему не Groovy или Jython?
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
30.07.2014, 16:32
они не так лаконичны (результирующем коде) и помедленнее.. (больше оберток)
динамика грува несет в себе нагрузку на рантайм, кот. сильно замедляет работу, а без динамики пропадает смысл его использования, притом - "бардак" с типизацией
питон - как-то не сложились мои отношения с ним... не могу себя убедить в отказе от скобок и форматирование табами, отсут. типизации
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
03.08.2014, 17:47
тут сравнение по полноте таблиц не могу сказать (не хватает кругозора)
и вот каррирование см. для питона и скалы, как по мне - у скала очевидный синтаксис
и в пику шарпею (C#) - там ваще что-то глазодробительное
0
0 / 0 / 0
Регистрация: 27.10.2011
Сообщений: 2,124
03.08.2014, 18:03
;)
lmike
Hope... С таким синтаксисом название очень даже подходящее...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.08.2014, 18:03
Помогаю со студенческими работами здесь

Линк данных Access-Excel, Получение данных с внешних источников
Описание задачи: Есть некая база в Аксесе, данные с которой выгружаются в ексель с помощью линка. Т.е. в екселе организован метод...

Как сделать так, чтобы автоматически создавалось "получение внешних данных из интернета"?
Например, в ячейку я пишу ссылку а рядом автоматически выводиться информация из сайта (пример в Excele) Чтобы не нужно было постоянно...

Получение массива по формуле из двух исходных массивов
Дано натуральное число n и целые числа а1, ..., аn и b1, ..., bn. Определить значение с1, ..., сn и определить количество отрицательных...

Программирование одномерных массивов. Программирование двумерных массивов. Программирование динамических массивов VBA
1. Написать процедуру по упорядочению элементов заданного массива В в следующем порядке: сначала идут положитель- ные числа, потом – нули и...

Найти произведения массивов. Произведение двух массивов описать как процедуру
Даны массивы A(5,5) B(5,5) C(5,5) D(5,5) F(5,5). Найти произведения массивов. Произведения двух массивов описать как процедура.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru