Перейти к содержимому


Фотография

Запись/чтение файлов на/с магнитных карт

магнитные карты

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Оффлайн   Programist135

Programist135
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,38%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 02 Август 2015 - 09:55

И так, всем здравствуйте. С вами снова Programist135, и за 2 дня (вечер 01.08.2015 и утро 02.08.2015) я написал "умную" программу, которая умеет работать с картами. Вы посмотрите на код, и сильно удивитесь: да-да, 97 строк, это ещё учитывая что нет комментариев!  B-)  Так вот, о чём это я... Ловите исходники!
 

Programist135 Clever card worker

-- Open Source --

 

http://pastebin.com/pewmrKDt

 

P. S. Почему Open Source? Потому что вы на меня ругаетесь из-за Copyright'a  ;) 

 
Ну и куда же нам без инструкции! Если вы просто запустите программу, вам напишется: 
 

Спойлер

 

Всё понятно. Наберите card -r и вам просто выдадут запрос "Проведите картой...", но! Если у вас не подключен картридер, программа выдаст предупреждение, что логично. Когда вы проведёте картой, напишется "ОК!" и вас спросят, куда сохранить. Если файл "Куда сохранить" будет существовать, программа естественно выдаст предупреждение и попросит ввести ещё раз. Однако если вы напишете:

Спойлер

То программа просто попросит провести картой и сама сохранит в файл test.ttt. И так, теперь перейдём к записи.

Для записи имеется недостаток: программа умеет записывать максимум 128 байт. Да не удивляйтесь, таково ограничение у карты!

Если вы наберёте card -w то программа попросит ввести имя файла и запишет его. Естественно если нет записывающего устройства, программа сообщит. Однако если вы напишете:

Спойлер

То программа запишет без предупреждения файл test.ttt на карту и назовёт её "КАРТА" А если вы не зададите имя, программа просто запишет файл.

 

Ну вот и всё. Если обнаружили что-то неработающее, обязательно мне сообщите, я не всё проверял. Предлагайте идеи по улучшению программы, тоже попробую реализовать.

Баги

Обо всех багах тоже мне сообщайте, постараюсь исправить =)

 


Сообщение отредактировал Programist135: 02 Август 2015 - 09:58


#2 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 207
  • Уровень сигнала: 15,49%
  • В игре: 117 час. 1 мин.
  • ГородЛуна

Награды

                       

Отправлено 02 Август 2015 - 10:04

128 байт это мало, поэтому лучше сделай возможность записать один большой файл на много карт.

#3 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,38%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 02 Август 2015 - 10:05

Лёша, вчера у меня была такая задумка)) Только вот мне показалось что для меня будет сложновато.



#4 Оффлайн   1Ridav

1Ridav

    Орден К.А.

  • Администраторы
  • Сообщений: 279
  • Уровень сигнала: 4,36%
  • В игре: 32 час. 57 мин.

Награды

            2      

Отправлено 02 Август 2015 - 10:18

Из консоли работать с картами особого смысла не имеет, нужна возможность встраивать твою программу в другие программы в виде библиотеки


  • Asummonster это нравится

#5 Оффлайн   Asummonster

Asummonster
  • Пользователи
  • Сообщений: 570
  • Уровень сигнала: 48,77%
  • В игре: 368 час. 28 мин.
  • ГородКиев

Награды

                    

Отправлено 02 Август 2015 - 10:28

Хм.... Я думал, что rw это read&write. Добавь ещё, что если rw, то оно дописывает на карту, если там есть место.

#6 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,38%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 02 Август 2015 - 10:35

Ребятки, просьба перескачать программу, я исправил один глюк



#7 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,38%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 03 Август 2015 - 15:06

Из консоли работать с картами особого смысла не имеет, нужна возможность встраивать твою программу в другие программы в виде библиотеки

Вот, сделал: http://computercraft...agnitnykh-kart/



#8 Гость_Nymda_*

Гость_Nymda_*
  • Гости
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 09 Август 2017 - 17:33

Если честно, отмерять и разбивать 1 файл на кучу фрагментов - не проблема, надо лишь поместить файл в переменную и отмерять нужное кол-во символов, например 124, а потом разделить фрагменты и заключить в спец символы (Например квадратные скобки, а лучше $ или №, т.к. они редки в коде), а в начало номер карты и записать. Это и будет означать, что файл записан в несколько карт! (и поможет его восстановить)



#9 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,82%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 09 Август 2017 - 18:38

Если честно, отмерять и разбивать 1 файл на кучу фрагментов - не проблема, надо лишь поместить файл в переменную и отмерять нужное кол-во символов, например 124, а потом разделить фрагменты и заключить в спец символы (Например квадратные скобки, а лучше $ или №, т.к. они редки в коде), а в начало номер карты и записать. Это и будет означать, что файл записан в несколько карт! (и поможет его восстановить)

А если файл большой?



#10 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 735
  • Уровень сигнала: 0,29%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 09 Август 2017 - 22:30

Учитывая, что у карточек есть название, мне кажется наиболее логичным записать имя файла и номер "чанка" в него.

 

Допустим карточка называется cote.png [1/22]. Ну и тут как бы всё понятно.

Название остаётся человекочитаемым, но при этом программа чтения карточек может распарсить из него всё что нужно для того, чтобы собрать файл обратно.







Темы с аналогичным тегами магнитные карты

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных