Diese Seite mit anderen teilen ...

Informationen zum Thema:
WinDev Forum
Beiträge im Thema:
Erster Beitrag:
vor 7 Jahren, 5 Monaten
Letzter Beitrag:
vor 4 Jahren, 10 Monaten
Beteiligte Autoren:
Yogi Yang, Fabrice Harari, Tom Princen, Michael Q, DW, Al, Piet van Zanten

Inserting Documents in HyperFileSQL

Startbeitrag von Yogi Yang am 19.03.2011 06:23


I am new to WinDev.

Have been playing with the Express version.

I think there are many experts of WinDev on this forum.

We have a document management system which uses FireBird RDBMS. It is a multi user system.

In this system we literary store users documents like Images, text files, letters, etc. in the DB.

I thinking of converting this a part of this software to WinDev for in-house use. I would like if it is possible to store complete documents in HyperfileSQL RDBMS or not?

If yes, can someone please show a small code sample for storing, finding using Full Text Search and retrieving documents.

Thanks in Advance.

Yogi Yang


Hello Yogi

There is a search engine component in the examples that may be of help to you.


von Al - am 19.03.2011 12:47
Thanks for suggestion. I will look it up.

von Yogi Yang - am 19.03.2011 14:32
I looked up the component but it seems to only work with text based file. I also want to allow user to add binary files that is image files. I know we can't search in image files but how can we save them to DB.

What will be the impact on performance when we store large image files to DB?

von Yogi Yang - am 08.04.2011 10:53
Hi Yogi

to store a document inside a DB, just use a blob field (binary memo in windev)

Memos (texts and binary) are stored in a secondary file, so there is impact on performances, except of course when you load them

Best regards

von Fabrice Harari - am 08.04.2011 11:11
Hello Yogi

look up HLinkMemo () in the help.


von DW - am 08.04.2011 11:52
Hi Yogi,

AFAIK a full text search is not available for memo fields, so you have to design the datafile to include not only the document name, type, etc., but also some keywords in indexed fields for searching. This will result in very quick responses when searching.
A full text search can be done by looping through the data, extracting the document to disk and do a text search. Obviously this wil be extremely slow.

So your data table might look like:

Item name type index
--------- ---- -----
DocName string key with duplicates
DocType combo
DocDateTime datetime
FileSize integer
Keyword1 string key with duplicates
Keyword2 string key with duplicates
Keyword3 string key with duplicates
Document binary memo
The binary memo contains the document.
You might also wanna include an automatic identifier.

Best regards,

von Piet van Zanten - am 08.04.2011 12:34
Thanks for this tip.

This means that we have to extract text from a text document be it a word file or an excel file, etc. and then dump that text into some fields....

Is there any built in function by which we can extract text in a document?

Actually have been using FireBird for quite some time and it seems to work like a charm when it comes to storing bulky documents and FTS. But when one want to develop in WinDev the equation changes. One has to adopt and use HyperFileSQL as it is natively supported by WinDev.

von Yogi Yang - am 08.04.2011 12:41

"so there is impact on performances, except of course when you load them"

Shouldn't your message have said:
"so there is NO impact on performances, except of course when you load them"

I'm hoping your answer is "yes" as I'm intending to do a lot of in-database document storage. I've never liked storing referenced documents outside a DB.


von Michael Q - am 08.04.2011 12:58

yes, I forgot to type the NO... when reading record, if you do not need the memos, then they are not read

Furthermore, it is perfectly possible to have a full text index on a memo field (text memo field, of course, not binary), so if you are able, when saving a word document, to also use word to do a saveAs plain text and set that text in a text memo field, you can have a full text index, just by checking the corresponding checkbox in the analysis for this field.

Best regards

von Fabrice Harari - am 08.04.2011 13:38

In the original software we use OpenOffice as it is free and open source for viewging, extracting and editing Office documents.

Is there any ready made library that will allow one to automate OpenOffice?

Of course there is a very good ActiveX DLL (we have used this in our original project) for this but I am hoping to avoid using any kind of ActiveX in this particular project.

von Yogi Yang - am 08.04.2011 14:45
Hi again

yes of course... OpenOffice can be automated using the OLE automation syntax. On top of the help, there is also a class in one of the example doing this for open office, if I remember correctly

Best regards

von Fabrice Harari - am 08.04.2011 15:02
We have a great program for document managment: FITdoc. All documents can be stored inside a Hyperfile SQL database (or any other database) The program lets you add, modify (with automatic versioning!) and of course easily find your documents.
Because you are an Windev developer you can make use of our advanced integration capabilities: we have internal windows, procedures,... all for managing your documents from within your program.

You'll find more info on our website: www.fitdoc.be
(site currently not in English but the manuals are in english! you'll find them under support>>'voor ontwikkelaars' and then download at the buttom of the page)

Our you can request more info by supplying your contact info here

von Tom Princen - am 25.07.2013 22:49
Out site is now available in Dutch English and French www.fitdoc.be

You can find user and developper manuals under "Support"

von Tom Princen - am 27.09.2013 13:21
Thanks for the update.

von Yogi Yang - am 28.09.2013 06:03
Zur Information:
MySnip.de hat keinen Einfluss auf die Inhalte der Beiträge. Bitte kontaktieren Sie den Administrator des Forums bei Problemen oder Löschforderungen über die Kontaktseite.
Falls die Kontaktaufnahme mit dem Administrator des Forums fehlschlägt, kontaktieren Sie uns bitte über die in unserem Impressum angegebenen Daten.