1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
1 | |
Как добратся до накопителя (стример), подтолкните меня в нужном направлении20.06.2014, 23:33. Показов 2570. Ответов 20
Метки нет (Все метки)
Итак, о вводных стоит только сказать, что не писал на делфи я уже лет 12-14. Ранее если и писал, то не шибко крутые проекты в плане интеграции.
Теперь о самой задаче: имеем ленточный накопитель LTO стандарта, поколение не важно пока. Хочу пока написать простой и удобный файловый менеджер с поддержкой стримеров в режиме RO, для начала. Вопросы: 1. как вообще в делфи организуется доступ к накопителям не имеющими явного буквенного обозначения? (стриммеры ранних поколений не видно в Мой компьютер, они видны только через спец. бекап софт) 2. куда я еще могу написать, где читают профи?
0
|
20.06.2014, 23:33 | |
Ответы с готовыми решениями:
20
Пните в нужном направлении! Восстановить файлы в нужном порядке после падения внешнего накопителя. Направьте в нужном направлении IAR stm8s - просьба пнуть в нужном направлении |
пофигист широкого профиля
4757 / 3194 / 860
Регистрация: 15.07.2013
Сообщений: 18,491
|
|
21.06.2014, 02:31 | 2 |
Никак. Это вопрос не по Дельфи.
В форум по железу есс-но.
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
21.06.2014, 03:45 [ТС] | 3 |
разбежался "никак" чтоли? я на своей памяти делал софт на уровне биос через ядро винды, не пукайте в лужу. вопрос актуален
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
21.06.2014, 10:05 | 4 |
Ленточный накопитель? Это касеты и записывающие ленты чтоли? Такие устройства можно встретить только в музее. Вышли из употребления, так как скорость чтения/записи информации на них была во много раз(порядка 1000-2000) меньше скорости записи на стандартные флеш- карты или HDD. Если есть устройство для подключения этого ленточного накопителя к компьютеру и драйвер для этого накопителя, то система позволит нам делать все операции с этим устройством.
Кажись, для подключения к такому устройству надо реализовывать технологии Com-портов и подобные им.
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
21.06.2014, 17:48 [ТС] | 5 |
Не буду спорить какие накопители тормоз и кому в музей пора))) Мой старичек имеет скорость 50мб\с в среднем, а последние поколения вообще уже подошли плотно к 800мбайт\с (не путать с мбит)))) так что не то что com порта, им и scsi мало! как правило они работают через sas, fc контроллеры. но дела в другом. т.е. через скази порт к накопителю надо обращатся? через какой компонент? где примеры поискать? спасибо!
0
|
Пишу на Delphi...иногда
|
|
21.06.2014, 17:57 | 6 |
через файловые дескрипторы (CreateFile, ReadFile, WriteFile или расширенные функции (Ex) - если асинхронные вызовы)
по поводу получения символьного имени для открытия файла (CreateFile) - как вариант SetupDiGetClassDevs function Матерый человечище(с) В.Ульянов исключительно для "музейных" компьютеров про бэкап информации слышали?
2
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
21.06.2014, 18:27 | 7 |
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
21.06.2014, 19:04 [ТС] | 8 |
В дельфе такие обращения типа \\.\tape0\ тоже работают? И какие юниты надо подключать к проекту?
0
|
Пишу на Delphi...иногда
|
|
21.06.2014, 19:13 | 9 |
попробуйте, если "tape0" - символьное имя, имеющегося оборудования в системе, то получите дескриптор файла для дальнейшей работы или значение ошибки (проверяйте значение, возвращаемое функцией CreateFile)
для CreateFile - uses Windows для SetupDiGetClassDevs - uses SetupApi, его (как и многие другие хейдеры) можно найти, например, у JEDI
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|||||||||||
22.06.2014, 20:50 [ТС] | 10 | ||||||||||
В общем, начал разбиратся, у меня особенность обучатся на примерах, чтобы общую картинку быстро построить, а далее ясно будет каким деталям какое внимание стоит уделить. Но примеров по этой задаче очень мало и обрывками.
Найденный боле-менее вменяемый кусок кода:
Подскажите, пожалуйста.
0
|
Пишу на Delphi...иногда
|
|
22.06.2014, 21:34 | 11 |
ничего не мешает описать требуемые структуры и константы:
сама структура, от родителя: TAPE_GET_MEDIA_PARAMETERS structure Все украдено до нас (с): Delphi and Tape Device - если класс не работает, то по крайней мере там описаны требуемые константы и структуры
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
22.06.2014, 21:38 | 12 |
Может ActiveX? У тебя там процедура ещё негде не объявлена. Delphi 7 сложнее устроена, чем вы думаете.
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
23.06.2014, 22:39 [ТС] | 13 |
В общем все причесал, юнит utapeapi по частям собрал. Сейчас при компиле спотыкается только о константу TAPE_LOAD. Тут нашел какие-то значения http://msdn.microsoft.com/en-u... s.85).aspx. 0L - это что? стринг?)
Добавлено через 5 часов 16 минут Разобрался!)) Теперь в коды ошибок уперся, GetLastError что-то выдает, а что это значит -хз... Добавлено через 48 минут Ура! Вышло сделать "Достать кассету" - досталась. Приходится только юнит переписывать, тайм-эррор ошибки вечно в этом юните происходят. теперь уперся в то, как сформировать список файлов и папок? не пойму... Простыми функциями помнится перебором с указанием пути это делается, но со стримером четкого пути же не укажешь... как быть?
0
|
пофигист широкого профиля
4757 / 3194 / 860
Регистрация: 15.07.2013
Сообщений: 18,491
|
|
24.06.2014, 01:58 | 14 |
Вот только врать не надо. Ничего ты сам не делал, кроме поиска кода во всемирной помойке.
Все твои последующие посты это подтверждают.
0
|
1 / 1 / 0
Регистрация: 20.06.2014
Сообщений: 11
|
|
25.06.2014, 01:27 [ТС] | 15 |
В 1997-98 году, к сведенью, всемирной помойки не было как сейчас. Да и доступ был крайне дорогим, учитывая ту политическую еще тяжелую ситуацию в стране и еще оставшиеся отголоски соц.воспитания не у многих студентов поворачивался язык просить у родителей тысячи на интернет (по 30-45 мин в сутки), когда прожиточный минимум был выше. по этому и сами писали мелкий и простенький софт. вы разве не помните те времена или тогда еще под стол ходили?))
0
|
0 / 0 / 1
Регистрация: 01.10.2012
Сообщений: 71
|
|
10.03.2016, 15:05 | 16 |
Подскажите, как можно через дельфи подсоединится к флешке, на которой нет файлов, а вся информация записана в бинарном коде? И как ее можно извлечь по байтам, а затем их запихнуть в бинарный файл?
0
|
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
||||||
04.02.2024, 18:24 | 17 | |||||
Здравствуйте.
Как? Успешно ли удалось обратиться к ленточному накопителю? У меня что-то не выходит. ReadFile возвращает false. Да и CreateFile возвращает валидный хэндлер только если вызывать так.
И SetTapePosition работает странно. Выставляет ленту в позицию и сразу отматывает назад.
0
|
0 / 0 / 0
Регистрация: 27.03.2016
Сообщений: 52
|
|
20.02.2024, 11:49 | 19 |
А, какие флаги должны тут быть?
Я пробовал читать и по 512 Кб. Это размер блока по умолчанию и меньше и 1 Кб и 2 и 8 и 16. Не получается. Кто-то проделывал такие эксперименты? Хотелось бы взглянуть на реально работающий кусок кода.
0
|
4175 / 1825 / 218
Регистрация: 06.10.2010
Сообщений: 4,111
|
|
20.02.2024, 13:24 | 20 |
0
|
20.02.2024, 13:24 | |
20.02.2024, 13:24 | |
Помогаю со студенческими работами здесь
20
Пните в нужном направлении многоуровневое приложение БД-сервер-клиет SQL запрос для трех таблиц. Пните в нужном направлении! Толкните меня в нужном напралении =) Вопрос новичка.......... требуется "волшебный пендель" в нужном направлении. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Преобразование полей (элементов управления содержимым) в обычный текст
РоΜа 23.01.2025
Возникла необходимость преобразовать поля в текст (те, что на вкладке разработчик добавляются) . Помучившись родил следующее:
Sub ПоляВТекст()
Преобразует все поля в текст (даты, текст,. . .
|
Как проверить существование директории в скрипте Bash
bt_guru 23.01.2025
При разработке скриптов Bash одной из ключевых задач является корректная работа с файловой системой, где особое место занимает проверка существования директорий. Эта операция становится критически. . .
|
Как работают срезы (slice) в Python
bytestream 23.01.2025
Python предоставляет разработчикам мощный и гибкий инструмент для работы с последовательностями данных - срезы (slices). Эта функциональность позволяет извлекать, модифицировать и управлять. . .
|
Как удалить подмодуль (submodule) в Git
bytestream 23.01.2025
При работе с крупными проектами в системе контроля версий Git разработчики часто сталкиваются с необходимостью управления зависимостями и внешними компонентами. Подмодули (submodules) представляют. . .
|
В чем разница между @staticmethod и @classmethod в Python. Декораторы методов
bytestream 23.01.2025
В Python декораторы методов представляют собой мощный инструмент, позволяющий модифицировать поведение функций и методов без изменения их исходного кода. Эта возможность является одной из. . .
|
Как преобразовать InputStream в String в Java
bytestream 23.01.2025
В мире Java-разработки работа с потоками данных является одной из ключевых операций при создании современных приложений. InputStream, как фундаментальный класс для обработки входных потоков данных,. . .
|
Как обновить форк (ответвление) репозитория в Git
bytestream 23.01.2025
Одним из наиболее мощных инструментов Git для организации совместной работы является механизм форкинга репозиториев, который позволяет создавать независимые копии проектов для дальнейшей разработки. . . .
|
Как работает async/await в C#. Асинхронное программирование в .NET
bytestream 23.01.2025
Введение в асинхронное программирование
Асинхронное программирование представляет собой важнейшую концепцию современной разработки программного обеспечения, особенно в контексте создания. . .
|
КуМир: полное руководство
bytestream 23.01.2025
Введение в КуМир: история создания и назначение
КуМир (Комплект Учебных МИров) представляет собой образовательную среду программирования, которая была создана для обучения основам алгоритмизации и. . .
|
Что такое OLAP. Где и как использовать многомерный анализ данных
bytestream 23.01.2025
Введение в OLAP-технологии
В современном мире бизнес-аналитика и обработка больших массивов данных играют ключевую роль в принятии стратегических решений. Организации накапливают огромные объемы. . .
|
MongoDB: что это, для чего нужна и как использовать
bytestream 23.01.2025
Введение в MongoDB: современная документоориентированная СУБД
В современном мире разработки программного обеспечения выбор правильной системы управления базами данных является критически важным. . .
|
Как использовать закрытый ключ шифрования в Git. Шифрование в Git
bytestream 23.01.2025
Установка и настройка закрытых ключей в Git предоставляет дополнительный уровень безопасности для работы с репозиториями. Для начала необходимо создать пару ключей, обычно это осуществляется с. . .
|