Выбери любимый жанр

Выбрать книгу по жанру

Фантастика и фэнтези

Детективы и триллеры

Проза

Любовные романы

Приключения

Детские

Поэзия и драматургия

Старинная литература

Научно-образовательная

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

Справочная литература

Документальная литература

Религия и духовность

Юмор

Дом и семья

Деловая литература

Жанр не определен

Техника

Прочее

Драматургия

Фольклор

Военное дело

Последние комментарии
оксана2018-11-27
Вообще, я больше люблю новинки литератур
К книге
Professor2018-11-27
Очень понравилась книга. Рекомендую!
К книге
Vera.Li2016-02-21
Миленько и простенько, без всяких интриг
К книге
ст.ст.2018-05-15
 И что это было?
К книге
Наталья222018-11-27
Сюжет захватывающий. Все-таки читать кни
К книге

Магнитные карты и ПК - Гёлль Патрик - Страница 17


17
Изменить размер шрифта:

Поскольку в Internet можно встретить интересные программы, использующие формат .CRD, нам показалось полезным снабдить читателей служебной программой, способной сделать файлы .CAR совместимыми с ними. Речь идет о программе CARTOCRD.BAS.

В том виде, в котором она написана, эта небольшая программа может преобразовать файл CARTE.CAR, который был только что считан, в файл CARTE. CRD.

10 REM — CARTOCRD.BAS —

20 CLS: KEY OFF

30 PRINT "Преобразование файла CARTE.CAR в CARTE.CRD"

40 OPEN "carte.car" FOR INPUT AS #1

50 OPEN "carte.crd" FOR OUTPUT AS #2

60 IF EOF(1) THEN 110

70 INPUT #1,A

80 IF A=1 THEN PRINT#2,"1";

90 IF A=0 THEN PRINT#2,"0";

100 GOTO 60

110 PRINT "Выполнено": BEEP

120 END

130 REM (c) 1996 Patrick GUEULLE

Ниже показано, во что превращается файл TEST5.CAR, обработанный программой CARTOCRD.BAS (сначала его надо скопировать под именем CARTE .CAR).

Программа импорта файлов

Служебная программа CRDTOCAR.BAS осуществляет обратную операцию по отношению к предыдущей. Иначе говоря, выполняет преобразование файла CARTE.CRD в CARTE.CAR, совместимый со всеми нашими остальными программами.

10 REM — CRDTOCAR.BAS —

20 CLS: KEY OFF

30 PRINT "Преобразование файла CARTE.CRD в CARTE.CAR"

40 OPEN "carte.crd" FOR INPUT AS #1

50 OPEN "carte.car" FOR OUTPUT AS #2

60 IF EOF (1) THEN 110

