Page 1 of 1
Database files editing question
Posted: Mon Jan 20, 2025 11:37 am
by spectreman
Hi all.
Just wondering, when creating or editing a database file on the Organiser itself (XP model), is there a way to insert a TAB character in the text at all ?
Have tried searching for info for this, but have run into a dead end. I know the ASCII control character for TAB is 9.
Thanks very much, Chris.
Re: Database files editing question
Posted: Mon Jan 20, 2025 12:04 pm
by Zenerdiode
The PSION uses ASCII-9 to split a database Record into its Fields. You can’t add a Tab character from the keyboard, but if you did programmatically, it would be parsed by the PSION as extra Fields in the Record.
Database files editing question
Posted: Mon Jan 20, 2025 1:59 pm
by Martin
Databases...
Looking at the commands and functions the Organiser was 'built' around database management.
A tip I would give to all watching... If you move databases from the Organiser to the PC and back...
(a) Always have the cursor on (in) a blank line (field). If you bring back a database without <LF><EOF> it will crash...
(b) Look out for control characters at the end of the file... There is an image of one in the Bad Notes File thread
(here). Whether in a Database, Pocket Spreadsheet (or LZ Notepad) these again will crash.
(xpTOOLS) was created to give the CM/XP some of the improved file handling of the Organiser LZ.
Martin
Re: Database files editing question
Posted: Mon Jan 20, 2025 8:16 pm
by amenjet
spectreman wrote: Mon Jan 20, 2025 11:37 am
Hi all.
Just wondering, when creating or editing a database file on the Organiser itself (XP model), is there a way to insert a TAB character in the text at all ?
Have tried searching for info for this, but have run into a dead end. I know the ASCII control character for TAB is 9.
Thanks very much, Chris.
Can you translate TABs to some other code when reading and writing files? If you used built in code like FIND then it wouldn't work, but any code you wrote would.
Re: Database files editing question
Posted: Tue Jan 21, 2025 12:04 am
by spectreman
Thanks very much for the replies guys.
I was asking about this after experimenting transferring ODB files to & from the Organiser to the FileMaker DOS program.
I do realize when opening a ODB file in FileMaker, there needs to be a TAB to separate the fields, otherwise the file gets split up into lots of different records on separate pages which is not what I want.
So you cannot enter a TAB directly on the Organiser keyboard, that's fair enough.
Might have to look at the xpTools utility.
Re: Database files editing question
Posted: Tue Jan 21, 2025 4:31 am
by amenjet
spectreman wrote: Tue Jan 21, 2025 12:04 am
Thanks very much for the replies guys.
I was asking about this after experimenting transferring ODB files to & from the Organiser to the FileMaker DOS program.
I do realize when opening a ODB file in FileMaker, there needs to be a TAB to separate the fields, otherwise the file gets split up into lots of different records on separate pages which is not what I want.
So you cannot enter a TAB directly on the Organiser keyboard, that's fair enough.
Might have to look at the xpTools utility.
CHR$(9) is a tab character in OPL, and you can use that in strings. the technical manual mentions its use:
Code: Select all
17.2.10 RECORDS AND FIELDS
A file consists of a file name record with a number of data records. A
record contains at least one character and at most 254 characters.
A record may contain up to 16 fields, delimited by the TAB character (ASCII
9).
Strings are held as the ASCII characters, numbers are held in the ASCII
form. So for example after:
OPEN "A:ABC",A,A%,B,C$
A.A=12
A.B=3.4
A.C$="XYZ"
the file buffer contains:
len tab tab
0A 31 32 09 33 2E 34 09 58 59 5A.
When a file is opened the field names are given. The field names and types
are not fixed and may be varied from OPEN to OPEN. When a numeric field is
accessed the contents are converted from ASCII to integer or floating
point. Should this conversion fail the error "STR TO NUM FAIL" is
reported.
When searching for a particular field the field name is matched with the
field name buffer (see section 6.3.2) and the corresponding field split
out of the file buffer using UT$SPLT.
Note that any string can be assigned to a string field but that if it
includes a TAB character it will generate an extra field. For example:
OPEN "A:ABC",A,A$,B$,C$
A.B$="Hello"
A.A$="AB"+CHR$(9)+"CD"
PRINT A.C$
GET
will print "Hello" to the screen. The file buffer contains:
0B 41 42 09 43 44 09 48 65 6C 6C 6F
Saving data in ASCII is simple but it is easy to see how data can be
compressed by using BCD, hexadecimal or other techniques.
Re: Database files editing question
Posted: Tue Jan 21, 2025 6:57 am
by Martin
spectreman wrote: Tue Jan 21, 2025 12:04 am
after experimenting transferring ODB files to & from the Organiser to the FileMaker DOS program.
I do realize when opening a ODB file in FileMaker, there needs to be a TAB to separate the fields, otherwise the file gets split up into lots of different records on separate pages which is not what I want.
Sorry Chris I see now what's happening... The answer is in the COMMS SETUP section... Set
protocol to PSION which was included when the RS242 Link became the Comms Link. It overrules most of the other settings
(I can't remember exactly which but it is written somewhere). Other Chris (@Zenerdiode) correctly spotted
(here) that handshaking should be set to
NONE to prevent the pesky characters being added at the end of a file.
Sincerely
Martin
Re: Database files editing question
Posted: Sun Jan 26, 2025 9:51 am
by MartinP
Spectreman,
When storing a record using SAVE from the main menu, a TAB can be entered on the keyboard by pressing the down arrow.
Each line of text is a field in the record.
Also, with an LZ you can use SHIFT-SPACE to insert one.
Martin P.