You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
(6) |
Sep
(1) |
Oct
(9) |
Nov
(16) |
Dec
(1) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(6) |
Feb
(16) |
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2002 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(12) |
Nov
(12) |
Dec
(4) |
| 2003 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(13) |
Oct
|
Nov
|
Dec
|
| 2004 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
(5) |
Jul
(5) |
Aug
(1) |
Sep
|
Oct
(7) |
Nov
|
Dec
(3) |
| 2005 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(17) |
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(22) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(7) |
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2010 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
(3) |
Mar
|
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
| 2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Gary K. <gbo...@ya...> - 2025-07-23 14:47:22
|
Hello Sourceforge XDB/Xbase64 user community Does anyone happen to have access to a file spec for the Version 3 MDX index file layout? There are plenty of version 2 specs floating around but I haven't been able to put my hands on a version 3 spec. Regards Gary K |
|
From: Gary K <gku...@gm...> - 2025-07-23 13:57:13
|
Hello Sourceforge XDB/Xbase64 user community Does anyone happen to have access to a file spec for the Version 3 MDX index file layout? There are plenty of version 2 specs floating around but I haven't been able to put my hands on a version 3 spec. Regards GK |
|
From: Stakhanov <sta...@ho...> - 2015-11-18 20:16:34
|
Hi all. I am still trying to launch Xbase in my project, it works ok, but I have some DBF files created in Windows and with fields having Cyrillic text, it's a pity but Xbase can't read it, can't read Cyrillic text :( How can I fix it? Thanks in advance. |
|
From: Stakhanov <sta...@ho...> - 2015-11-08 19:38:02
|
Hi all! There is code in sample directory: xbXBase x; xbDbf MyFile( &x ); but how can I initialize xbDbf in NOT constructor? I.e. I'd like something like this: xbXBase x; xbDbf MyFile; MyFile.SetXBase( &x ); Thanks in advance. |
|
From: D P <djp...@gm...> - 2013-06-08 13:30:22
|
I'm trying to create some indexes (NTX version 4) for my database and getting strange results. The fields are character fields LNAME and FNAME. If my expression is: char *exp = "TRIM(LNAME) + TRIM(FNAME)" it fails. I've worked around that using char *exp = "LNAME - TRIM(FNAME)" which appears to work (at least doesn't return 116). The problem happens when I only wish to TRIM() 1 field char *exp = "TRIM(LNAME)" fails with a 116. Can this be done? Also, as an FYI to anyone interested, there is a DTOS() function available for indexing dates that returns YYYYMMDD that didn't seem to make the documentation. |
|
From: D P <djp...@gm...> - 2013-04-11 02:31:39
|
Hi Gary, Thanks. The code looked OK and both xbconfig.h and xbwincfg.h have #define XB_MEMO_FIELDS 1. I un-tarred a fresh copy and brought it into codeblocks again, globally replaced all the #ifdef XB_MEMO_FIELDS with //#ifdef and then compiled again with MINGW to let the compiler point out the orphan #endif 's. Maybe I fat fingered (or fat brained lol) something when I originally did it. I recompiled again, and memo fields now work. I have no clue why they wouldn't with the #ifdef's there, everything should have worked. Maybe it's a codeblocks/MINGW thing, but I'll have to look after I get my code back on track. Will keep everyone posted if I find out the why. Thanks again...this is a great library! I'm really loving having my simple but powerful .DBF's back for stand alone apps. I've already re-invented a ton of old Clipper commands and functions into my own lib to use with it lol. Just a quick question. I remember reading somewhere (maybe in the old docs, can't find the reference again) that there was a problem with locking in Windows. Is that old news that's been fixed or still an issue? Thanks again. On 4/10/13, Gary Kunkel <gbo...@ya...> wrote: > Make sure the code isn't commented out in the file. > > There should be an actual piece of code for this in one of the .cpp files - > you might want to check to make sure it is there. > > Gary > > > ________________________________ > From: D P <djp...@gm...> > To: xdb...@li... > Sent: Friday, April 5, 2013 4:42 PM > Subject: [XDB-users] UpdateMemoData problem > > A while ago, I downloaded xbase and attempted to compile it using > MinGW/msys with no luck (see my earlier post). I took the .cpp files > and the .h files and created a new code::blocks project and after some > minor cosmetic changes, was able to compile the library successfully > and have been happily creating structures, databases, indexes and even > memo files! > > So now, I'm writing a project in which I would like to USE those > wonderful structures, databases and index files and everything works > fine until I try to write a memo field to the database: > > if ( rc = (CustMFile.UpdateMemoData(CUSTCMT,MemoLen, &C_Memo, XB_LOCK > )) != XB_NO_ERROR ) > > I try to compile and I get : > > C:\Dev\xxxx\new_cust.cpp|725|error: no matching function for call to > 'xbDbf::UpdateMemoData(xbShort&, xbLong&, char (*)[1025], int)' > > I go back to the library source and check things.... > > XB_MEMO_FIELDS is defined to 1, everything else looks good. I even go > as far as to comment every #ifdef XB_MEMO_FIELDS #endif pair in the > entire library, recompile and still the same result. I've spent 3 days > trying to figure this out, to no avail. Can anyone PLEASE point me in > the right direction? > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > XDB-users mailing list > XDB...@li... > https://lists.sourceforge.net/lists/listinfo/xdb-users |
|
From: Gary K. <gbo...@ya...> - 2013-04-10 21:16:20
|
Make sure the code isn't commented out in the file. There should be an actual piece of code for this in one of the .cpp files - you might want to check to make sure it is there. Gary ________________________________ From: D P <djp...@gm...> To: xdb...@li... Sent: Friday, April 5, 2013 4:42 PM Subject: [XDB-users] UpdateMemoData problem A while ago, I downloaded xbase and attempted to compile it using MinGW/msys with no luck (see my earlier post). I took the .cpp files and the .h files and created a new code::blocks project and after some minor cosmetic changes, was able to compile the library successfully and have been happily creating structures, databases, indexes and even memo files! So now, I'm writing a project in which I would like to USE those wonderful structures, databases and index files and everything works fine until I try to write a memo field to the database: if ( rc = (CustMFile.UpdateMemoData(CUSTCMT,MemoLen, &C_Memo, XB_LOCK )) != XB_NO_ERROR ) I try to compile and I get : C:\Dev\xxxx\new_cust.cpp|725|error: no matching function for call to 'xbDbf::UpdateMemoData(xbShort&, xbLong&, char (*)[1025], int)' I go back to the library source and check things.... XB_MEMO_FIELDS is defined to 1, everything else looks good. I even go as far as to comment every #ifdef XB_MEMO_FIELDS #endif pair in the entire library, recompile and still the same result. I've spent 3 days trying to figure this out, to no avail. Can anyone PLEASE point me in the right direction? ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ XDB-users mailing list XDB...@li... https://lists.sourceforge.net/lists/listinfo/xdb-users |
|
From: D P <djp...@gm...> - 2013-04-06 11:58:02
|
A while ago, I downloaded xbase and attempted to compile it using MinGW/msys with no luck (see my earlier post). I took the .cpp files and the .h files and created a new code::blocks project and after some minor cosmetic changes, was able to compile the library successfully and have been happily creating structures, databases, indexes and even memo files! So now, I'm writing a project in which I would like to USE those wonderful structures, databases and index files and everything works fine until I try to write a memo field to the database: if ( rc = (CustMFile.UpdateMemoData(CUSTCMT,MemoLen, &C_Memo, XB_LOCK )) != XB_NO_ERROR ) I try to compile and I get : C:\Dev\xxxx\new_cust.cpp|725|error: no matching function for call to 'xbDbf::UpdateMemoData(xbShort&, xbLong&, char (*)[1025], int)' I go back to the library source and check things.... XB_MEMO_FIELDS is defined to 1, everything else looks good. I even go as far as to comment every #ifdef XB_MEMO_FIELDS #endif pair in the entire library, recompile and still the same result. I've spent 3 days trying to figure this out, to no avail. Can anyone PLEASE point me in the right direction? |
|
From: D P <djp...@gm...> - 2013-04-05 21:42:26
|
A while ago, I downloaded xbase and attempted to compile it using MinGW/msys with no luck (see my earlier post). I took the .cpp files and the .h files and created a new code::blocks project and after some minor cosmetic changes, was able to compile the library successfully and have been happily creating structures, databases, indexes and even memo files! So now, I'm writing a project in which I would like to USE those wonderful structures, databases and index files and everything works fine until I try to write a memo field to the database: if ( rc = (CustMFile.UpdateMemoData(CUSTCMT,MemoLen, &C_Memo, XB_LOCK )) != XB_NO_ERROR ) I try to compile and I get : C:\Dev\xxxx\new_cust.cpp|725|error: no matching function for call to 'xbDbf::UpdateMemoData(xbShort&, xbLong&, char (*)[1025], int)' I go back to the library source and check things.... XB_MEMO_FIELDS is defined to 1, everything else looks good. I even go as far as to comment every #ifdef XB_MEMO_FIELDS #endif pair in the entire library, recompile and still the same result. I've spent 3 days trying to figure this out, to no avail. Can anyone PLEASE point me in the right direction? |
|
From: Gary K. <gbo...@ya...> - 2013-02-06 21:30:16
|
Glad to see that library is still getting some use ________________________________ From: D P <djp...@gm...> To: xdb...@li... Sent: Wednesday, February 6, 2013 3:24 PM Subject: Re: [XDB-users] Install Xbase into MinGW problem Please disregard my earlier question. I brought the source into Codeblocks, made a few changes and compiled it into a library. Very nice job on this library, It gives me the building blocks to create higher level stuff and make .dbf files useful again. My Thanks! ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ XDB-users mailing list XDB...@li... https://lists.sourceforge.net/lists/listinfo/xdb-users |
|
From: D P <djp...@gm...> - 2013-02-06 21:24:27
|
Please disregard my earlier question. I brought the source into Codeblocks, made a few changes and compiled it into a library. Very nice job on this library, It gives me the building blocks to create higher level stuff and make .dbf files useful again. My Thanks! |
|
From: D P <djp...@gm...> - 2013-02-02 15:04:49
|
I am trying to install Xbase into my MinGW and every time I run
../configure it produces zero byte makefiles. Can anyone tell me what I'm
doing wrong? Here's a little about how I'm set up.
Windows XP SP 3
MinGW freshly installed using mingw-get to C:\MinGW (C:\MinGW\bin added to
path)
MSYS-1.0.11.exe installed to C:\MSys (HOME=C:\MSys\1.0\home)
msysDTK-1.0.1.exe installled
xbase64-3.1.2.tar.gz untarred to C:\Xbase
I start Msys and mount C:/Xbase /Xbase
cd xbase64 (the source directory)
Here's what happens:
Administrator@COMM_MGR /Xbase/xbase64
$ ../configure
checking for gcc... gcc
checking for C compiler default output... a.exe
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... .exe
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for AIX... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets ${MAKE}... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... i686-pc-mingw32
checking host system type... i686-pc-mingw32
checking for ld used by GCC... c:/mingw/mingw32/bin/ld.exe
checking if the linker (c:/mingw/mingw32/bin/ld.exe) is GNU ld... yes
checking for c:/mingw/mingw32/bin/ld.exe option to reload object files... -r
checking for BSD-compatible nm... /c/MinGW/bin//nm
checking whether ln -s works... yes
checking how to recognise dependant libraries... file_magic file format
pei*-i38
6(.*architecture: i386)?
checking command to parse /c/MinGW/bin//nm output... ok
checking dlfcn.h usability... no
checking dlfcn.h presence... no
checking for dlfcn.h... no
checking for ranlib... ranlib
checking for strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -DDLL_EXPORT
checking if gcc PIC flag -DDLL_EXPORT works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (c:/mingw/mingw32/bin/ld.exe) supports shared
librar
ies... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... Win32 ld.exe
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for doxygen... no
checking for ANSI C header files... (cached) yes
checking io.h usability... yes
checking io.h presence... yes
checking for io.h... yes
checking sys/locking.h usability... yes
checking sys/locking.h presence... yes
checking for sys/locking.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking ctype.h usability... yes
checking ctype.h presence... yes
checking for ctype.h... yes
checking for unistd.h... (cached) yes
checking for vsnprintf... yes
checking for vsprintf... yes
checking for strcasecmp... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for _LARGE_FILES value needed for large files... no
checking for ftello... no
checking for fseeko... no
configure: creating ./config.status
config.status: creating Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating xbase64/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating examples/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating bin/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating html/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating libtest/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating xbase64-config
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating xbase64.spec
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating docs/doxygen.cfg
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating docs/Makefile
sed: file /tmp/cs3300-28120/subs-2.sed line 37: Unterminated `s' command
config.status: creating xbase64/xbconfig.h
config.status: executing depfiles commands
Administrator@COMM_MGR /Xbase/xbase64
|
|
From: Roland H. <ro...@lo...> - 2010-03-15 00:04:41
|
I'll have to dig deep then. Was hoping someone already had the build procedure in place to create the DLL. On Sunday 14 March 2010 04:53:44 pm Gary Kunkel wrote: > Hi Roland > > Not that I know of. > > There is documentation in the project somewhere on how to compile the > source members though. > Gary > > --- On Sun, 3/14/10, Roland Hughes <ro...@lo...> wrote: > > > From: Roland Hughes <ro...@lo...> > Subject: [XDB-users] xbase and Mono? > To: xdb...@li... > Date: Sunday, March 14, 2010, 9:43 AM > > > Hello, > > Has anyone created a build process for this library to make it work with > the Mono project? I'm beginning to experiment with Mono, but would like a > good Xbase type library before going to far. > -- Roland Hughes, President Logikal Solutions (630)-205-1593 (cell) http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.logikalsolutions.com |
|
From: Gary K. <gbo...@ya...> - 2010-03-14 21:53:52
|
Hi Roland Not that I know of. There is documentation in the project somewhere on how to compile the source members though. Gary --- On Sun, 3/14/10, Roland Hughes <ro...@lo...> wrote: From: Roland Hughes <ro...@lo...> Subject: [XDB-users] xbase and Mono? To: xdb...@li... Date: Sunday, March 14, 2010, 9:43 AM Hello, Has anyone created a build process for this library to make it work with the Mono project? I'm beginning to experiment with Mono, but would like a good Xbase type library before going to far. -- Roland Hughes, President Logikal Solutions (630)-205-1593 (cell) http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.logikalsolutions.com ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ XDB-users mailing list XDB...@li... https://lists.sourceforge.net/lists/listinfo/xdb-users |
|
From: Roland H. <ro...@lo...> - 2010-03-14 14:56:41
|
Hello, Has anyone created a build process for this library to make it work with the Mono project? I'm beginning to experiment with Mono, but would like a good Xbase type library before going to far. -- Roland Hughes, President Logikal Solutions (630)-205-1593 (cell) http://www.theminimumyouneedtoknow.com http://www.infiniteexposure.net http://www.logikalsolutions.com |
|
From: <it...@it...> - 2007-04-04 16:15:34
|
In short, I've spent the last hours trying to compile and use xbase-3.1.2 or earlier verisions with mingw32 and Dev-C++ respectively. As for my pre-requisites in doing this... I've used Dev-C++ before, but not in an advanced way. If i have ever used a makefile before, i didn't know about it. I've been trying to make sense of the notes inside the releases, some of the information in the mailing list and google to understand how to do, and once i realised i failed what i'm doing wrong. What i have figured out right now is that makefile.g95 belongs to mingw32, however these files seems to be missing from 3.1.2. Same goes for another file mentioned in the mailing list. configw32.h or something such. In general when i have tried run makefiles i've had complaints regarding no access, no such files and when trying to configure it through MSYS(first time using it) it claimed i had no suitable compiler even when aiming it directly at the minigw32 folder. I suspect i've done more then one thing wrong, but if i could find out what to do when the files are missing it would be a start at least. :) Thx in advance Dhaiwon |
|
From: Gary K. <gbo...@ya...> - 2006-12-18 14:04:16
|
Hi Igor
The library used to read memo fields once upon a time.
It still should as I don't think the library has been too hacked up in that regard.
There is some documentation included with the library that describes how DBT files are laid out at a low level, maybe that will help you.
Best regards
Gary
Igor Vitorio Custodio <ig...@bo...> wrote:
Hello Gary,
I did some modifications on the source of xbase64-3.1.2 and compiled it to Linux.
But I can't read the Memo field. I was looking for the piece of source code that access "DBT" files, because I have 2 files, one is myfile.dbf that has some fields:
Field -> 0 Type: N
Field -> 1 Type: M
Field -> 2 Type: N
Field -> 3 Type:C
And the myfile.dbt that has the "memo" part of the field (field 1). Maybe this library dosen't work with this kind of relationship, the .dbf having a pointer to a memo field that was in another file!
I'm right?
Here are the modifications to compile this new version on Linux. If want, I can build a patch:
/* "ori" are the original files (without modifications)*/
diff xbase64.h-ori xbase64.h
124a125
> #include
diff xbfilter.h-ori xbfilter.h
50a51,52
> #include
>
diff xbnode.cpp ../../../xbase64-3.1.2/xbase64/xbnode.cpp
1c1
< #include "xbNode.h"
---
> #include "xbnode.h"
That's it ...
Beste regards ...
--
---- ------- --------
~ Igor Vitório Custódio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
Gary Kunkel escreveu:
>
> OK
>
> Well I think there are some windows compile scripts that you can use to
> compile the library for windows with the Borland C compiler.
>
> Maybe try that
>
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
XDB-users mailing list
XDB...@li...
https://lists.sourceforge.net/lists/listinfo/xdb-users
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com |
|
From: Igor V. C. <ig...@bo...> - 2006-12-18 11:38:37
|
Hello Gary,
I did some modifications on the source of xbase64-3.1.2 and compiled it =
to Linux.
But I can't read the Memo field. I was looking for the piece of source c=
ode that access "DBT" files, because I have 2 files, one is myfile.dbf th=
at has some fields:
Field -> 0 Type: N
Field -> 1 Type: M
Field -> 2 Type: N
Field -> 3 Type:C
And the myfile.dbt that has the "memo" part of the field (field 1). Mayb=
e this library dosen't work with this kind of relationship, the .dbf havi=
ng a pointer to a memo field that was in another file!
I'm right?
Here are the modifications to compile this new version on Linux. If want=
, I can build a patch:
/* "ori" are the original files (without modifications)*/
diff xbase64.h-ori xbase64.h
124a125
> #include <errno.h>
diff xbfilter.h-ori xbfilter.h
50a51,52
> #include <errno.h>
>
diff xbnode.cpp ../../../xbase64-3.1.2/xbase64/xbnode.cpp
1c1
< #include "xbNode.h"
---
> #include "xbnode.h"
That's it ...
Beste regards ...
--
---- ------- --------
~ Igor Vit=F3rio Cust=F3dio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
Gary Kunkel escreveu:
>
> OK
>
> Well I think there are some windows compile scripts that you can use to=
> compile the library for windows with the Borland C compiler.
>
> Maybe try that
>
>
|
|
From: Gary K. <gbo...@ya...> - 2006-12-15 14:20:05
|
OK
Well I think there are some windows compile scripts that you can use to compile the library for windows with the Borland C compiler.
Maybe try that
Igor Vitorio Custodio <ig...@bo...> wrote: Hello Gary,
I can't compile the xbase64-3.1.2 and xbase Daily snapshot either!
The errors:
Daily snapshot:
/usr/share/aclocal/ORBit.m4:4: warning: underquoted definition of AM_PATH_ORBIT
acinclude.m4:539: error: m4_defn: undefined macro: _m4_divert_diversion
autoconf/functions.m4:458: AM_FUNC_ERROR_AT_LINE is expanded from...
acinclude.m4:539: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1
make: ** [aclocal.m4] Erro 1
xbase64-3.1.2:
In file included from /home/igorvc/dbf/xbase64-3.1.2/xbase64/xbase64.h:233,
from xbase64.cpp:51:
/home/igorvc/dbf/xbase64-3.1.2/xbase64/xbfilter.h:47:14: warning: extra tokens at end of #ifdef directive
xbase64.cpp: In member function `xbShort xbXBase::LockFile(int, xbShort, xbOffT)':
xbase64.cpp:729: error: `errno' was not declared in this scope
xbase64.cpp:729: error: `EINTR' was not declared in this scope
make[2]: ** [xbase64.lo] Erro 1
make[2]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make[1]: ** [all] Erro 2
make[1]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make: ** [all-recursive] Erro 1
Thanks ...
--
---- ------- --------
~ Igor Vitório Custódio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
Gary Kunkel escreveu:
>
> Maybe try the latest 3.x version and see if that works for you.
>
> Gary
>
>
>
> */Igor Vitorio Custodio /* wrote:
>
> Hello!
>
> I'm having problems with memo fields.
>
> See the code and explanation about the problem below:
>
> I have a lot of DBF files that I need to port to Postgres, but first I
> need to read it.
>
> I downloaded the 2.0.0 version of XBase and I'm developing in Slackware
> Linux with gcc 3.4.6. I installed and runned the example programs fine.
>
> So, I started to code a program, using the example4.cpp like a
> example, to
> port my DBF file to the database, first writting the result at STDOUT.
>
> This is the code:
>
> // test.cpp
> #include
>
> int main()
> {
> xbShort rc;
> xbShort clientNumber, clientRegist, docNumber, chkSum;
> xbLong memoSize ;
> char buf[40000];
> xbXBase x;
> xbDbf MyFile( &x );
> if(( rc = MyFile.OpenDatabase( "MYFILE.DBF" )) != XB_NO_ERROR )
> {
> cout << "\nError opening file rc = " << rc << "\n";
> exit(1);
> }
>
>
> docNumber = MyFile.GetFieldNo( "NUMMEDICO" );
> clientRegist = MyFile.GetFieldNo( "PRONTUARIO" );
> clientNumber = MyFile.GetFieldNo( "NUMCLIENTE" );
> chkSum = MyFile.GetFieldNo( "CHKSUM" );
>
> cout << "\n Position of NUMCLIENTE -> " << clientNumber
> << " Type: " << MyFile.GetFieldType( clientNumber );
> cout << "\n Position of NUMMEDICO -> " << docNumber
> << " Type: " << MyFile.GetFieldType( docNumber );
> cout << "\n Position of PRONTUARIO -> " << clientRegist
> << " Type: " << MyFile.GetFieldType( clientRegist ); // memo!
> cout << "\n Position of CHKSUM -> " << chkSum
> << " Type:" << MyFile.GetFieldType( chkSum );
> rc = MyFile.GetFirstRecord();
> while( rc == XB_NO_ERROR )
> {
> rc = MyFile.GetNextRecord();
> memoSize = MyFile.GetMemoFieldLen( clientRegist );
> cout << " Memo Size = " << memoSize ;
> xbShort erro = MyFile.GetMemoField( 1, 40000, buf, F_SETLK );
> cout << " Error cod. " << erro;
> switch (erro)
> {
> case XB_INVALID_FIELDNO:
> cout << "\nAn invalid field number was used";
> break;
> case XB_NOT_MEMO_FIELD:
> cout << "\nNot a memo field";
> break;
> case XB_NO_MEMO_DATA:
> cout << "\nNo memo data exists";
> break;
> case XB_INVALID_BLOCK_NO:
> cout << "\nInternal error, notify tech support";
> break;
> case XB_SEEK_ERROR :
> cout << "\nDisk Error";
> break;
> case XB_READ_ERROR:
> cout << "\nDisk Error";
> break;
> case XB_NO_ERROR:
> cout << "\nNo Error";
> break;
> }
>
> if (MyFile.MemoFieldsPresent())
> cout << "\nTHERE IS a memo register!" << endl;
> else
> cout << "\nTHERE ISN'T memo register!" << endl;
>
>
> }
>
> if(( rc = MyFile.PackDatabase( F_SETLKW )) != XB_NO_ERROR )
> cout << "\nError packing database rc = " << rc;
> else
> cout << "\n\n\n\nDatabase packed.\n";
>
> MyFile.ExclusiveUnlock(); /* unlock the files */
> MyFile.CloseDatabase(); /* close database */
> return 0;
> }
>
>
> I compile without problens!
>
> But see the result at STDOUT:
>
> Position of NUMCLIENTE -> 0 Type: N
> Position of NUMMEDICO -> 2 Type: N
> Position of PRONTUARIO -> 1 Type: M
> Position of CHKSUM -> 3 Type:C
> (...) // a lot of ...
> Memo Size = 0 Error cod. -134
> No memo data exists
> THERE IS a memo register!
> (...)
>
> Can anyone explain why MyFile.MemoFieldsPresent() say that there is
> a memo
> field but MyFile.GetMemoField and MyFile.GetMemoFieldLen() don't ????
>
> Best regards
>
> --
> ---- ------- --------
> ~ Igor Vitório Custódio (igorvc)
> ' v ' PLACA - ENC 03 - UFSCar
> / / \ \ E-Mail: ig...@bo...
> / ( ) \ http://www.igor.uni.cc
> ^ ` ~ ' ^ Linux User: #322156
>
>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
XDB-users mailing list
XDB...@li...
https://lists.sourceforge.net/lists/listinfo/xdb-users
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com |
|
From: Igor V. C. <ig...@bo...> - 2006-12-14 20:11:50
|
Hello Gary,
I can't compile the xbase64-3.1.2 and xbase Daily snapshot either!
The errors:
Daily snapshot:
/usr/share/aclocal/ORBit.m4:4: warning: underquoted definition of AM_PATH=
_ORBIT
acinclude.m4:539: error: m4_defn: undefined macro: _m4_divert_diversion
autoconf/functions.m4:458: AM_FUNC_ERROR_AT_LINE is expanded from...
acinclude.m4:539: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1
make: ** [aclocal.m4] Erro 1
xbase64-3.1.2:
In file included from /home/igorvc/dbf/xbase64-3.1.2/xbase64/xbase64.h:23=
3,
from xbase64.cpp:51:
/home/igorvc/dbf/xbase64-3.1.2/xbase64/xbfilter.h:47:14: warning: extra t=
okens at end of #ifdef directive
xbase64.cpp: In member function `xbShort xbXBase::LockFile(int, xbShort, =
xbOffT)':
xbase64.cpp:729: error: `errno' was not declared in this scope
xbase64.cpp:729: error: `EINTR' was not declared in this scope
make[2]: ** [xbase64.lo] Erro 1
make[2]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make[1]: ** [all] Erro 2
make[1]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make: ** [all-recursive] Erro 1
Thanks ...
--
---- ------- --------
~ Igor Vit=F3rio Cust=F3dio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
Gary Kunkel escreveu:
>
> Maybe try the latest 3.x version and see if that works for you.
>
> Gary
>
>
>
> */Igor Vitorio Custodio <ig...@bo...>/* wrote:
>
> Hello!
>
> I'm having problems with memo fields.
>
> See the code and explanation about the problem below:
>
> I have a lot of DBF files that I need to port to Postgres, but firs=
t I
> need to read it.
>
> I downloaded the 2.0.0 version of XBase and I'm developing in Slack=
ware
> Linux with gcc 3.4.6. I installed and runned the example programs f=
ine.
>
> So, I started to code a program, using the example4.cpp like a
> example, to
> port my DBF file to the database, first writting the result at STDO=
UT.
>
> This is the code:
>
> // test.cpp
> #include
>
> int main()
> {
> xbShort rc;
> xbShort clientNumber, clientRegist, docNumber, chkSum;
> xbLong memoSize ;
> char buf[40000];
> xbXBase x;
> xbDbf MyFile( &x );
> if(( rc =3D MyFile.OpenDatabase( "MYFILE.DBF" )) !=3D XB_NO_ERROR )=
> {
> cout << "\nError opening file rc =3D " << rc << "\n";
> exit(1);
> }
>
>
> docNumber =3D MyFile.GetFieldNo( "NUMMEDICO" );
> clientRegist =3D MyFile.GetFieldNo( "PRONTUARIO" );
> clientNumber =3D MyFile.GetFieldNo( "NUMCLIENTE" );
> chkSum =3D MyFile.GetFieldNo( "CHKSUM" );
>
> cout << "\n Position of NUMCLIENTE -> " << clientNumber
> << " Type: " << MyFile.GetFieldType( clientNumber );
> cout << "\n Position of NUMMEDICO -> " << docNumber
> << " Type: " << MyFile.GetFieldType( docNumber );
> cout << "\n Position of PRONTUARIO -> " << clientRegist
> << " Type: " << MyFile.GetFieldType( clientRegist ); // memo!
> cout << "\n Position of CHKSUM -> " << chkSum
> << " Type:" << MyFile.GetFieldType( chkSum );
> rc =3D MyFile.GetFirstRecord();
> while( rc =3D=3D XB_NO_ERROR )
> {
> rc =3D MyFile.GetNextRecord();
> memoSize =3D MyFile.GetMemoFieldLen( clientRegist );
> cout << " Memo Size =3D " << memoSize ;
> xbShort erro =3D MyFile.GetMemoField( 1, 40000, buf, F_SETLK );
> cout << " Error cod. " << erro;
> switch (erro)
> {
> case XB_INVALID_FIELDNO:
> cout << "\nAn invalid field number was used";
> break;
> case XB_NOT_MEMO_FIELD:
> cout << "\nNot a memo field";
> break;
> case XB_NO_MEMO_DATA:
> cout << "\nNo memo data exists";
> break;
> case XB_INVALID_BLOCK_NO:
> cout << "\nInternal error, notify tech support";
> break;
> case XB_SEEK_ERROR :
> cout << "\nDisk Error";
> break;
> case XB_READ_ERROR:
> cout << "\nDisk Error";
> break;
> case XB_NO_ERROR:
> cout << "\nNo Error";
> break;
> }
>
> if (MyFile.MemoFieldsPresent())
> cout << "\nTHERE IS a memo register!" << endl;
> else
> cout << "\nTHERE ISN'T memo register!" << endl;
>
>
> }
>
> if(( rc =3D MyFile.PackDatabase( F_SETLKW )) !=3D XB_NO_ERROR )
> cout << "\nError packing database rc =3D " << rc;
> else
> cout << "\n\n\n\nDatabase packed.\n";
>
> MyFile.ExclusiveUnlock(); /* unlock the files */
> MyFile.CloseDatabase(); /* close database */
> return 0;
> }
>
>
> I compile without problens!
>
> But see the result at STDOUT:
>
> Position of NUMCLIENTE -> 0 Type: N
> Position of NUMMEDICO -> 2 Type: N
> Position of PRONTUARIO -> 1 Type: M
> Position of CHKSUM -> 3 Type:C
> (...) // a lot of ...
> Memo Size =3D 0 Error cod. -134
> No memo data exists
> THERE IS a memo register!
> (...)
>
> Can anyone explain why MyFile.MemoFieldsPresent() say that there is=
> a memo
> field but MyFile.GetMemoField and MyFile.GetMemoFieldLen() don't ??=
??
>
> Best regards
>
> --
> ---- ------- --------
> ~ Igor Vit=F3rio Cust=F3dio (igorvc)
> ' v ' PLACA - ENC 03 - UFSCar
> / / \ \ E-Mail: ig...@bo...
> / ( ) \ http://www.igor.uni.cc
> ^ ` ~ ' ^ Linux User: #322156
>
>
|
|
From: Igor V. C. <ig...@bo...> - 2006-12-14 20:11:43
|
Hello Gary,
I can't compile the xbase64-3.1.2 and xbase Daily snapshot either!
The errors:
Daily snapshot:
/usr/share/aclocal/ORBit.m4:4: warning: underquoted definition of AM_PATH=
_ORBIT
acinclude.m4:539: error: m4_defn: undefined macro: _m4_divert_diversion
autoconf/functions.m4:458: AM_FUNC_ERROR_AT_LINE is expanded from...
acinclude.m4:539: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: autom4te failed with exit status: 1
make: ** [aclocal.m4] Erro 1
xbase64-3.1.2:
In file included from /home/igorvc/dbf/xbase64-3.1.2/xbase64/xbase64.h:23=
3,
from xbase64.cpp:51:
/home/igorvc/tio/dbf/xbase64-3.1.2/xbase64/xbfilter.h:47:14: warning: ext=
ra tokens at end of #ifdef directive
xbase64.cpp: In member function `xbShort xbXBase::LockFile(int, xbShort, =
xbOffT)':
xbase64.cpp:729: error: `errno' was not declared in this scope
xbase64.cpp:729: error: `EINTR' was not declared in this scope
make[2]: ** [xbase64.lo] Erro 1
make[2]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make[1]: ** [all] Erro 2
make[1]: Leaving directory `/home/igorvc/dbf/xbase64-3.1.2/xbase64'
make: ** [all-recursive] Erro 1
Thanks ...
--
---- ------- --------
~ Igor Vit=F3rio Cust=F3dio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
Gary Kunkel escreveu:
>
> Maybe try the latest 3.x version and see if that works for you.
>
> Gary
>
>
>
> */Igor Vitorio Custodio <ig...@bo...>/* wrote:
>
> Hello!
>
> I'm having problems with memo fields.
>
> See the code and explanation about the problem below:
>
> I have a lot of DBF files that I need to port to Postgres, but firs=
t I
> need to read it.
>
> I downloaded the 2.0.0 version of XBase and I'm developing in Slack=
ware
> Linux with gcc 3.4.6. I installed and runned the example programs f=
ine.
>
> So, I started to code a program, using the example4.cpp like a
> example, to
> port my DBF file to the database, first writting the result at STDO=
UT.
>
> This is the code:
>
> // test.cpp
> #include
>
> int main()
> {
> xbShort rc;
> xbShort clientNumber, clientRegist, docNumber, chkSum;
> xbLong memoSize ;
> char buf[40000];
> xbXBase x;
> xbDbf MyFile( &x );
> if(( rc =3D MyFile.OpenDatabase( "MYFILE.DBF" )) !=3D XB_NO_ERROR )=
> {
> cout << "\nError opening file rc =3D " << rc << "\n";
> exit(1);
> }
>
>
> docNumber =3D MyFile.GetFieldNo( "NUMMEDICO" );
> clientRegist =3D MyFile.GetFieldNo( "PRONTUARIO" );
> clientNumber =3D MyFile.GetFieldNo( "NUMCLIENTE" );
> chkSum =3D MyFile.GetFieldNo( "CHKSUM" );
>
> cout << "\n Position of NUMCLIENTE -> " << clientNumber
> << " Type: " << MyFile.GetFieldType( clientNumber );
> cout << "\n Position of NUMMEDICO -> " << docNumber
> << " Type: " << MyFile.GetFieldType( docNumber );
> cout << "\n Position of PRONTUARIO -> " << clientRegist
> << " Type: " << MyFile.GetFieldType( clientRegist ); // memo!
> cout << "\n Position of CHKSUM -> " << chkSum
> << " Type:" << MyFile.GetFieldType( chkSum );
> rc =3D MyFile.GetFirstRecord();
> while( rc =3D=3D XB_NO_ERROR )
> {
> rc =3D MyFile.GetNextRecord();
> memoSize =3D MyFile.GetMemoFieldLen( clientRegist );
> cout << " Memo Size =3D " << memoSize ;
> xbShort erro =3D MyFile.GetMemoField( 1, 40000, buf, F_SETLK );
> cout << " Error cod. " << erro;
> switch (erro)
> {
> case XB_INVALID_FIELDNO:
> cout << "\nAn invalid field number was used";
> break;
> case XB_NOT_MEMO_FIELD:
> cout << "\nNot a memo field";
> break;
> case XB_NO_MEMO_DATA:
> cout << "\nNo memo data exists";
> break;
> case XB_INVALID_BLOCK_NO:
> cout << "\nInternal error, notify tech support";
> break;
> case XB_SEEK_ERROR :
> cout << "\nDisk Error";
> break;
> case XB_READ_ERROR:
> cout << "\nDisk Error";
> break;
> case XB_NO_ERROR:
> cout << "\nNo Error";
> break;
> }
>
> if (MyFile.MemoFieldsPresent())
> cout << "\nTHERE IS a memo register!" << endl;
> else
> cout << "\nTHERE ISN'T memo register!" << endl;
>
>
> }
>
> if(( rc =3D MyFile.PackDatabase( F_SETLKW )) !=3D XB_NO_ERROR )
> cout << "\nError packing database rc =3D " << rc;
> else
> cout << "\n\n\n\nDatabase packed.\n";
>
> MyFile.ExclusiveUnlock(); /* unlock the files */
> MyFile.CloseDatabase(); /* close database */
> return 0;
> }
>
>
> I compile without problens!
>
> But see the result at STDOUT:
>
> Position of NUMCLIENTE -> 0 Type: N
> Position of NUMMEDICO -> 2 Type: N
> Position of PRONTUARIO -> 1 Type: M
> Position of CHKSUM -> 3 Type:C
> (...) // a lot of ...
> Memo Size =3D 0 Error cod. -134
> No memo data exists
> THERE IS a memo register!
> (...)
>
> Can anyone explain why MyFile.MemoFieldsPresent() say that there is=
> a memo
> field but MyFile.GetMemoField and MyFile.GetMemoFieldLen() don't ??=
??
>
> Best regards
>
> --
> ---- ------- --------
> ~ Igor Vit=F3rio Cust=F3dio (igorvc)
> ' v ' PLACA - ENC 03 - UFSCar
> / / \ \ E-Mail: ig...@bo...
> / ( ) \ http://www.igor.uni.cc
> ^ ` ~ ' ^ Linux User: #322156
>
>
|
|
From: Gary K. <gbo...@ya...> - 2006-12-14 19:21:36
|
Maybe try the latest 3.x version and see if that works for you.
Gary
Igor Vitorio Custodio <ig...@bo...> wrote:
Hello!
I'm having problems with memo fields.
See the code and explanation about the problem below:
I have a lot of DBF files that I need to port to Postgres, but first I
need to read it.
I downloaded the 2.0.0 version of XBase and I'm developing in Slackware
Linux with gcc 3.4.6. I installed and runned the example programs fine.
So, I started to code a program, using the example4.cpp like a example, to
port my DBF file to the database, first writting the result at STDOUT.
This is the code:
// test.cpp
#include
int main()
{
xbShort rc;
xbShort clientNumber, clientRegist, docNumber, chkSum;
xbLong memoSize ;
char buf[40000];
xbXBase x;
xbDbf MyFile( &x );
if(( rc = MyFile.OpenDatabase( "MYFILE.DBF" )) != XB_NO_ERROR )
{
cout << "\nError opening file rc = " << rc << "\n";
exit(1);
}
docNumber = MyFile.GetFieldNo( "NUMMEDICO" );
clientRegist = MyFile.GetFieldNo( "PRONTUARIO" );
clientNumber = MyFile.GetFieldNo( "NUMCLIENTE" );
chkSum = MyFile.GetFieldNo( "CHKSUM" );
cout << "\n Position of NUMCLIENTE -> " << clientNumber
<< " Type: " << MyFile.GetFieldType( clientNumber );
cout << "\n Position of NUMMEDICO -> " << docNumber
<< " Type: " << MyFile.GetFieldType( docNumber );
cout << "\n Position of PRONTUARIO -> " << clientRegist
<< " Type: " << MyFile.GetFieldType( clientRegist ); // memo!
cout << "\n Position of CHKSUM -> " << chkSum
<< " Type:" << MyFile.GetFieldType( chkSum );
rc = MyFile.GetFirstRecord();
while( rc == XB_NO_ERROR )
{
rc = MyFile.GetNextRecord();
memoSize = MyFile.GetMemoFieldLen( clientRegist );
cout << " Memo Size = " << memoSize ;
xbShort erro = MyFile.GetMemoField( 1, 40000, buf, F_SETLK );
cout << " Error cod. " << erro;
switch (erro)
{
case XB_INVALID_FIELDNO:
cout << "\nAn invalid field number was used";
break;
case XB_NOT_MEMO_FIELD:
cout << "\nNot a memo field";
break;
case XB_NO_MEMO_DATA:
cout << "\nNo memo data exists";
break;
case XB_INVALID_BLOCK_NO:
cout << "\nInternal error, notify tech support";
break;
case XB_SEEK_ERROR :
cout << "\nDisk Error";
break;
case XB_READ_ERROR:
cout << "\nDisk Error";
break;
case XB_NO_ERROR:
cout << "\nNo Error";
break;
}
if (MyFile.MemoFieldsPresent())
cout << "\nTHERE IS a memo register!" << endl;
else
cout << "\nTHERE ISN'T memo register!" << endl;
}
if(( rc = MyFile.PackDatabase( F_SETLKW )) != XB_NO_ERROR )
cout << "\nError packing database rc = " << rc;
else
cout << "\n\n\n\nDatabase packed.\n";
MyFile.ExclusiveUnlock(); /* unlock the files */
MyFile.CloseDatabase(); /* close database */
return 0;
}
I compile without problens!
But see the result at STDOUT:
Position of NUMCLIENTE -> 0 Type: N
Position of NUMMEDICO -> 2 Type: N
Position of PRONTUARIO -> 1 Type: M
Position of CHKSUM -> 3 Type:C
(...) // a lot of ...
Memo Size = 0 Error cod. -134
No memo data exists
THERE IS a memo register!
(...)
Can anyone explain why MyFile.MemoFieldsPresent() say that there is a memo
field but MyFile.GetMemoField and MyFile.GetMemoFieldLen() don't ????
Best regards
--
---- ------- --------
~ Igor Vitório Custódio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
XDB-users mailing list
XDB...@li...
https://lists.sourceforge.net/lists/listinfo/xdb-users
---------------------------------
Want to start your own business? Learn how on Yahoo! Small Business. |
|
From: Igor V. C. <ig...@bo...> - 2006-12-14 19:04:37
|
Hello!
I'm having problems with memo fields.
See the code and explanation about the problem below:
I have a lot of DBF files that I need to port to Postgres, but first I
need to read it.
I downloaded the 2.0.0 version of XBase and I'm developing in Slackware
Linux with gcc 3.4.6. I installed and runned the example programs fine.
So, I started to code a program, using the example4.cpp like a example, =
to
port my DBF file to the database, first writting the result at STDOUT.
This is the code:
// test.cpp
#include <xbase/xbase.h>
int main()
{
xbShort rc;
xbShort clientNumber, clientRegist, docNumber, chkSum;
xbLong memoSize ;
char buf[40000];
xbXBase x;
xbDbf MyFile( &x );
if(( rc =3D MyFile.OpenDatabase( "MYFILE.DBF" )) !=3D XB_NO_ERROR )
{
cout << "\nError opening file rc =3D " << rc << "\n";
exit(1);
}
docNumber =3D MyFile.GetFieldNo( "NUMMEDICO" );
clientRegist =3D MyFile.GetFieldNo( "PRONTUARIO" );
clientNumber =3D MyFile.GetFieldNo( "NUMCLIENTE" );
chkSum =3D MyFile.GetFieldNo( "CHKSUM" );
cout << "\n Position of NUMCLIENTE -> " << clientNumber
<< " Type: " << MyFile.GetFieldType( clientNumber );
cout << "\n Position of NUMMEDICO -> " << docNumber
<< " Type: " << MyFile.GetFieldType( docNumber );
cout << "\n Position of PRONTUARIO -> " << clientRegist
<< " Type: " << MyFile.GetFieldType( clientRegist ); // memo!
cout << "\n Position of CHKSUM -> " << chkSum
<< " Type:" << MyFile.GetFieldType( chkSum );
rc =3D MyFile.GetFirstRecord();
while( rc =3D=3D XB_NO_ERROR )
{
rc =3D MyFile.GetNextRecord();
memoSize =3D MyFile.GetMemoFieldLen( clientRegist );
cout << " Memo Size =3D " << memoSize ;
xbShort erro =3D MyFile.GetMemoField( 1, 40000, buf, F_SETLK );
cout << " Error cod. " << erro;
switch (erro)
{
case XB_INVALID_FIELDNO:
cout << "\nAn invalid field number was used";
break;
case XB_NOT_MEMO_FIELD:
cout << "\nNot a memo field";
break;
case XB_NO_MEMO_DATA:
cout << "\nNo memo data exists";
break;
case XB_INVALID_BLOCK_NO:
cout << "\nInternal error, notify tech support";
break;
case XB_SEEK_ERROR :
cout << "\nDisk Error";
break;
case XB_READ_ERROR:
cout << "\nDisk Error";
break;
case XB_NO_ERROR:
cout << "\nNo Error";
break;
}
if (MyFile.MemoFieldsPresent())
cout << "\nTHERE IS a memo register!" << endl;
else
cout << "\nTHERE ISN'T memo register!" << endl;
}
if(( rc =3D MyFile.PackDatabase( F_SETLKW )) !=3D XB_NO_ERROR )
cout << "\nError packing database rc =3D " << rc;
else
cout << "\n\n\n\nDatabase packed.\n";
MyFile.ExclusiveUnlock(); /* unlock the files */
MyFile.CloseDatabase(); /* close database */
return 0;
}
I compile without problens!
But see the result at STDOUT:
Position of NUMCLIENTE -> 0 Type: N
Position of NUMMEDICO -> 2 Type: N
Position of PRONTUARIO -> 1 Type: M
Position of CHKSUM -> 3 Type:C
(...) // a lot of ...
Memo Size =3D 0 Error cod. -134
No memo data exists
THERE IS a memo register!
(...)
Can anyone explain why MyFile.MemoFieldsPresent() say that there is a me=
mo
field but MyFile.GetMemoField and MyFile.GetMemoFieldLen() don't ????
Best regards
--
---- ------- --------
~ Igor Vit=F3rio Cust=F3dio (igorvc)
' v ' PLACA - ENC 03 - UFSCar
/ / \ \ E-Mail: ig...@bo...
/ ( ) \ http://www.igor.uni.cc
^ ` ~ ' ^ Linux User: #322156
|
|
From: Gary K. <gbo...@ya...> - 2006-07-18 02:12:29
|
Thanks Derry Derry Bryson <der...@gm...> wrote: An update for those who might have been following the discussion on the library license. The license been changed back to the original licensing: the library is under the LGPL license (allowing commercial use) and the various programs (utilities, samples, test programs, etc.) are under the GPL license. The 3.1.2 source release has been updated to reflect the change. Derry Bryson ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV_______________________________________________ XDB-users mailing list XDB...@li... https://lists.sourceforge.net/lists/listinfo/xdb-users --------------------------------- Do you Yahoo!? Everyone is raving about the all-new Yahoo! Mail Beta. |
|
From: Derry B. <der...@gm...> - 2006-07-18 00:46:12
|
An update for those who might have been following the discussion on the library license. The license been changed back to the original licensing: the library is under the LGPL license (allowing commercial use) and the various programs (utilities, samples, test programs, etc.) are under the GPL license. The 3.1.2 source release has been updated to reflect the change. Derry Bryson |