70 A$=INPUT$ (1,#1)

80 IF A$="1" THEN PRINT#2,"1";: GOT0 60

90 IF A$="0" THEN PRINT#2,"0";: GOTO 60

10 °CLS: BEEP: PRINT "CARTE.CRD не соответствует формату CRD": END

110 PRINT "Выполнено": BEEP

120 END

130 REM (c) 1997 Patrick GUEULLE

Этим можно воспользоваться, чтобы извлечь пользу из файлов. CRD, полученных от пользователей, работающих, например, с программой CARDOMAT, очень высоко ценимой в США, которая, надо признаться, несколько подстегнула воображение автора…

Рекомендуется сначала скопировать исходный файл под именем CARTE.CRD, в то время как результат преобразования будет носить имя CARTE.CAR.

ДЕКОДИРОВАНИЕ ПЯТИБИТНЫХ СИМВОЛОВ

Иногда необходимо декодировать содержимое файла .CAR, когда нет карты, с которой он был считан. Это может быть файл, уже прочитанный при помощи LECT75 или LECT210, или файл, переписанный на дискету либо полученный по электронной почте другим любителем считывания с магнитных карт. Это может быть даже файл, предварительно «перевернутый» программой INVERT, если есть подозрение, что он был считан в обратном направлении.

Наши программы LECTISO не подходят для решения такой задачи по двум основным причинам. Во-первых, они созданы специально для управления операцией считывания в оболочке, а не для работы в автономном режиме. Во-вторых, каждая из них разработана для строго определенной дорожки ISO, а значит, рассчитана на определенное число битов.

Программа DEC5.BAS, со своей стороны, может взаимодействовать с любым файлом .CAR с пятиразрядным кодированием (а значит, цифровым) вне зависимости от его длины и дорожки, с которой он взят.

Познакомиться с работой DECS.BAS можно, предложив ей декодировать файл TEST5 .CAR, который есть на сайте www.dmk.ru.

10 REM — DEC5.BAS —

20 KEY OFF: CLS

30 PRINT "Имя декодируемого файла?";

40 INPUT N$: IF N$="" THEN END

50 FOR F=1 TO LEN(N$)

60 IF MID$(N$,F,1)="." THEN 90

70 NEXT F

80 N$=N$ +".CAR"

90 OPEN N$ FOR INPUT AS #1

100 L=INT(LOF(1)/2)-1

110 DIM T(LOF (1))

120 F=1:WHILE NOT EOF(1)

130 INPUT#1,T(F): F=F+1

140 WEND

150 J=1

160 IF T(J)<>1 THEN 220

170 IF T(J+1)<>1 THEN 220

180 IF T(J+2)<>0 THEN 220

190 IF T(J+3)<>1 THEN 220

200 IF T(J+4)<>0 THEN 220

210 K=J: GOTO 230

220 J=J+1: GOTO 160

230 C$=""

240 FOR F=0 TO 4

2S0 IF T(K+F) =0 THEN C$=C$+"0"

260 IF T(K+F) =1 THEN C$=C$+"1"

270 NEXT F

280 GOSUB 310

290 K=K+5: IF K>L-1 THEN END

300 GOTO 230

310 IF C$ = "11010" THEN PRINT "{Start}"

320 IF C$ = "10110" THEN PRINT " {sep}"

330 IF C$ = "11111" THEN PRINT "{end}"

340 IF C$ = "01011" THEN PRINT "{10}";

350 IF C$ = "00111" THEN PRINT "{12}";

360 IF C$ = "01110" THEN PRINT "{14}";

370 IF C$ = "00001" THEN PRINT "0";

380 IF C$ = "10000" THEN PRINT "1";

390 IF С$ = "01000" THEN PRINT "2";

400 IF C$ = "11001" THEN PRINT "3";

410 IF C$ = "00100" THEN PRINT "4";

420 IF C$ = "10101" THEN PRINT "5";

430 IF C$ = "01101" THEN PRINT "6";

440 IF C$ = "11100" THEN PRINT -7";

450 IF C$ = "00010" THEN PRINT "8";

460 IF C$ = "10011" THEN PRINT "9";

470 RETURN

480 REM (с) 1996 Patrick GUEULLE

ДЕКОДИРОВАНИЕ СЕМИБИТНЫХ СИМВОЛОВ

Программа DEC7.BAS выполняет функцию, аналогичную выполняемой программой DEC5, но с алфавитно-цифровыми файлами, символы которых закодированы семью битами.

10 REM — DEC7.BAS —

20 KEY OFF: CLS

30 PRINT "Имя декодируемого файла?";

40 INPUT N$: IF N$="" THEN END

50 FOR F=1 TO LEN(N$)

60 IF MID$ (N$,F,1) = "." THEN 90

70 NEXT F

80 N$=N$+".CAR"

90 OPEN N$ FOR INPUT AS #1

100 L=INT(LOF(1)/2)-1

110 DIM T (LOF (1))

120 F=1: WHILE NOT EOF(1)

130 INPUT#1,T(F): F=F+1

140 WEND