Return
The Whole Enchilada
Updated: 14-Aug-98
Status: Being reviewed

Please Note: The information in this document has just been translated over from the printed version (14-Aug-98) and is being reviewed. There are errors! This notice will go away once all the obvious errors are corrected. From there, this document will be upgraded over time.

ASCII FILES

A short, general discussion of the ASCII file format, and the creating and subsequent use of such between a laptop and a DOS desktop; with examples using Lapdos, Lotus 1-2-3 and the delimited ASCII format.

The Model 100, 102 and 200 computers use a built in text editing program called TEXT. TEXT creates ASCII files (1). ASCII files will import into almost all DOS application programs. When you copy a .DO file over to a MS-DOS or Mac computer the .DO extension that the laptop places on its ASCII files means absolutely nothing to Microsoft Disk Operating System (DOS) or the System x (DOS) used on Macs. A .DO file is an ASCII file. As a matter of course, after you copy the .DO file over to your desktop computer, rename the extension to .TXT. The extension .TXT is generally used by desktop computer applications to designate an ASCII file ... but the extension, by itself, does not effect the file, or automatically convert a non-ASCII file into an ASCII file. It is just a designation that has become sort-of standard throughout the industry.

Most laptop/desktop users incorporate their laptop files in with their word processing. Word processing is by far the largest single operation that most of us do with personal computers ... followed closely by desktop publishing. Virtually "all" word processing and desktop publishing programs can import and export ASCII files.

Note: For whatever reason, I've often heard folks ask if the .DO file can be imported into Microsoft Windows. This makes no sense whatsoever. For all intense and purposes, Windows is a "shell utility." Like any shell to an operating system, it provides access to the equipment and media, and sets up rules for communications between applications and equipment.

For those that use spreadsheets and databases, delimited ASCII files represent yet another way the laptop can collect data, import-ready for desktop use.

To "delimit" is to separate. The delimited ASCII file is a method of separating information into fields and records. There is a standard layout to delimited ASCII files. Each field within the record is separated by a comma. Each non-numeric field within the record is further-separated by quotes. Numeric fields are not separated by quotes. The record ends by hitting (technically, hitting creates decimal character 13 and 10. The 13 is the important character). Delimited ASCII data collection is easy to program in BASIC on a Model 100, 102 or 200 computer (See COLECT.BA).

Example
Filename: DATA.DO

"firstname","lastname","phonenumber",owes,paid,"comment"
"Jim","Smith","800-123-1234",5000.34,354.78,"good customer"

The example above contains only ASCII characters. It is ASCII delimited for incorporation into a spreadsheet or a database. For instance, a Lotus 1-2-3 user would collect data into the above structure, using their laptop. They would transfer the data to their desktop via Lapdos, then incorporate it into Lotus 1-2-3.

Example
Run Lapdos, but before transferring the file with Lapdos, place the left-hand screen of Lapdos onto the data disk or into the subdirectory where Lotus finds files, then copy the file into that area or onto that disk.

Use the (R)ename function of Lapdos to rename the file DATA.PRN (Lotus 1-2-3 looks for the PRN extension for ASCII file import)

(Q)uit Lapdos and run Lotus 1-2-3. Issue the commands: / (F)ile (I)mport (N)umbers, enter the name, DATA, and hit

The file will come into Lotus 1-2-3 with each field occupying a separate cell. If this were a database example, each field would become a separate field in the database.

ASCII: American Standard Code for Information Interchange. Today's computers process numbers, only, not letters, numbers, symbols or control codes. ASCII represents an agreed upon standard number/symbol relationship used by most of today's computers to represent letters, symbols and control codes; also known as characters or bytes.

ASCII uses 8 binary digits (BITS) to represent each byte. An 8 bit, binary byte yields 256 possible combinations for character representation (00000000 to 11111111). The first 128 combinations (00000000 to 01111111) were standardized by ANSI (American National Standards Institute). All common-use characters fall within these first 128 possible combinations, i.e., character code 0 through 127, all alpha, arithmetic, special and control characters. Any file containing characters within the first 128 possible combinations, only, is called an ASCII file. (See chart below)

If a file contains characters 128 through 255 then that file is not an ASCII file. Many files contain these non-ASCII characters, e.g., spreadsheets, some word processing files, desktop publishing, graphics, voice and machine language code.

THE ANSI ASCII CHARACTER CHART
(the 1st 128 characters)

