Шрифт:
150 WEND
160 CLOSE #1
170 OPEN NS FOR OUTPUT AS #1
180 G=0: FOR F=0 TO L-1
190 PRINT M(F);
200 IF M(F)=1 THEN PRINT#1,"1";
210 IF M(F)=0 THEN PRINT#1,"0";
220 G=G+1: IF G=32 THEN PRINT#1, G=0
230 NEXT F: PRINT
240 END
250 REM COPYRIGHT (c) 1996 Patrick GUEULLE
Отметим, что аварийный файл CARTE.ВАК был создан прежде всего для сохранения данных в случае сбоя, происшедшего во время обработки (разрыв сети и т. д.).
Кроме того, если имя исходного файла содержит расширение .CAR, у нас не будет необходимости его набирать, поскольку оно добавится автоматически.
В результате работы программы преобразованные данные заменяют содержимое исходного файла, при этом новый файл, хотя уже и выровненный, остается совместимым с программами данной книги.
Ниже показано, что получается при обработке файла TEST5.CAR с помощью программы JUSTCAR.
Программа инвертирования
Большинство считывающих устройств, начиная с описанных в данной главе, ожидают прохода карты в строго определенном направлении — как правило, это слева направо перед головкой. Иногда приходится проводить карту в обратном направлении (справа налево) или работать с нестандартными картами, записанными наоборот.
Программа INVERT.BAS способна «перевернуть» любой файл .CAR вне зависимости от его длины.
10 REM — INVERT.BAS —
20 KEY OFF: CLS
30 PRINT "имя файла, который следует перевернуть?"
40 INPUT N$: IF N$="" THEN END
50 FOR F=1 TO LEN(NS)
60 IF MID$ (N$,F,1)="." THEN 90
70 NEXT F
80 N$=N$+".CAR"
90 OPEN N$ FOR INPUT AS #1
100 OPEN "carte.bak" FOR OUTPUT AS #2
110 DIM M(LOF(1)): CLS
120 L=0: WHILE NOT EOF (1)
130 INPUT #1,M(L)
140 PRINT#2,M(L);: L=L+1
150 WEND
160 CLOSE #1
170 OPEN N$ FOR OUTPUT AS #1
180 FOR F=L-1 TO 0 STEP -1
190 PRINT M(F);
200 IF M(F)=1 THEN PRINT#1,"1";
210 IF M(F)=0 THEN PRINT#1,"0";
220 NEXT F: PRINT
230 END
240 REM COPYRIGHT (c)1997 Patrick GUEULLE
Ниже представлен результат, полученный с помощью файла-образца TEST5.CAR.
Программа преобразования в формат .CRD
Автор этой книги, естественно, не единственный в мире любитель магнитных карт, тем более что этот «вид спорта» особенно популярен в США. За океаном предпочтение отдают файлам формата .CRD,который отличается от .CAR отсутствием пробелов.
Поскольку в 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