does anyone have a structure-description of the FPT-Files ?
Ecki
I posted a small breakdown of FPTs quite a while ago (2yrs?) - google should
have it by now.
Basicly if you look at the MEMO field of the DBF with a hex editor you'll
see a number
Eg 123 for record #1
In the memo (FPT) file
bytes 3 & 4 are the memoblock size (0000 0020) = 32
now we take the memoblock size (32) and multiply by the number we found in
the DBF (123) and get the offset into the memo where the data is stored for
that record.
Eg
32 * 123 = 3936
move to byte 3936 of the memo.
Now we have some bytes that describe the data here.
Bytes 1 - 4 describe the data type (1 = text)
Bytes 5 - 8 is the data length
Bytes 9 - data length is the data
data length +1 to memoblocksize multiple (ie 32/64/96/128) -1 padded with
chr(0) last bit is 175(AF)
So data of '123456789' will look like
0000 0001 0000 0009 3132 3334 3536 3738 3900 0000... AF
|DataType | Length | Data | padding
|EOD
That's about it - quite simple really<g>
--
HTH
Steve Quinn
http://www.tuxedo.org/~esr/faqs/smart-questions.html
'I want to move to Theory...Everything works in Theory'
Its on KnowVO.
(...and my website in about a week)
Geoff
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap5re1$rkm9h$1...@ID-104793.news.dfncis.de...
http://www.e-bachmann.dk/docs/xbase.htm
Phil McGuinness
----------------
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap5re1$rkm9h$1...@ID-104793.news.dfncis.de...
set memoblock to 64
is it possible, that this is only used when creating a DBF + FPT-File ??
I donn´t think it is used when reading/writing data to such files, because
the used blocksize for reading/writing data is retrieved from the Header
in the FPT-File.
Ecki
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> schrieb im Newsbeitrag
news:ap5re1$rkm9h$1...@ID-104793.news.dfncis.de...
Ecki
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> schrieb im Newsbeitrag
news:ap6f8g$rung2$1...@ID-104793.news.dfncis.de...
There will be a problem if you are using Clipper 5.2 which is Flex II and VO
is Flex III
Clipper 5.3 used Flex III.
Remember that Fle II and Flex III are different formats.
Also you have to what set your ANSI() settings to get it to work.
Phil
----
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap6fc3$rqhke$1...@ID-104793.news.dfncis.de...
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:ap6fv9$s7u9f$1...@ID-88745.news.dfncis.de...
mmm.. Are you creating FPT / DBV memos and what RDD is creating them. This
is the important issue.
If you are using Flex for your memos then you have a DBV or FPT extension.
If using Clipper 5.2 you are generating Flex II memos if your are using
Clipper 5.3 you are generating Flex III memos.
snip[ what kind of problems could it be ß ]
Without knowing which version of Clipper 5.2 or 5.3 and are you using Flex
.... more information required..
The basic problem is they are different formats and things especially like
arrays storage and retrieval are a problem.
It has been tried before and will little success.
When developers are using VO and Clipper together most has been .DBT memos
and .NTX driver where they are quite compatible.
Phil
----
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap6gab$rl89c$1...@ID-104793.news.dfncis.de...
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:ap6hcf$s5n1h$1...@ID-88745.news.dfncis.de...
OK.. so are they FlexII type .FPT or Fox .FPT
Flex stuff recycled records and did a lot of neat stuff the .FPT did not do.
One of the reasons for Flex III was to make it Fox/MicroSlop compatible.
The Memo size was 32 or 33 depending on who you believe for compatibility.
Comix was written by one of the VO developers (David) and Flex was written
by another (Brice) but they mayhave been on different teams at the time.
Brian sold the Comix and Flex stuff to CA for inclusion in Clipper and VO
and so under VO2,6 they are meet again...
Phil
----
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap6i08$rroo9$1...@ID-104793.news.dfncis.de...
do i understand this right? Vo 2.5b3 uses Flex Type III and Clipper/Comix
(3.09)
uses Typ II ?
So i will not be able to share that FPT-File with Clipper and VO ?
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:ap6jin$s4j81$1...@ID-88745.news.dfncis.de...
The Flex 312 library has a library to link into Clipper 5.2 which gives you
Flex III
Have not tried but I believe you can do it. I am sure Steve Quinn and I got
this working a few years ago.
If do use be aware of you ANSI settings and even Collation sequence.
Phil McGuinness
-------------------
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:ap6kri$s7v9v$1...@ID-104793.news.dfncis.de...
Does the following error mean the incompatibility between VO + Comix ?
Comix 1011
a write wich should have worked failed
this would occur if the media failed or a physical lock
on the region existed.
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:ap6jin$s4j81$1...@ID-88745.news.dfncis.de...
Your incorrect with some of that info
COMIX and SIXDRIVER create FPT type memoes the same as VO and Flexfile 3.
Flexfile 2 is the outsider in this case - they are non-standard, ergo the
switch to 'standard' form in Flexfile 3.
> Does the following error mean the incompatibility between VO + Comix ?
>
> Comix 1011
> a write wich should have worked failed
NO - you need to make sure ALL variables are covered in both Clipper and VO
MEMOBLOCKSIZE
INDEX KEYS
ANSI/OEM
COLLATION
Read my other post re: Phil was incorrect in some of the info imparted to
you.
snip[ COMIX and SIXDRIVER create FPT type memoes ]
I did not say they did not create FPT memos... I said I do not believe they
created FLEX type FPT memos.
Lots of products create FPT memos..
You have to remember that Brice added dynamic record and space recovery into
his Flex which does not happen in standard FPT memos. Original Flex memos
were not FPT compatible and this is why he called them DBV's.
As the FPT format was the standard he had to add this compatibility and of
course the good Flex stuff as well.
Phil
----
"Stephen Quinn" <squ...@brutecom.com.au> wrote in message
news:ap7isl$sj5ui$1...@ID-88745.news.dfncis.de...
I'm not arguing that
COMIX creates Fox FPT format files - ie has nothing to do with Flexfile
SIXDRIVER creates Fox FPT format files - ie has nothing to do with Flexfile
VO creates Fox FPT format files - It uses Flexfile 3
So to get - Fox FPT format files all of the following apply (excluding
DBFMDX)
Clipper 5.2 and SIXDRIVER
Clipper 5.2 and SIXDRIVER with FLEXFILE 3
Clipper 5.2 and COMIX
Clipper 5.2 and DBFNTX and DBFMEMO from FLEXFILE 3
Clipper 5.3 uses COMIX and FLEXFILE 3 by default
VO uses COMIX and FLEXFILE 3 by default
VO and DBFNTX and DBFMEMO
>You have to remember that Brice added dynamic record and space recovery
into
>his Flex which does not happen in standard FPT memos.
I think you'll find he wrote Flexfile because of the inefficient data
storage with DBTs than FPTs, it's only later, after M$ bought FOX, that FPTs
became the 'standard'.
I dont have a problem with anything you said.
I dont even know what the issue is anymore.... It got lost in the detail.
Phil
----
"Stephen Quinn" <squ...@brutecom.com.au> wrote in message
news:ap7lmj$rupg1$1...@ID-88745.news.dfncis.de...
the results of my test running the last days:
Creating a DBF-FPT with Clipper and writing with Clipper + Comix 3.09 and VO
CDX
will work. But when deleting recs with clipper or trying to add some text to
an existing
Memofiled will result in the following error with Clipper.
Comix 1011
a write wich should have worked failed
this would occur if the media failed or a physical lock on the region
existed.
These are the VO settings
SetAnsi(FALSE)
SetCollation(#CLIPPER)
SetInternational(#CLIPPER)
SetExclusive(FALSE)
Set Date german
SetDateCountry(GERMAN)
SetDateFormat("DD.MM.YYYY")
SetCentury(TRUE)
SetDeleted( FALSE )
RDDINFO( _SET_FOXLOCK , FALSE )
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:ap7m7q$s6uop$1...@ID-88745.news.dfncis.de...
What's the memoblocksize??
They need to be the same for both apps.
If you want zip up the .prg and test AEF and I'll try here.
Ecki
"Stephen Quinn" <squ...@brutecom.com.au> schrieb im Newsbeitrag
news:apasfs$t5jn7$1...@ID-88745.news.dfncis.de...
Note: Changing SetInternational() automatically changes SetCollation() so
that the two settings are the same.
Do me a favour... create a memo in VO and have a look with any Editor and
you should see ;
FlexFile3 in the first say 100 characters.
OK... create a Memo in Clipper + Commix 3.09
What is in the first 100 characters of that memo..?
Better still send me a DBF and MEMO you have created in your Clipper
environment.
Phil McGuinness
--------------------
"Eckhard Sallermann" <eckhard.s...@bur-kg.de> wrote in message
news:apas6g$tahp3$1...@ID-104793.news.dfncis.de...
now i was trying using Flock() instead of rlock.
all the same whether i do an append or replace in that DBF-FTP-CDX
i first call Flock(), write/appen to that file and than do an unlock and
this seems to work.
Ecki
"Phil McGuinness" <hey...@sherlock.com.au> schrieb im Newsbeitrag
news:apatbl$ta2gt$1...@ID-88745.news.dfncis.de...