Экспорт XLS в Delphi + Массив Variant

Уважаемые Delphi специалисты (Использую Delphi 7)

Вот такая вот задача, при экспорте XLS файла в stringgrid средствами COM.

Начало и заголовки стандартные, интереса не представляют.

Но, есть тип RangeMatrix: Variant, в который помещаются данные при вызове
RangeMatrix := XLApp.Range['A1', XLApp.Cells.Item[X, Y]].Value;

Затем данные из RangeMatrix по циклу помещаются в StringGrid.Cell[ROW,COL]

Вот так:
StringGrid.Cells[ROW, COL] := RangeMatrix [ROW,COL];
Этот код работает.

Все данные помещаются нормально, за исключением DateTime, которое помещается в виде Double, т.е. время в ячейке вместо 16:30 выглядит как 0.ХХХХХХХХ, т.е. 0.324234234

Вопрос: Как сделать распознать тип текущих данных в RangeMatrix [ROW,COL]; дабы совершить над ними какие либо действия в процессе обработки?

В отличие от кода выше, код ниже, когда значение RangeMatrix [ROW,COL] присвавается переменной, не работает
MyTest := RangeMatrix[ROW,COL];

Этот код выдает ошибку: Variant or safe array index out of bounds

Голова сломалась совсем. Прошу совета, почему переменной MyTest нельзя присвоить RangeMatrix[ROW,COL]?

Delphi   Pascal    

337   4   05:41, 2nd October, 2020


Хорошие книги под лицензией Creative Commons?

Из нагугленого: книга Питера Уоттса «Ложная слепота» (номинант на премию Хьюго).

Буду рад услышать и другие варианты.

Книги   Лицензии   на   ПО   и   другие   произведения    

372   3   05:40, 2nd October, 2020


Не забанят ли за использование топика из песочницы для публикации другой статьи?

Когда НЛО дало мне инвайт за статью (туториал), по некоторым причинам публиковать я ее не стал, и с тех пор она так и лежит в черновиках.

Сейчас я хотел бы опубликовать обзор, но т.к. я на хабре недавно и карма у меня 0, сделать этого я не могу.


Не забанят ли меня, если я использую ту статью из песочницы, ведь я поставлю туда совсем другую, да и обзоры девайсов в песочницу не пропускают?

Хабр    

324   5   05:37, 2nd October, 2020


Вопрос для SEO специалистов. Вы даете гарантии на выход сайта в топ поисковой выдачи?

Мое мнение: Гарантий быть не может! Невозможно дать гарантию на то, над чем не имею контроль.
Заказчик не верит, что гарантий нет.

Поисковая   оптимизация    

310   9   05:32, 2nd October, 2020


Использование QT под лицензией LGPL?

Собственно говоря возник вопрос связанные с использованием QT в проприетарном ПО. Как гласит лицензия:

GNU LGPL — для разработки ПО с собственнической лицензией, но без внесения изменений в Qt.

Но есть главное ограничение — сама программа должна состоять из одного файла, а по лицензии LGPL я должен использовать тока динамическую компоновку.

И вот главный вопрос: прокатит ли такая лазейка как: DLL QT находится в ресурсах программы, при старте программы DLL извлекается в temp и оттуда уже используется. При этом в лицензии программы внесено упоминание что используется QT распространяемое под LGPL?

т.е. по факту вроде ничего не нарушается (динамическая компоновка + сама библиотека остаётся без изменений), но кто его знает можно ли так использовать DLL или нет.

Qt   Лицензии   на   ПО   и   другие   произведения    

313   3   05:29, 2nd October, 2020


Система электронного документооборота для допиливания

Вопрос к хабру имеет отношение довольно косвенное, но может быть кто сталкивался.

Интересует опенсорс система электронного документооборота, а если быть точным, Records Management, с минимальным функционалом (архив документов, поиск по клиентам, датам, номерам и т.п.), дабы ее допилить под свои нужды. Вещи вроде Alfresco слишком универсальные, от них придется очень многое отрывать. В общем, нужно самое простое, что есть, только опенсорс.

Заранее спасибо.

Документооборот   Open   Source    

303   2   05:19, 2nd October, 2020


Русский crowdfunding сервис?

Кто знает, в рунете есть системы коллективного финансирования вроде kickstarter? Если есть, то какие? И может быть у кого-то есть работы с ними (в том числе подойдет опыт работы с иностранными сервисами).

Краудфандинг    

269   2   05:19, 2nd October, 2020


Кэширование данных до запроса в PHP

Проблема: К базе данных происходит около 200 однотипных запросов, но одинаковых нет, каждый раз меняется по одному параметру, поэтому кэширование результата тут не подходит.

Я заранее знаю диапазон записей к которым происходит запрос, поэтому родилась такая идея — выбрать все эти данные заранее и вместо запроса уже перебирать данные в массивы.

Писать этот механизм руками неохота, скорее всего должны быть уже готовые решения, собственно и вопрос — кто-нибудь знает про что то подобное?

Слышал что в .net есть подобная штука — DataTable называется.



Возможно ли восстановление синхронизированных и утраченных закладок из Google Chrome?

Когда-то, ещё в FF я пользовался Xmarks для синхронизации закладок, при переходе на Chrome — с его помощью их и перенёс. Но затем отказался от него, т.к. в хроме есть и встроенная синхронизация. Всё было хорошо, пока 24 февраля не обновился Xmarks. Обновившись — он быстренько затёр всё, что было в хроме своими закладками, которые у него устарели на пол-года — год. А затем — хром сам мне испортил ещё и на втором компьютере закладки :(.


Подскажите, есть ли возможность откопать откуда-нибудь мои закладки? Гугл не ведёт историю измененией? Блин, могли же задавать вопрос, когда видят, что удаляется несколько десятков закладок!

Google   Chrome    

365   3   05:08, 2nd October, 2020


Каким образом внедрить задержку в сетевое соединение?

Есть приложение, работающее с удаленными устройствами по IP.
Нужно провести тестирование приложения на скорость в условиях, приближенных к боевым, но есть нюанс.

Пинг до локальных устройств менее 1мсек и все работает нормально. У заказчика до его устройств — около 30мсек. У нас до устройств заказчика 250-350 мсек, и работать невозможно. В связи с этим, вопрос, можно ли каким-либо образом внедрить задержку до локальных устройств?

Полагаю, что для этого нужен либо альтернативный драйвер на рабочий компьютер (WinXP/7), либо некое шаманство с роутером ( используется Mikrotik).

Заранее спасибо.

Компьютерные   сети    

326   6   05:05, 2nd October, 2020