Dec  HEX  Binary    Symbol
  0  00   00000000  CTRL @  Null
  1  01   00000001  CTRL A
  2  02   00000010  CTRL B
  3  03   00000011  CTRL C
  4  04   00000100  CTRL D
  5  05   00000101  CTRL E
  6  06   00000110  CTRL F
  7  07   00000111  CTRL G
  8  08   00001000  CTRL H
  9  09   00001001  CTRL I
 10  0A   00001010  CTRL J  Line Feed
 11  0B   00001011  CTRL K
 12  0C   00001100  CTRL L  Page Feed
 13  0D   00001101  CTRL M  Return
 14  0E   00001110  CTRL N
 15  0F   00001111  CTRL O
 16  10   00010000  CTRL P
 17  11   00010001  CTRL Q
 18  12   00010010  CTRL R
 19  13   00010011  CTRL S
 20  14   00010100  CTRL T
 21  15   00010101  CTRL U
 22  16   00010110  CTRL V
 23  17   00010111  CTRL W
 24  18   00011000  CTRL X
 25  19   00011001  CTRL Y
 26  1A   00011010  CTRL Z  End Of File
 27  1B   00011011  ESC
 28  1C   00011100  RIGHT ARROW
 29  1D   00011101  LEFT ARROW
 30  1E   00011110  UP ARROW
 31  1F   00011111  DOWN ARROW
 32  20   00100000  SPACEBAR
 33  21   00100001  !
 34  22   00100010  "
 35  23   00100011  #
 36  24   00100100  $
 37  25   00100101  %
 38  26   00100110  &
 39  27   00100111  '
 40  28   00101000  )
 41  29   00101001  (
 42  2A   00101010  *
 43  2B   00101011  +
 44  2C   00101100  ,
 45  2D   00101101  -
 46  2E   00101110  .
 47  2F   00101111  /
 48  30   00110000  0
 49  31   00110001  1
 50  32   00110010  2
 51  33   00110011  3
 52  34   00110100  4
 53  35   00110101  5
 54  36   00110110  6
 55  37   00110111  7
 56  38   00111000  8
 57  39   00111001  9
 58  3A   00111010  :
 59  3B   00111011  ;
 60  3C   00111100  <
 61  3D   00111101  =
 62  3E   00111110  >
 63  3F   00111111  ?
 64  40   01000000  @
 65  41   01000001  A
 66  42   01000010  B
 67  43   01000011  C
 68  44   01000100  D
 69  45   01000101  E
 70  46   01000110  F
 71  47   01000111  G
 72  48   01001000  H
 73  49   01001001  I
 74  4A   01001010  J
 75  4B   01001011  K
 76  4C   01001100  L
 77  4D   01001101  M
 78  4E   01001110  N
 79  4F   01001111  O
 80  50   01010000  P
 81  51   01010001  Q
 82  52   01010010  R
 83  53   01010011  S
 84  54   01010100  T
 85  55   01010101  U
 86  56   01010110  V
 87  57   01010111  W
 88  58   01011000  X
 89  59   01011001  Y
 90  5A   01011010  Z
 91  5B   01011011  [
 92  5C   01011100  \
 93  5D   01011101  ]
 94  5E   01011110  ^
 95  5F   01011111  -
 96  60   01100000  `
 97  61   01100001  a
 98  62   01100010  b
 99  63   01100011  c
100  64   01100100  d
101  65   01100101  e
102  66   01100110  f
103  67   01100111  g
104  68   01101000  h
105  69   01101001  i
106  6A   01101010  j
107  6B   01101011  k
108  6C   01101100  l
109  6D   01101101  m
110  6E   01101110  n
111  6F   01101111  o
112  70   01110000  p
113  71   01110001  q
114  72   01110010  r
115  73   01110011  s
116  74   01110100  t
117  75   01110101  u
118  76   01110110  v
119  77   01110111  w
120  78   01111000  x
121  79   01111001  y
122  7A   01111010  z
123  7B   01111011  {
124  7C   01111100  |
125  7D   01111101  }
126  7E   01111110  ~
127  7F   01111111  DELETE

COLECT.BA
Short, data collection program from the Club 100 public domain program library, available online 24 hrs a day. Key the following program into BASIC then SAVE"COLECT" to store as a useable program.

10 'COLECT.BA by Richard Hanson
20 'Club 100 Public Domain Program
30 CLS
40 MAXFILES=1
50 PRINT""
60 PRINT"This program creates records"
70 PRINT"containing name, company, address,"
80 PRINT"city, state, zip and two phone"
90 PRINT"numbers into a delimited ASCII"
100 PRINT"file named DATA.DO."
110 PRINT""
120 PRINT"Tap any key to continue...";
130 Z$=INKEY$:IFZ$=""THEN130
140 OPEN"DATA.DO"FORAPPENDAS1
150 CLS
160 PRINT""
170 PRINT"(N)ew record..."
180 PRINT"(Q)uit..."
190 PRINT""
200 PRINT"Select N or Q..."
210 Z$=INKEY$:IFZ$=""THEN210
220 IFZ$="n"ORZ$="N"THEN250
230 IFZ$="q"ORZ$="Q"THENCLOSE:MENU
240 GOTO210
250 CLS
260 PRINT"Use any characters except commas"
270 PRINT"--------------------------------"
280 INPUT"Name";A$
290 INPUT"Company";B$
300 INPUT"Address";C$
310 INPUT"City";D$
320 INPUT"State";E$
330 INPUT"Zip";F$
340 CLS
350 PRINT"Use any characters except commas."
360 PRINT"--------------------------------"
370 INPUT"WrkPhone";G$
380 INPUT"ResPhone";H$
390 PRINT#1,CHR$(34);
400 PRINT#1,A$CHR$(34)CHR$(44)CHR$(34);
410 PRINT#1,B$CHR$(34)CHR$(44)CHR$(34);
420 PRINT#1,C$CHR$(34)CHR$(44)CHR$(34);
430 PRINT#1,D$CHR$(34)CHR$(44)CHR$(34);
440 PRINT#1,E$CHR$(34)CHR$(44)CHR$(34);
450 PRINT#1,F$CHR$(34)CHR$(44)CHR$(34);
460 PRINT#1,G$CHR$(34)CHR$(44)CHR$(34);
470 PRINT#1,H$CHR$(34)
480 GOTO150

Lines 10 & 20 are remarks

Lines 30 - 130 are user info

Line 140 opens the data file

Lines 150 - 240 are the menu with branch on response

Lines 250 - 380 collect user responses into variables A$ - F$

Note: A$ - F$ are temporary storage areas for data input.

Lines 390 - 470 place responses stored in A$ - F$ into DATA.DO delimited by the proper characters see ASCII chart above.