Programist135 231 Опубликовано: 2 августа, 2015 (изменено) И так, всем здравствуйте. С вами снова Programist135, и за 2 дня (вечер 01.08.2015 и утро 02.08.2015) я написал "умную" программу, которая умеет работать с картами. Вы посмотрите на код, и сильно удивитесь: да-да, 97 строк, это ещё учитывая что нет комментариев! Так вот, о чём это я... Ловите исходники! Programist135 Clever card worker -- Open Source -- http://pastebin.com/pewmrKDt P. S. Почему Open Source? Потому что вы на меня ругаетесь из-за Copyright'a Ну и куда же нам без инструкции! Если вы просто запустите программу, вам напишется: Использование: card <-rw> [файл] [имя] r: расшифровать данные с карты w: зашифровать данные на карту Всё понятно. Наберите card -r и вам просто выдадут запрос "Проведите картой...", но! Если у вас не подключен картридер, программа выдаст предупреждение, что логично. Когда вы проведёте картой, напишется "ОК!" и вас спросят, куда сохранить. Если файл "Куда сохранить" будет существовать, программа естественно выдаст предупреждение и попросит ввести ещё раз. Однако если вы напишете: card -r test.ttt То программа просто попросит провести картой и сама сохранит в файл test.ttt. И так, теперь перейдём к записи. Для записи имеется недостаток: программа умеет записывать максимум 128 байт. Да не удивляйтесь, таково ограничение у карты! Если вы наберёте card -w то программа попросит ввести имя файла и запишет его. Естественно если нет записывающего устройства, программа сообщит. Однако если вы напишете: card -w test.ttt КАРТА То программа запишет без предупреждения файл test.ttt на карту и назовёт её "КАРТА" А если вы не зададите имя, программа просто запишет файл. Ну вот и всё. Если обнаружили что-то неработающее, обязательно мне сообщите, я не всё проверял. Предлагайте идеи по улучшению программы, тоже попробую реализовать. Баги Обо всех багах тоже мне сообщайте, постараюсь исправить =) Изменено 2 августа, 2015 пользователем Programist135 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
LeshaInc 625 Опубликовано: 2 августа, 2015 128 байт это мало, поэтому лучше сделай возможность записать один большой файл на много карт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 2 августа, 2015 Лёша, вчера у меня была такая задумка)) Только вот мне показалось что для меня будет сложновато. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
1Ridav 1 049 Опубликовано: 2 августа, 2015 Из консоли работать с картами особого смысла не имеет, нужна возможность встраивать твою программу в другие программы в виде библиотеки 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 2 августа, 2015 Хм.... Я думал, что rw это read&write. Добавь ещё, что если rw, то оно дописывает на карту, если там есть место. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 2 августа, 2015 Ребятки, просьба перескачать программу, я исправил один глюк Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 3 августа, 2015 Из консоли работать с картами особого смысла не имеет, нужна возможность встраивать твою программу в другие программы в виде библиотеки Вот, сделал: http://computercraft.ru/topic/1035-biblioteka-dlia-zapisichteniia-magnitnykh-kart/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Гость Nymda Опубликовано: 9 августа, 2017 Если честно, отмерять и разбивать 1 файл на кучу фрагментов - не проблема, надо лишь поместить файл в переменную и отмерять нужное кол-во символов, например 124, а потом разделить фрагменты и заключить в спец символы (Например квадратные скобки, а лучше $ или №, т.к. они редки в коде), а в начало номер карты и записать. Это и будет означать, что файл записан в несколько карт! (и поможет его восстановить) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 9 августа, 2017 Если честно, отмерять и разбивать 1 файл на кучу фрагментов - не проблема, надо лишь поместить файл в переменную и отмерять нужное кол-во символов, например 124, а потом разделить фрагменты и заключить в спец символы (Например квадратные скобки, а лучше $ или №, т.к. они редки в коде), а в начало номер карты и записать. Это и будет означать, что файл записан в несколько карт! (и поможет его восстановить) А если файл большой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 9 августа, 2017 Учитывая, что у карточек есть название, мне кажется наиболее логичным записать имя файла и номер "чанка" в него. Допустим карточка называется cote.png [1/22]. Ну и тут как бы всё понятно. Название остаётся человекочитаемым, но при этом программа чтения карточек может распарсить из него всё что нужно для того, чтобы собрать файл обратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах