|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Привет! на паскале, который я не знаю, прога, вызывающая функцию из дллки выглядит так: Код: 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.
Код: plaintext 1. 2. 3. 4. 5.
Я понял что packed record это на паскале - массив, но по хелпам в вфп не существует способа передать/получить массив от длл. тока число или стринг. Как же перевести это правильней на вфп? Или такое вообще никак нельзя с вфп подружить? спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2010, 02:36 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Объявления на фоксе примерно так должны выглядеть: Код: plaintext 1.
Код: plaintext 1.
info() возвращает структуру с указателями на строки (PCHAR) с полезной инфой, т.е. в lcDiskInfo адреса в памяти, а инфа по этим адресам. Как это прочитать средствами фокса я не знаю, в таких случаях я делаю обертку на Си и через нее вызываю. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2010, 10:14 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Можно WinAPI поюзать, часть инфы что дает твоя DLL-ка получишь: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2010, 10:23 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
спасибо нет, апи - это неправильно :) Проблема в том, что сия апи отдает инфу которая во-первых после форматирования раздела сменится (случай, конечно редкий, но винду переставил и бай-бай), а во-вторых и самых главных - она может быть одинаковой на разных РС благодаря использованию клон-софта, т.е. когда на 50 одинаковых РС накатили винду с образа, что у нас и наблюдается. В итоге однозначно идентифицировать РС не удается никакими средствами винды будь то WMI, подобные API-функции или инфа из реестра. "моя" же длл-ка отдает железный серийник винта, что куда полезнее и то, что мне и надо. видать придется вместо юзания дллки напрямую запускать ехе-ху... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 22:53 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
1. Непонятно с какой целью это надо делать на фоксе? 2. Если для привязки к компу, то можно просто прочитать что выдаст systeminfo.exe и сгенерирвать ключ по нескольким параметрам. Например размер диска, размер памяти, сетевое имя и т.д. Т.е. несколько параметров надо брать и генерить ключ! В любом случае это бессмыслица, так как фоксовскую прогу взломать легко. Лучше больше времени уделить самой сути прикладнины, чем защите от взлома. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2010, 06:03 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KOнет, апи - это неправильно :) ... "моя" же длл-ка отдает железный серийник винта... Наивный, ты свою DLL сначала проверил бы хорошенько, прежде чем пытаться на ее основе что-либо делать. Она без админских прав не работает. У меня все пусто показывает под юзером, под админом нормально. А "неправильное" API с любыми правами работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2010, 07:45 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KO"моя" же длл-ка отдает железный серийник винтаКакой наив. :) Запусти свою dll-ку на компе с RAID контроллером. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.08.2010, 09:50 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Люди!!! Вы всех меряете одним мерилом! Мне это все надо вовсе не для защиты от взлома. Хотя это наиболее часто возникающий вопрос у других юзеров. Мне это надо лишь для однозначной идентификации РС с которым работают. Все. Я хочу их все занести в таблицу, расписать их конфиги и инв. номера. По этой причине привязка на какие-то нежелезные вещи (volume serial number, WMI - все что с форматированием/переустановкой винды меняется) - не подходят. Кроме того админу надо знать, что если что-то сделано, то с какого РС это сделали. Если подключили свой ноут для этого - админ хочет об этом знать хотя бы просто как о незареганном в системе РС. Как я уже объяснял - имеется несколько десятков РС одинаковой конфигурации, на которых винда ("производителем") установлена клонированием и WMI/реестр у всех выдает одно и то же (в частности volume serial number), соотв. я и говорю что апи - нихт гуд. Не в целом, а в WMI-разрезе. RAID-ы у юзеров? Спасибо, улыбнуло Не работает на неадмине - проблема. Можно было бы наверное "садиться" на МАС-адрес, но ё-маё, и тут поджидают менингиты - NIC-ов мб несколько, сетевые карты - по сути мелочь, которая иногда может умирать и заменяться. Если юзать все ники - все равно торба, тк VPN-ы, (если кому разрешено подключать) мобилы и тп - получим доп. сеть, и все это как резалт - новый РС в системе... Вешаться на серинег винды? Не выход, т.к. есть перадки и у них он будет один и тот же на всех, опять же если корпоративный серийнег - он честный, но один на всех (собственно в перадках такой и юзается)... опять же реинстал винды=новый РС. Ну вот и что же делать-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2010, 16:14 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KORAID-ы у юзеров? Спасибо, улыбнуло Я рад за Вас. Но отсутствие RAID у Ваших юзеров не говорит об отсутствии таковых у других юзеров. Ну вот и что же делать-то?Имя компа должно быть уникальным в сети. За уникальностью следит админ. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2010, 16:31 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Ага, если компы в сети - то по именам. А Everest Corporate Edition не пробовали привлекать для получения отчетов и аудита? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2010, 19:31 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Everest - штука хорошая, но кроме того что палево так еще и невозможно заюзать его програмно. Он есть отдельный самодостаточный проект, в котором все что мне нужно - это 1-2%, а остальные 99% - лишний функционал. А мне хочется что-то простое, типа вот той длл-ки - запросил серийнег и фперед. То что админ должен - это хорошо, но наше програмистское дело - облегчать всем жизнь, как юзерам, так и админам. В недостижимом идеале - это дллина могла б сразу "снимать" весь конфиг РС-юка, чтобы для отчета сразу в таблицу апдейт мб сделать... да... недостижимая мечта, похоже. И неважно что для фоксы, если б это было в виде апишной дллины, то юзалось бы с любым языком... Нечто подобное, выдающее лишь пару серийнегов, лишь в платном варианте видал. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2010, 01:25 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Организационные проблемы программными средствами не решаются. Никак. Никоим образом. Вы даже "облегчить жизнь" не сможете. Только усложнить. Причем как себе, так и тем, для кого Вы предположительно это все делаете. Ну, обычная ситуация: вынули одну железяку из одного компа и воткнули ее в другой. И все! Вся система идет "лесом". Какая тут "идентификация" если "ключ идентификации" поменялся! Начинаются мучительные поиски того, а что вообще изменилось? Основа основ любой учетной системы - это неизменный и однозначный ключ идентификации . В задаче учета компьютеров локальной сети - это может быть только и исключительно некий "внешний" идентификатор. "Внешний" в том смысле, что он не зависит от каких-либо свойств самого компьютера и присваивается из вне. В данном случае - это сетевое имя компьютера. А это имя банально определяется по SYS(0) Ну, чтобы было понятно, Вас ведь не удивляет, что учет сотрудников ведется по табельным номерам, присваиваемым вне зависимости от каких-либо характеристик человека, а не, скажем, по номеру паспорта? Ну, или по ИНН? В данном случае подобная аналогия более чем уместна. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.09.2010, 12:07 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KOEverest - штука хорошая, но кроме того что палево так еще и невозможно заюзать его програмно... Да-а-а... 100 баков заплатить сложно (ну, $700 за полсотни хостов) - лучше будем изобретать велик. Насчёт "программно" - это, надеюсь, шутка? - ибо CSV или ADO обеспечат вам _любые_ запросы к базе... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 01:52 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
ВладимирМ Организационные проблемы программными средствами не решаются. Никак. Основа основ любой учетной системы - это неизменный и однозначный ключ идентификации . В задаче учета компьютеров локальной сети - это может быть только и исключительно некий "внешний" идентификатор. "Внешний" в том смысле, что он не зависит от каких-либо свойств самого компьютера и присваивается из вне. В данном случае - это сетевое имя компьютера. А это имя банально определяется по SYS(0)да, Вы правы. Наверное стоит все же на сетевом имени и остановиться. В любом случае оно сети дб уникально. Действительно, привязываясь к серийнику харда я постоянно задней мыслью думал о ситуации миграции винта в др. РС. Поэтому больше хотелось зацепиться на серийник материнки с процом, но подобных решений нет вообще. Есть CPUID, но в эту инфу с АМД-процов серийнек вроде не входит, а для мамок - полный ноль решений вообще. AndreTMCTAC-KOEverest - штука хорошая, но кроме того что палево так еще и невозможно заюзать его програмно... Да-а-а... 100 баков заплатить сложно (ну, $700 за полсотни хостов) - лучше будем изобретать велик. именно, так как государственная бюджетная организация. И возможно я ошибаюсь, но все равно у еереста нет апи-интерфейса. А чисто для однократного сбора инфы с каждого РС можно лично по ним пройтись с portable версией. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 11:41 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KO И возможно я ошибаюсь, но все равно у еереста нет апи-интерфейса. А чисто для однократного сбора инфы с каждого РС можно лично по ним пройтись с portable версией. Командная строка вроде есть, в хелпе вот чего написано: Everest HELP3. Is it possible to create reports automatically using command-line options? Only EVEREST Corporate Edition supports command-line options. List of them can be reviewed in main menu / Help / Command-line Options. Full list of command-line options with explanation is available in the EVEREST Manual. Using command-line options it is possible to create reports with custom layout in any of the supported report formats. Created reports can be saved to file, inserted to SQL database, sent in e-mail or uploaded to a FTP server. Эверест у меня 2006й, в новом может еще чего улучшилось в этом плане ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 12:04 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
о, ну тогда с еверестом буду собирать локально конфиги РСюков для своей таблицы. По крайней мере надо будет хотябы попробовать. Кстати говоря, если все же кому-то понадобится получение серийника HDD, то я нашел аж несколько решений, которые работают и с юзер-правами и некоторые даже с guest-правами. Это diskid32 (бесплатная, есть исходники на сях - вот ежели б кто оформил из этого fll - было бы вообще зд0рово), rlbyte HDDPhysic.dll (платная, 25 евро, актуальная версия 1.1, но к версии 1.0 можно найти keygen) и Akramsoft HardDiskSerial DLL (платная, $35) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2010, 21:15 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
В Everest Corporate , про который и шёл разговор, есть всё необходимое - и анализ конфигурации, плюс хранение данных в любой SQL-базе, и анализ изменений, и аудит активности... в последних версиях вплоть до удаленного управления хостами. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 00:13 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
Я тут подумал... Если использовать SYS(0)/ID() то возможна ситуация "клона". Да, в одном домене два одинаковых сетевых имени - исключено, а вот при доступе через инет... Единственный выход, недающий 100% гарантии - изврат сисадмина при именовании ведомственных РСюков. Ну или все же на винт цепляться - 100% уин при любых раскладах. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2010, 23:42 |
|
Не получается перевести простой пример с паскаля на вфп
|
|||
---|---|---|---|
#18+
CTAC-KOЯ тут подумал... Если использовать SYS(0)/ID() то возможна ситуация "клона". Да, в одном домене два одинаковых сетевых имени - исключено, а вот при доступе через инет... Единственный выход, недающий 100% гарантии - изврат сисадмина при именовании ведомственных РСюков. Ну или все же на винт цепляться - 100% уин при любых раскладах. Если надо просто компы идентифицировать и защита от подделки идентификатора компа не критична, то генери GUID, пиши куда-нибудь в профиль пользователя или пользовательскую ветку реестра вместе с SYS(0)/ID(). При изменении SYS(0)/ID() генери GUID заново. Даже если админ компы клонировать будет - одинаковые имена всем дать не сможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2010, 07:59 |
|
|
start [/forum/topic.php?fid=41&fpage=90&tid=1584981]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 168ms |
0 / 0 |