<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel>
        <title>Windev Forum - WinDev Solutions</title>
        <description>You\\\re invited to publish solutions to any WinDev problems here. Simple or tricky, whatever.</description>
        <link>https://www.wxforum.info/list.php?27161</link>
        <lastBuildDate>Fri, 06 Mar 2026 13:15:17 +0100</lastBuildDate>
        <generator>Phorum 5.2.23</generator>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,118845,798001#msg-798001</guid>
            <title>Re: C# example using WD 16 .NET assembly</title>
            <link>https://www.wxforum.info/read.php?27161,118845,798001#msg-798001</link>
            <description><![CDATA[ I would like for source code of your C# project and a bit help on my project for connecting HFSQL DB with asp .net web api]]></description>
            <dc:creator>DJ</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 16 May 2024 15:07:32 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,44188,797767#msg-797767</guid>
            <title>Re: How to make a treeview with parents</title>
            <link>https://www.wxforum.info/read.php?27161,44188,797767#msg-797767</link>
            <description><![CDATA[ can you please explain it more clear did not understood.. :(]]></description>
            <dc:creator>crowntb</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 08 Feb 2024 10:12:30 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797368,797595#msg-797595</guid>
            <title>Re: Available Windev Dongles for Sale (V21 and V26)</title>
            <link>https://www.wxforum.info/read.php?27161,797368,797595#msg-797595</link>
            <description><![CDATA[ Hi,<br />
<br />
I could use one. Lost mine moving to a new country :-(. Fortunately it was for personal learning in early stages and I&#039;m using something else at work.<br />
<br />
Do you have an email I can contact you on? Or you can contact me at harnek.remove_this_and_the_dots.sandhu at gmail.com<br />
<br />
Cheers,<br />
<br />
HS]]></description>
            <dc:creator>Harnek</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 23 Nov 2023 18:13:47 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,794412,797409#msg-797409</guid>
            <title>Re: How to Run a MS SQL Store Procedure and get the Value from it to a Variable</title>
            <link>https://www.wxforum.info/read.php?27161,794412,797409#msg-797409</link>
            <description><![CDATA[ Hey there!<br />
If you have any queries about the store procedures of ms sql then you can check in to the official website of ms sql.]]></description>
            <dc:creator>blainephoebe</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Tue, 22 Aug 2023 12:29:41 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797368,797368#msg-797368</guid>
            <title>Available Windev Dongles for Sale (V21 and V26)</title>
            <link>https://www.wxforum.info/read.php?27161,797368,797368#msg-797368</link>
            <description><![CDATA[ Dear Windev Coders,<br />
<br />
I am selling my Windev dongle version 21 and version 26.<br />
Name your price.<br />
<br />
for interested you can message me directly..<br />
<br />
Ciao!]]></description>
            <dc:creator>mitchlove</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 09 Aug 2023 07:56:16 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,794412,797045#msg-797045</guid>
            <title>Re: How to Run a MS SQL Store Procedure and get the Value from it to a Variable</title>
            <link>https://www.wxforum.info/read.php?27161,794412,797045#msg-797045</link>
            <description><![CDATA[ Ok here goes,<br />
<br />
You make a new  connection  and execute it  see below:<br />
<br />
datasourcemyprocedure is Data Source<br />
<br />
if hopenconnection( your connectionvar) then<br />
Hcanseldeclaration(dsMyProcedure)<br />
<br />
IF HExecuteSQLQuery(dsMyProcedure,&quot;MyConnection&quot;, hQueryWithoutCorrection, &quot;dbo.sp_yourstored procedure @o_RKey out&quot;)  THEN<br />
<br />
//.o_RKey out is the variable you are gettting out of you sp<br />
the key = dsMyProcedure.o_RKey out<br />
<br />
hclose(dsMyprocedure)<br />
Hcloseconnection(your connectionvar<br />
else<br />
<br />
end]]></description>
            <dc:creator>renko</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 23 Mar 2023 10:46:56 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797038,797040#msg-797040</guid>
            <title>Re: lost password *.fic file HFSQL</title>
            <link>https://www.wxforum.info/read.php?27161,797038,797040#msg-797040</link>
            <description><![CDATA[ thank you for reply]]></description>
            <dc:creator>amiolodev</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 22 Mar 2023 18:48:08 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797038,797039#msg-797039</guid>
            <title>Re: lost password *.fic file HFSQL</title>
            <link>https://www.wxforum.info/read.php?27161,797038,797039#msg-797039</link>
            <description><![CDATA[ Sorry, there&#039;s no way to get at your lost password. Good luck!]]></description>
            <dc:creator>gpredl</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 22 Mar 2023 17:40:58 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797038,797038#msg-797038</guid>
            <title>lost password *.fic file HFSQL</title>
            <link>https://www.wxforum.info/read.php?27161,797038,797038#msg-797038</link>
            <description><![CDATA[ Hello everyone and Thank you in advance for the Help<br />
i forget my password for *.FIC files HFSQL server and i also lost the analyse  file for programming a new password for those FIC files, is there a way to retrieve the data ?  how i can resolve this problem ? X(]]></description>
            <dc:creator>amiolodev</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 22 Mar 2023 15:42:03 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,794412,797030#msg-797030</guid>
            <title>Re: How to Run a MS SQL Store Procedure and get the Value from it to a Variable</title>
            <link>https://www.wxforum.info/read.php?27161,794412,797030#msg-797030</link>
            <description><![CDATA[ Hi  we use that all the time.  It is not  realy complicated. I will see If I can get you some code . I can not copy past as the  software is commercial stuff. ok <br />
<br />
It is quite easy so  no worries . I will get back at you as i will have to  look at the source and make a bit of code for you ( none tracable to hou software . Ok <br />
<br />
<br />
regards<br />
<br />
Renko<br />
<br />
PS PCSoft help should be able to help you out as well]]></description>
            <dc:creator>Allard</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Mon, 20 Mar 2023 22:56:06 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,797029,797029#msg-797029</guid>
            <title>api webservice REST  cals</title>
            <link>https://www.wxforum.info/read.php?27161,797029,797029#msg-797029</link>
            <description><![CDATA[ Hi I have been looking at webservices in windev and  I was wondereing if they do support : &quot;Asynchronous&quot; webserice  calls ?<br />
<br />
Any body  any Idea . I can not foind it on the help <br />
<br />
<br />
regards<br />
<br />
Renko Allard]]></description>
            <dc:creator>Allard</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Mon, 20 Mar 2023 22:50:48 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,792820,796713#msg-796713</guid>
            <title>Re: HFSQL Export Tool for PostgreSQL, MySQL and MariaDB</title>
            <link>https://www.wxforum.info/read.php?27161,792820,796713#msg-796713</link>
            <description><![CDATA[ Hi,<br />
<br />
This tool can help my to migrate the data of my HFSL server to a new database in mysql ?<br />
<br />
<br />
Thanks a lot for sharing your work]]></description>
            <dc:creator>yoann</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 23 Nov 2022 16:46:03 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,32137,796473#msg-796473</guid>
            <title>Re: Printing labels on a Zebra LP 2844 using Zebra EPL</title>
            <link>https://www.wxforum.info/read.php?27161,32137,796473#msg-796473</link>
            <description><![CDATA[ The thermal transfer label market is made of sales connected with thermal airport transfer label products by entities<br />
<br />
The <a href="https://www.thelabelstock.com/"  rel="nofollow">Thermal Paper</a> market is made of sales regarding thermal transfer label equipment by entities (organizations, lone traders, and partnerships) which produce long-lasting in addition to durable photos on lots of materials. Thermal transfer labels refer to a ribbon that may be printed through a thermal copy printer where, at that point on the print mind, a layer of ribbon is placed on top of the content label.<br />
<br />
The main varieties of printers in thermal transfer labels are desktop computer, industrial, plus mobile. Desktop thermal transfer printers are correct for long-term marking applications that should be used to get more than six months or uncovered to severe conditions for example chemicals, lighting, high temperature, or h2o. The several materials incorporate paper, polyester, polypropylene (pp), polyethylene (pe), along with other materials and are also used inside food as well as beverages, healthcare, tracking, logistics, plus transportation, conventional goods in addition to products, semiconductors &amp; technology, retail music labels, and additional end-users.<br />
<br />
The <a href="https://www.thelabelstock.com/"  rel="nofollow">Shipping Labels</a> market research report is one of a a line new reports in the Business Investigation Company to deliver thermal airport transfer label industry statistics, like thermal transfer label market global market size, regional shares, competitors having a thermal transfer label marketplace share, in depth thermal transfer label market segments, current market trends in addition to opportunities, and any additional data you would like to thrive in the thermal exchange label sector. This energy transfer label researching the market report delivers a whole perspective of creams, with a good in-depth analysis belonging to the current in addition to future scenario on the industry.<br />
<br />
The global thermal transfer labels market size is supposed to grow coming from $2. 41 million in 2021 to $2. 65 thousand in 2022 with a compound total growth quote (CAGR) of 10. 3%. The global thermal transfer label market size is supposed to grow in order to $3. 45 billion in 2026 with a CAGR regarding 6. 7%.<br />
<br />
Rapid growth while in the e-commerce sector is significantly causing the growth in the thermal airport transfer label marketplace. E-commerce comes from the exchanging of products creating an online business. It comprises of internet-based activities like product purchasing and marketing, as good as economic transactions. With the rise regarding online searching, there is often a greater demand for loads of labels in addition to packaging. As an example, according on the India Company Equity Base (IBEF), a great India-based federal agency, the e-commerce market is supposed to increase through $46. 2 billion within 2020 to $111. 40 billion in 2025 in fact it i expected to arrive $350 million by 2030. Thus, rapid growth while in the e-commerce market is travelling the growth on the thermal copy labels marketplace.<br />
<br />
Strategic partnerships would be the key trend gaining popularity inside <a href="https://www.thelabelstock.com/"  rel="nofollow">Thermal Labels</a> market. Major businesses operating while in the thermal shift label industry are undergoing partnerships to help reinforce their particular position. As an example, in January 2022, Brother Mobile Answers, a US-based issuer of energy transfer labeling, partnered having TEKLYNX, your US-based issuer of barcode name software alternatives. Through the following partnership, Brother delivers numerous industrial in addition to commercial thermal barcode name printers which are compatible along with TEKLYNX software solutions. Furthermore, in September 2021, Recognise Andy, your US-based innovator of narrow- in addition to mid-web printer and a finish equipment, combined with UPM Raflatac, your Finland-based energy transfer name provider. By way of this venture, both businesses would provide best-in-class handheld label printing methods to flexographic and also digital converters.<br />
<br />
In January 2019, TSC Automotive ID Technologies Co.,your Taiwan-based corporation operating within AIDC barcode name printing, acquired Diversified Labelling Answers Inc.,pertaining to an undisclosed total. With this specific acquisition, TSC expands its name portfolio while in the U. VERTS. market which consists of own printer manufacturing along with label changing facilities. Diversified Labelling Options, Inc. is usually a US-based corporation that products thermal shift labels.<br />
<br />
Major players while in the <a href="https://www.thelabelstock.com/"  rel="nofollow">Direct Thermal Labels</a> market tend to be 3M Company, Constantia Flexibles Number, CCL Market sectors Inc, Coveris Holdings VERTS. A, Henkel AG &amp; Co, Honeywell Worldwide Inc, Away from the coast Label in addition to Marketing Products LLC, LINTEC Firm, Multi-Color Firm, WS Packaging Group, TSC Automotive ID Technologies Co. Ltd.,Ricoh Holdings, Zebra Firm, SATO Number, and Avery Dennison Company<br />
<br />
North The united states was number one region in the thermal airport transfer label market in 2021. Asia pacific is supposed to be that fastest-growing region inside global energy transfer content label market in the forecast period. The locations covered while in the global energy transfer content label market report are Asia-Pacific, Traditional western Europe, Northern Europe, North america, South North america, Middle Far east and Africa.<br />
<br />
The locations covered while in the thermal shift label industry report tend to be Australia, South america, China, France, Germany, India, Indonesia, Japan, Russia, Southwest Korea, BRITISH ISLES, USA.<br />
<br />
The particular global energy transfer name market is actually segmented -<br />
<br />
1) By way of Material: Paper, Polyester, Polypropylene (PP), Polyethylene (PE), Others<br />
<br />
2) By way of Printer Sort: Desktop, Conventional, Mobile<br />
<br />
3) By way of End-User: Nutrition and Beverages, Healthcare, Pursuing, Logistics, plus Transportation, Conventional Goods in addition to Products, Semiconductor plus Electronics, Full price Labels, Others.]]></description>
            <dc:creator>paulapphillips</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 10 Aug 2022 09:02:16 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,794633,794633#msg-794633</guid>
            <title>WinDev LPR (DOS) Function</title>
            <link>https://www.wxforum.info/read.php?27161,794633,794633#msg-794633</link>
            <description><![CDATA[ Hello<br />
<br />
My solution will not work:<br />
For a exotic Labelprinter I have to send Binary data direct to the printer.<br />
I do this creating a File with the data. <br />
Then I create a DOS Batch file as follow:<br />
Cmd is string = &quot;c:\windows\system32\LPR.exe  -S &quot; + Computername + &quot; -P &quot; + Printername + &quot; &quot; + Filename + &quot; -ol&quot;<br />
an write it to my disk: fSaveText(&quot;C:\Temp\Batch.bat&quot;, Cmd)<br />
<br />
This Batch can I start manualy without any problems, it works.<br />
But unfortunately I am not able to start the batch by WinDev<br />
I tryed &#039;exerun&#039;, &#039;DDEstart&#039;  (DDEStart(&quot;C:\Temp\Batch.bat&quot;))<br />
whatever i try, it does&#039;nt work<br />
<br />
Anybody can help me ?<br />
<br />
Thanks in advance <br />
Erich]]></description>
            <dc:creator>erich45</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Tue, 30 Mar 2021 16:39:47 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,794412,794412#msg-794412</guid>
            <title>How to Run a MS SQL Store Procedure and get the Value from it to a Variable</title>
            <link>https://www.wxforum.info/read.php?27161,794412,794412#msg-794412</link>
            <description><![CDATA[ Hello everyone and Thank you in advance for the Help<br />
<br />
I have this stored procedure inside a Microsoft Sequel Database which gets me the Date and Time of the Server.<br />
<br />
Name of the Procedure: <b>Get_The_Date_And_Time</b><br />
<br />
<b>Structure of the Procedute</b><br />
<br />
<b><span style="color:#3300FF">CREATE PROCEDURE dbo.Get_The_Date_And_Time<br />
AS<br />
BEGIN<br />
  /* Procedure body */<br />
  DECLARE @Date_And_Time as date SELECT Date_And_Time = GETDATE();<br />
END</span></b><br />
<br />
<b>The result of the Procedure if executed is the following:<br />
Under the Column Name &quot;Get_The_Date_And_Time&quot; The result is the Following</b><br />
<br />
<b>2/8/2021 8:10:19 PM  &lt;-------- This is the Date and Time of the Server when the stored procedure is Executed</b><br />
<br />
<b>My question is:</b> <span style="color:#FF0000"><b>How can I run this store procedure from within WinDev or WebDev and put the result in a Variable, for Example varServerDate</b>.</span><br />
<br />
<b>I have tried different things HExecuteProcedure() This does not work with ODBC Connection<br />
I Have tried with HExecuteSQLQuery Get errors<br />
I have tried SQLExec got errors too</b><br />
<br />
Nothing works<br />
<br />
<b>I would really appreciate it you can give me a hand on this and perhaps a code Example can be provided since I have no clue where to start.<br />
<br />
Thank you so Much<br />
<br />
Best regards,<br />
Carlos</b>]]></description>
            <dc:creator>MPD_For_Life</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Tue, 09 Feb 2021 02:32:41 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,44381,794273#msg-794273</guid>
            <title>Re: NOTE: This forum is for WinDev SOLUTIONS only, please, post your questions to the WinDev Forum!</title>
            <link>https://www.wxforum.info/read.php?27161,44381,794273#msg-794273</link>
            <description><![CDATA[ Sorry, posted in wrong forum, please ignore]]></description>
            <dc:creator>norfolk-reg</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 14 Jan 2021 15:13:21 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,792820,792820#msg-792820</guid>
            <title>HFSQL Export Tool for PostgreSQL, MySQL and MariaDB</title>
            <link>https://www.wxforum.info/read.php?27161,792820,792820#msg-792820</link>
            <description><![CDATA[ <a href="https://www.windev.at/downloads/HFSQLExport_Setup_32_1.0.1.0.exe"  rel="nofollow">HFSQLExport</a><br />
<br />
HFSQL analysis and data exports a SQL script for MySQL, MariaDB and PostgreSQL.<br />
<br />
Direct export for PostgreSQL is not ready, but can be done (needs time)<br />
<br />
If anyone wants to extend this little tool, sources are available at request.<br />
<br />
<img src="https://www.windev.at/downloads/HFSQLExport.png" class="bbcode" border="0" />]]></description>
            <dc:creator>apredl</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Mon, 03 Feb 2020 13:31:06 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,688338,688338#msg-688338</guid>
            <title>Replacement for IsNumeric()</title>
            <link>https://www.wxforum.info/read.php?27161,688338,688338#msg-688338</link>
            <description><![CDATA[ A few weeks ago I discovered that<br />
<br />
IsNumeric(&quot;02NST2&quot;) <br />
<br />
returns True. Well, I don&#039;t agree with this result.<br />
<br />
So I needed a workaround. And this is what I ended up with:<br />
<br />
MatchRegularExpression(&quot;02NST2&quot;,&quot;[0-9]+&quot;) -&gt; False<br />
<br />
HTH<br />
Sebastian]]></description>
            <dc:creator>Sebastian Arnold</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Tue, 09 Aug 2016 13:30:44 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,22800,174384#msg-174384</guid>
            <title>Re: Importing Data from Excel (XLS) file to HF</title>
            <link>https://www.wxforum.info/read.php?27161,22800,174384#msg-174384</link>
            <description><![CDATA[ gracias por tu aporte me dio mucha ayuda]]></description>
            <dc:creator>edmundo</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 02 Oct 2013 21:51:12 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,113185,149031#msg-149031</guid>
            <title>Re: Instructions for how to set up HFSQL C/S on 4 Linux distributions</title>
            <link>https://www.wxforum.info/read.php?27161,113185,149031#msg-149031</link>
            <description><![CDATA[ First, <br />
Thank you for this great tutorial. You need few changes with screen order but it is ok if we slowly reading and trying.<br />
<br />
Problem is with installation of HF Server. I am try with your tutorial on UBUNTU and SUSE. Same situation. You can see picture .<br />
<img src="http://img252.imageshack.us/img252/2641/problemt.jpg" class="bbcode" border="0" />[/img]<br />
<br />
Regards !]]></description>
            <dc:creator>ICI</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 28 Feb 2013 14:13:26 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,44188,145560#msg-145560</guid>
            <title>Re: How to make a treeview with parents</title>
            <link>https://www.wxforum.info/read.php?27161,44188,145560#msg-145560</link>
            <description><![CDATA[ Alexander,<br />
<br />
You are welcome. I am happy I can help as I am helped by others.]]></description>
            <dc:creator>Carlo Hermus</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 31 Jan 2013 16:28:01 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,44188,145296#msg-145296</guid>
            <title>Re: How to make a treeview with parents</title>
            <link>https://www.wxforum.info/read.php?27161,44188,145296#msg-145296</link>
            <description><![CDATA[ thank you for your post very much!!! I spent a lot of time to search a solution.]]></description>
            <dc:creator>Alexander S.</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Sun, 27 Jan 2013 21:00:49 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,32137,130373#msg-130373</guid>
            <title>Re: Printing labels on a Zebra LP 2844 using Zebra EPL</title>
            <link>https://www.wxforum.info/read.php?27161,32137,130373#msg-130373</link>
            <description><![CDATA[ Thanks, thanks, many thanks.]]></description>
            <dc:creator>Marcelo Brazil</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Sat, 12 May 2012 18:16:55 +0200</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,17295,127059#msg-127059</guid>
            <title>Re: Getting the current decimal separator from Windows</title>
            <link>https://www.wxforum.info/read.php?27161,17295,127059#msg-127059</link>
            <description><![CDATA[ Or you could read the registry:<br />
<br />
Info(RegistryQueryValue(&quot;HKEY_CURRENT_USER\Control Panel\International\&quot;,&quot;sMonDecimalSep&quot;])<br />
<br />
the ] = ) otherwise example show a :)<br />
<br />
Cheers<br />
Tor-Bjarne]]></description>
            <dc:creator>Tor-Bjarne</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Mon, 19 Mar 2012 22:31:35 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,18895,122894#msg-122894</guid>
            <title>Re: MSSQL4WDEng</title>
            <link>https://www.wxforum.info/read.php?27161,18895,122894#msg-122894</link>
            <description><![CDATA[ Link is broken.]]></description>
            <dc:creator>Luiz Menezes &amp;lt;img src=&amp;quot;images/world-s.png&amp;quot; class=&amp;quot;global&amp;quot; alt=&amp;quot;Global User&amp;quot; title=&amp;quot;Global User&amp;quot; /&amp;gt;</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Fri, 03 Feb 2012 14:08:54 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,91068,122893#msg-122893</guid>
            <title>Re: [WD14] Balloon Help</title>
            <link>https://www.wxforum.info/read.php?27161,91068,122893#msg-122893</link>
            <description><![CDATA[ Link is broken.]]></description>
            <dc:creator>Luiz Menezes &amp;lt;img src=&amp;quot;images/world-s.png&amp;quot; class=&amp;quot;global&amp;quot; alt=&amp;quot;Global User&amp;quot; title=&amp;quot;Global User&amp;quot; /&amp;gt;</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Fri, 03 Feb 2012 13:54:11 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,118845,118845#msg-118845</guid>
            <title>C# example using WD 16 .NET assembly</title>
            <link>https://www.wxforum.info/read.php?27161,118845,118845#msg-118845</link>
            <description><![CDATA[ I have stopped my attempt to use C# for finger scanners for now but I can give anyone interested my test project and C# solution if it is of interest. Just send me an email or post your email here and I will get the code to you.<br />
<br />
I encourage all that use .NET to add to this sample or add their own suggestions.<br />
<br />
Jeff Graham<br />
Cascade Consulting<br />
<br />
Related threads:<br />
[<a href="http://forum.mysnip.de/read.php?27131,118451,118451#msg-118451"  rel="nofollow">forum.mysnip.de</a>]<br />
[<a href="http://forum.mysnip.de/read.php?27131,115437,115445#msg-115445"  rel="nofollow">forum.mysnip.de</a>]<br />
[<a href="http://forum.mysnip.de/read.php?27131,114797,115335#msg-115335"  rel="nofollow">forum.mysnip.de</a>]<br />
[<a href="http://forum.mysnip.de/read.php?27131,118464,118464#msg-118464"  rel="nofollow">forum.mysnip.de</a>]<br />
[<a href="http://forum.mysnip.de/read.php?28849,118453"  rel="nofollow">forum.mysnip.de</a>]<br />
<br />
<b>Code for WD .NET assembly class</b><br />
<pre class="bbcode">
// .NET assebly for accessing HF Fingerprints and Accounts from C#

//--- LOG ----------------------------------------------------------------------------------------------------------------------------------
//2011-09-06	JWG		clHFAccess		- New class
//2011-11-08    JWG     Note that properties do not seem to show in C# even if marked PUBLIC =&gt; must have Get.. and Set.. methods
//--- END LOG ------------------------------------------------------------------------------------------------------------------------------

clHFAccess is class 
	PRIVATE
		m_cnxHFConn is Connection
		m_bufFingerprints is Buffer
		m_sTestString is string = &quot;Default value!&quot;	
		gm_sDataPath is string = &quot;&lt;none&gt;&quot;
	PUBLIC
		gm_bIsConnected is boolean = False
		gm_iNbrRecords is int = 0
	END


PROCEDURE PUBLIC p_sDataPath()
RESULT gm_sDataPath

PROCEDURE PUBLIC p_sDataPath(sValue is string)
HCloseConnection(m_cnxHFConn)
gm_bIsConnected = False
IF fDirectoryExist(sValue) THEN 
	m_cnxHFConn..Source = sValue
	IF HOpenConnection(m_cnxHFConn) THEN 
		IF HChangeConnection(Fingerprints,m_cnxHFConn) THEN // Only file used by this .NET dll
			gm_bIsConnected = True
			gm_iNbrRecords = HNbRec(Fingerprints)    
			gm_bIsConnected = False
			gm_sDataPath = sValue
		END
	END
END
PROCEDURE PUBLIC p_sTestString()
RESULT m_sTestString

PROCEDURE PUBLIC p_sTestString(par_Value is string)
m_sTestString = par_Value

PROCEDURE Constructor()
// Set public property to indicate HF is connected
//gm_sDataPath = fDataDir()  // This does not work as fDataDir unique to WinDev
gm_sDataPath = fCurrentDir()
m_cnxHFConn..Provider=hAccessHF7
m_cnxHFConn..Password = &quot;&quot;
m_cnxHFConn..Source=fDataDir()  //+&quot;\Fingerprints.fic&quot; 
IF HOpenConnection(m_cnxHFConn) THEN 
	IF HChangeConnection(Fingerprints,m_cnxHFConn) THEN // Only file used by this .NET dll
		gm_bIsConnected = True
		gm_iNbrRecords = HNbRec(Fingerprints)    
		gm_bIsConnected = False
	END
END
RESULT gm_bIsConnected
PROCEDURE Destructor()
// NOTE - This code causes AccessViolationException
//if gm_bIsConnected then
//	HCloseConnection(m_cnxHFConn)
//END

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] GetNextFingerprint (&lt;ID&gt; is int, &lt;iAccountsID&gt; is int, &lt;iDistrictStudentNbr&gt; is int, &lt;aFeatures&gt;)
//
// Parameters:
//	ID (int): Fingerprints ID
//	iAccountsID (int): AccMeals account identifier
//	iDistrictStudentNbr (int): Unique identifier of student
//	aFeatures: Template data
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
//PROCEDURE GetNextFingerprint(LOCAL ID is int, LOCAL iAccountsID is int, LOCAL iDistrictStudentNbr is int, LOCAL aFeatures is array of byte ) 
PROCEDURE GetNextFingerprint(ID is int, iAccountsID is int, iDistrictStudentNbr is int, aFeatures) // is array of byte )
bResult is boolean = HReadNext(Fingerprints,ID,hLockNo)
IF bResult THEN
	ID = Fingerprints.ID
	iAccountsID = Fingerprints.AccountsID
	iDistrictStudentNbr = Fingerprints.DistrictStudentNbr
	IF Fingerprints.Features..Null = False THEN  
		 //		aFeatures = Fingerprints.Features
		Deserialize(aFeatures,Fingerprints.Features,psdBinary)
	END
END
RESULT bResult
//result gm_bIsConnected

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] GetTestString ()
//
// Parameters:
//	None
// Return Value:
// 	string: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE GetTestString()
RESULT m_sTestString

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//SetTestString (&lt;sValue&gt; is string)
//
// Parameters:
//	sValue (string): &lt;specify the role of value&gt;
// Return Value:
// 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE SetTestString(LOCAL sValue is string)
m_sTestString = sValue


//PROCEDURE GetFirstFingerprint(local ID is int, LOCAL iAccountsID is int, LOCAL iDistrictStudentNbr is int, LOCAL aFeatures is array of byte )
PROCEDURE GetFirstFingerprint(ID is int, iAccountsID is int, iDistrictStudentNbr is int, aFeatures) // is array of byte )
bResult is boolean = HReadFirst(Fingerprints)
IF bResult THEN
	ID = Fingerprints.ID
	iAccountsID = Fingerprints.AccountsID
	iDistrictStudentNbr = Fingerprints.DistrictStudentNbr
	IF Fingerprints.Features..Null = False THEN 
//		aFeatures = Fingerprints.Features
		Deserialize(aFeatures,Fingerprints.Features,psdBinary)
	END
END
RESULT bResult
// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] WriteData (&lt;iAccountsID&gt; is int, &lt;iDistrictStudentNbr&gt; is int, &lt;sFingerID&gt; is string, &lt;aTemplate&gt; is array)
//
// Parameters:
//	iAccountsID (int): &lt;specify the role of siAccountsID&gt;
//	iDistrictStudentNbr (int): &lt;specify the role of siDistrictStudentNbr&gt;
//	sFingerID (string): &lt;specify the role of sFingerID&gt;
//	aTemplate (array): &lt;specify the role of bufFeatures&gt;
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
//PROCEDURE WriteData(iAccountsID is int, iDistrictStudentNbr is int, sFingerID is string, aFeatures is array of byte  )  // This causes &quot;ref &lt;parm&gt;&quot; calls

PROCEDURE WriteData(LOCAL iAccountsID is int, LOCAL iDistrictStudentNbr is int, LOCAL sFingerID is string, LOCAL aTemplate is array of 1-byte unsigned int )

bSuccess is boolean = False
HReset(Fingerprints)
Fingerprints.AccountsID = iAccountsID
Fingerprints.DistrictStudentNbr = iDistrictStudentNbr
Fingerprints.FingerID = sFingerID
//Serialize(aFeatures,Fingerprints.Features,psdBinary)
//Fingerprints.Features = aTemplate  // just puts address in binary field
bufTemplate is Buffer
Serialize(aTemplate,bufTemplate,psdBinary)
Fingerprints.Features = bufTemplate

IF HAdd(Fingerprints) THEN
	bSuccess = True
END
gm_iNbrRecords = HNbRec(Fingerprints)    // Update class info
RESULT bSuccess
// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] TestA (&lt;p1&gt; is int, &lt;p2&gt; is array)
//
// Parameters:
//	p1 (int): &lt;specify the role of p1&gt;
//	p2 (array): &lt;specify the role of p2&gt;
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE TestA(p1 is int,p2 is array of byte)
temp is array of byte = [1,2,3]
p1 += 1
p2 = temp
RESULT True
// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] TestB (&lt;p1&gt; is int, &lt;p2&gt;)
//
// Parameters:
//	p1 (int): &lt;specify the role of p1&gt;
//	p2: &lt;specify the role of p2&gt;
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE TestB(p1 is int, p2)
temp is array of byte = [2,3,4,5]
p1 += 1
p2 = temp
RESULT True


// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] TestC (&lt;p1&gt; is int [, &lt;p2&gt; is array])
//
// Parameters:
//	p1 (int): &lt;specify the role of p1&gt;
//	p2 (array - default value=0): &lt;specify the role of p2&gt;
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE TestC(p1 is int,p2 is array of 1-byte unsigned int = Null)
temp is array of byte = [10,11,12]
p1 += 1
IF MyParameters..NbReceived = 2 THEN
	p2 = temp
	RESULT True
ELSE
	RESULT False
END

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] TestD (&lt;p1&gt; is int, &lt;p2&gt; is COMObject)
//
// Parameters:
//	p1 (int): &lt;specify the role of p1&gt;
//	p2 (COMObject): &lt;specify the role of p2&gt;
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
//	p1 (int): &lt;specify the role of p1&gt;
//	p2 (array - default value=0): &lt;specify the role of p2&gt;
PROCEDURE TestD(p1 is int, p2 is COMObject)
temp is array of byte = [13,14,15]
p1 += 1
IF MyParameters..NbReceived = 2 THEN
	p2 = temp
	RESULT True
ELSE
	RESULT False
END

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] GetDataPath ()
//
// Parameters:
//	None
// Return Value:
// 	string: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE GetDataPath()
RESULT p_sDataPath

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//SetDataPath (&lt;sValue&gt; is string)
//
// Parameters:
//	sValue (string): &lt;specify the role of sValue&gt;
// Return Value:
// 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE SetDataPath(LOCAL sValue is string)
p_sDataPath = sValue

// Summary: &lt;specify the procedure action&gt;
// Syntax:
//[ &lt;Result&gt; = ] CloseDB ()
//
// Parameters:
//	None
// Return Value:
// 	boolean: // 	None
//
// For instance:
// Indicate an example.
//
PROCEDURE CloseDB()
IF HCloseConnection(m_cnxHFConn) THEN
	gm_bIsConnected = False
END
RESULT gm_bIsConnected</pre>
<br />
<b>C# code</b><br />
<pre class="bbcode">
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Odbc;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using Neurotec.Biometrics;
using Neurotec.Licensing;
using WL;


namespace Test_CS
{
    public partial class FormTest : Form
    {
        public FormTest()
        {
            InitializeComponent();
        }
        private string pathTestData = @&quot;D:\BioMetrics\Test_Data&quot;;

        private void buttonOLE_Click(object sender, EventArgs e)
        {
            /*
            Connection to a HyperFileSQL Classic database without specifying the analysis:
                Provider=PCSOFT.HFSQL;Initial Catalog=c:\My HyperFileSQL Database
            Connection to a HyperFileSQL Classic database byspecifying the analysis:
                Provider=PCSOFT.HFSQL;Data Source=c:\My HyperFileSQL Database\MyAnalysis.wdd;Initial Catalog=c:\My HyperFileSQL Database
            Connection to a HyperFileSQL Client/Server database:
                Provider=PCSOFT.HFSQL;Data Source=serverdb.mycompany.fr:4910;User ID=admin;Password=secret;Initial Catalog=MyDatabase
            Connection to a HyperFileSQL Client/Server database with password-protected files that use the Russian character set:
                Provider=PCSOFT.HFSQL;Data Source=serverdb.mycompany.fr;User ID=user;Initial Catalog=MyRussianDatabase;Extended Properties=&quot;Password=*:secret1;Password=File2:secret2;Language=KOI8-R&quot;
            Note: In this example, all the database files are protected by the &quot;secret1&quot; password except for the &quot;File2&quot; file that is protected by the &quot;secret2&quot; password.
            */

            textOLE.Text = &quot;&quot;;
            try
            {
                System.Data.OleDb.OleDbConnection myOleDb = new System.Data.OleDb.OleDbConnection
                    (@&quot;Provider=PCSOFT.HFSQL;Data Source=D:\BioMetrics\\VF_CS_Test\\VF_CS_Test.wdd;Initial Catalog=&quot;+pathTestData+&quot;;&quot;); //D:\\BioMetrics\\WD_Net\\Exe;&quot;);
                    //(&quot;Provider=PCSOFT.HFSQL;Data Source=D:\\BioMetrics\\VF_CS_Test\\VF_CS_Test.wdd;Initial Catalog=D:\\BioMetrics\\VF_CS_Test\\exe:&quot;);
                    // (Provider=PCSOFT.HFSQL;Data Source=c:\My HyperFileSQL Database\MyAnalysis.wdd;Initial Catalog=c:\My HyperFileSQL Database); 
                    //(&quot;Provider=PCSOFT.HFSQL;Data Source=c:\\My HyperFileSQL Database\\MyAnalysis.wdd;Initial Catalog=c:\\My HyperFileSQL Database&quot;);
                myOleDb.Open();
                // Specify the Query
                OleDbCommand MyQuery = new OleDbCommand(&quot;SELECT ID,AccountsID,DistrictStudentNbr,FingerID,Features FROM FingerPrints&quot;,myOleDb);
                // Run the Query
                //OleDbDataReader MyData = MyQuery.ExecuteReader();
                // Read first
                OleDbDataReader MyDataReader = MyQuery.ExecuteReader();
                //MyDataReader.Read();
                // Display
                //textOLE.AppendText(MyDataReader.ToString());
                for (int i = 1; i &lt; 15; i++)
                {
                    if (MyDataReader.Read())
                    {
                        var ID = MyDataReader.GetValue(0);
                        var accountID = MyDataReader.GetValue(1);
                        var districtStudentNbr = MyDataReader.GetValue(2);
                        var fingerID = MyDataReader.GetValue(3);
                        var features = MyDataReader.GetValue(4);
                        // Display
                        textOLE.AppendText(string.Format(&quot;ID={0},AccountID={1},FingerID={2},FeaturesType={3}\n &quot;,ID.ToString(),accountID.ToString(),fingerID,features.GetType()));
                    }
                    else
                    {
                        textOLE.AppendText(&quot;EOF&quot;);
                        break;
                    }
                }
                // Close
                MyDataReader.Close();
                myOleDb.Close();
        
            }
            catch(Exception ex)
            {
                textOLE.AppendText(&quot;Error in connect: \n&quot; + ex.Message);
            }
        }
 
        private void buttonMDB_Click(object sender, EventArgs e)
        {
            textMDB.Text = &quot;&quot;;
            try
            {
                System.Data.OleDb.OleDbConnection myMDB = new System.Data.OleDb.OleDbConnection
                    (&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot;+pathTestData+@&quot;\FPID.mdb;&quot;); //  D:\\BioMetrics\\VF_CS_Test\\Exe\\FPID.mdb;&quot;);
                myMDB.Open();
                // Specify the Query
                OleDbCommand MyQuery = new OleDbCommand(&quot;SELECT AccountsID FROM FingerPrints&quot;,myMDB);
                OleDbCommand myCommand = myMDB.CreateCommand();
                myCommand.CommandText = &quot;FingerPrints&quot;;
                // Run the Query
                OleDbDataReader MyDataReader = MyQuery.ExecuteReader();

                for (int i = 1; i &lt; 15; i++)
                {
                    MyDataReader.Read();
                    var accountID = MyDataReader.GetValue(0);
                    // Display
                    textMDB.AppendText(accountID.ToString() + &quot;; &quot;);
                }
                // Close
                MyDataReader.Close();
                myMDB.Close();

            }
            catch (Exception ex)
            {
                textMDB.AppendText(&quot;Error in MDB: \n&quot; + ex.Message);
            }

        }

        private void buttonConvert_Click(object sender, EventArgs e)
        {

            textConvert.Text = &quot;Start of test.\n&quot;;
            try
            {
                WL.clHFAccess hfAccess = new clHFAccess();
                hfAccess.SetDataPath(@&quot;D:\Biometrics\Test_Data&quot;); 
                int _AccountsID = 0;
                int _DistrictStudentNbr = 0;
                string _FingerID;
                //byte[] _FingerPrint;
                byte[] vf42_template;
                byte[] vf63_template;
                // Data access by using a DataSet
                FPIDTestDataSetTableAdapters.Fingerprints1TableAdapter taFP1 = new FPIDTestDataSetTableAdapters.Fingerprints1TableAdapter();
                taFP1.Connection.ConnectionString = @&quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\BioMetrics\Test_Data\FPID.mdb&quot;;
                FPIDTestDataSet dsFP1s = new FPIDTestDataSet(); 
                taFP1.Fill(dsFP1s.Fingerprints1);  
                textConvert.AppendText(string.Format(&quot;WD Fingerprints: {2} Data path = {0}\nAccess MDB path = {1}\n&quot;,hfAccess.GetDataPath(),taFP1.Connection.DataSource,hfAccess.gm_iNbrRecords)); 
                int iCount = 0;
                foreach (FPIDTestDataSet.Fingerprints1Row fingerprint in dsFP1s.Fingerprints1.Rows)
                {
                    iCount++;
                    //if (iCount &gt; 15) break;
                    // Convert old template to new format:
                    vf42_template = fingerprint.Features;
                    NFRecord nfrecord = new NFRecord(vf42_template);
                    vf63_template = nfrecord.Save();
                    // Write to HF
                    _AccountsID = fingerprint.AccountsID;
                    _DistrictStudentNbr = fingerprint.DistrictStudentNbr;
                    _FingerID = fingerprint.FingerID;
                    if (hfAccess.WriteData(_AccountsID, _DistrictStudentNbr, _FingerID,  vf63_template) )
                    {
                        // Message
                        textConvert.AppendText(fingerprint.AccountsID.ToString() + &quot;; &quot;);
                    }
                    else
                    {
                        textConvert.AppendText(&quot;Error: &quot;+fingerprint.AccountsID.ToString() + &quot;; &quot;);
                    }
                    nfrecord.Dispose();
                }
                textConvert.AppendText(string.Format(&quot;\nAdded {0} HF fingerprints.\n Now {1} fingerprints.&quot;,iCount,hfAccess.gm_iNbrRecords));
                hfAccess = null;
                dsFP1s.Dispose();
                taFP1.Dispose();
            }
            catch (Exception ex)
            {
                // Display the errors
                textConvert.AppendText(&quot;Error: Source = &quot; + ex.Source + &quot;\n&quot;);
                textConvert.AppendText(&quot;Error: Message = &quot; + ex.Message + &quot;\n&quot;);
            }
            
            textConvert.AppendText(&quot; End of test.&quot;);
        }

        private void buttonDataSet_Click(object sender, EventArgs e) // Read Access with dataset
        {
            textDataSet.Text = &quot;&quot;;
            try
            {
                // Data access by using a DataSet
                //FPIDDataSetTableAdapters.FingerprintsTableAdapter ctaFPID = new FPIDDataSetTableAdapters.FingerprintsTableAdapter;
                //FPIDDataSet
                FPIDDataSet_MDBTableAdapters.FingerprintsTableAdapter taFP = new FPIDDataSet_MDBTableAdapters.FingerprintsTableAdapter();
                FPIDDataSet_MDB dsFPs = new FPIDDataSet_MDB();
                taFP.Fill(dsFPs.Fingerprints);
                int iCount = 0;
                foreach (FPIDDataSet_MDB.FingerprintsRow fingerprint in dsFPs.Fingerprints.Rows)
                {
                    iCount++;
                    if (iCount &gt; 15) break;
                    textDataSet.AppendText(fingerprint.AccountsID.ToString() + &quot;; &quot;);
                }
            }
            catch (OdbcException eExcpt)
            {
                // Display the errors
                textDataSet.AppendText(&quot;Error: Source = &quot; + eExcpt.Source);
                textDataSet.AppendText(&quot;Error: Message = &quot; + eExcpt.Message);
                //Console.WriteLine(&quot;Source = &quot; + eExcpt.Source);
                //Console.WriteLine(&quot;Message = &quot; + eExcpt.Message);
            }
        }

        #region Comments and code showing limitations of PC Soft data access 
  /* Note the code below gets the following exception: 
  * The ICommandWithParameters interface is not supported by the &#039;PCSOFT.HFSQL&#039; provider.  
  * Command parameters are unsupported with the current provider.
  *           try
            {
                // FPID Data access by using a DataSet
                FPIDDataSet_MDBTableAdapters.FingerprintsTableAdapter taFP = new FPIDDataSet_MDBTableAdapters.FingerprintsTableAdapter();
                FPIDDataSet_MDB dsFPs = new FPIDDataSet_MDB();
                taFP.Fill(dsFPs.Fingerprints);

                // .FIC access by =======================================================
                System.Data.OleDb.OleDbConnection myFIC = new System.Data.OleDb.OleDbConnection
                    (&quot;Provider=PCSOFT.HFSQL;Data Source=D:\\BioMetrics\\VF_CS_Test\\VF_CS_Test.wdd;Initial Catalog=D:\\BioMetrics\\VF_CS_Test\\exe;&quot;);
                // Experiment with making a data adapter for Insert &amp; Modify
                OleDbDataAdapter adapter = CreateDataAdapter(&quot;SELECT * FROM Fingerprints&quot;, myFIC);

                DataSet dsFIC = new DataSet();
                adapter.Fill(dsFIC);

                // Process FPID records
                int iCount = 0;
                foreach (FPIDDataSet_MDB.FingerprintsRow fingerprint in dsFPs.Fingerprints.Rows)
                {
                    iCount++;
                    if (iCount &gt; 15) break;
                    textConvert.AppendText(fingerprint.AccountsID.ToString() + &quot;; &quot;);
                    // Add to FIC Fingerprints
                   // Parameters not supported by PCSoft
                    //DataRow newFIC = dsFIC.Tables[0].NewRow();
                    //newFIC[&quot;AccountsID&quot;] = fingerprint.AccountsID;
                    //newFIC[&quot;FingerID&quot;] = fingerprint.FingerID;
                    //newFIC[&quot;DistrictStudentNbr&quot;] = fingerprint.DistrictStudentNbr;
                    //byte[] vf42_template = fingerprint.Features;
                    ////NFRecord nfrecord = new NFRecord(vf42_template);
                    ////newFIC[&quot;Features&quot;] = nfrecord;
                    //newFIC[&quot;Features&quot;] = vf42_template;
                    //dsFIC.Tables[0].Rows.Add(newFIC);
                  
                    // Try commands:
                    myFIC.Open();
                    OleDbCommand addFIC = new OleDbCommand(
                        &quot;INSERT INTO Fingerprints (AccountsID) &quot; +
                        &quot;VALUES (?)&quot;, myFIC);
                    //&quot;INSERT INTO Fingerprints (Features, FingerID, AccountsID, DistrictStudentNbr) &quot; +
                    //&quot;VALUES (?, ?, ?, ?)&quot;, myFIC);
                    OleDbParameter p1 = new OleDbParameter();
                    addFIC.Parameters.Add(p1);
                    p1.Value = fingerprint.AccountsID;
                    //fingerprint.Features, fingerprint.FingerID, fingerprint.AccountsID, fingerprint.DistrictStudentNbr);
                    //addFIC.CommandType = System.Data.CommandType.TableDirect;
                    int iAdded = addFIC.ExecuteNonQuery();
                    MessageBox.Show(&quot;Added {0} rows.&quot;, iAdded.ToString());
                }
                adapter.Update(dsFIC);
            }
            catch (OdbcException eExcpt)
            {
                // Display the errors
                textConvert.AppendText(&quot;Error: Source = &quot; + eExcpt.Source);
                textConvert.AppendText(&quot;Error: Message = &quot; + eExcpt.Message);
                //Console.WriteLine(&quot;Source = &quot; + eExcpt.Source);
                //Console.WriteLine(&quot;Message = &quot; + eExcpt.Message);
            }
        }


        public static OleDbDataAdapter CreateDataAdapter(string selectCommand,
        OleDbConnection connection)
        {
        }

           OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            // Create the Insert, Update and Delete commands.
            adapter.InsertCommand = new OleDbCommand(
                &quot;INSERT INTO Fingerprints (Features, FingerID, AccountsID, DistrictStudentNbr) &quot; +
                &quot;VALUES (?, ?, ?, ?)&quot;, connection);

            adapter.UpdateCommand = new OleDbCommand(
                &quot;UPDATE Fingerprints SET Features = ?, FingerID, AccountsID = ?, DistrictStudentNbr = ? &quot; +
                &quot;WHERE AccountsID = ?&quot;, connection);

            adapter.DeleteCommand = new OleDbCommand(
                &quot;DELETE FROM Fingerprints WHERE AccountsID = ?&quot;, connection);

            // Create the parameters. Add others !@!!!!!!!!!!!!!!!!!
            adapter.InsertCommand.Parameters.Add(&quot;@AccountsID&quot;,
                OleDbType.Integer, 10, &quot;AccountsID&quot;);
            adapter.InsertCommand.Parameters.Add(&quot;@DistrictStudentNbr&quot;,
                OleDbType.Integer, 10, &quot;DistrictStudentNbr&quot;);
            adapter.InsertCommand.Parameters.Add(&quot;@FingerID&quot;,
                OleDbType.VarChar, 50, &quot;FingerID&quot;);
            adapter.InsertCommand.Parameters.Add(&quot;@Features&quot;,
                OleDbType.Binary, 0, &quot;Features&quot;);

            adapter.UpdateCommand.Parameters.Add(&quot;@AccountsID&quot;,
                OleDbType.Integer, 10, &quot;AccountsID&quot;);
            adapter.UpdateCommand.Parameters.Add(&quot;@DistrictStudentNbr&quot;,
                OleDbType.Integer, 10, &quot;DistrictStudentNbr&quot;);
            adapter.UpdateCommand.Parameters.Add(&quot;@FingerID&quot;,
                OleDbType.VarChar, 50, &quot;FingerID&quot;);
            adapter.UpdateCommand.Parameters.Add(&quot;@Features&quot;,
                OleDbType.Binary, 0, &quot;Features&quot;);

            adapter.DeleteCommand.Parameters.Add(&quot;@AccountsID&quot;,
                OleDbType.Char, 5, &quot;AccountsID&quot;).SourceVersion =
                DataRowVersion.Original;
            return (adapter);
        }
*/
#endregion

        private void buttonWL_Click(object sender, EventArgs e)
        {
            //var testWL = &quot;Test&quot;;
            //var param1 = &quot;Param1&quot;;
            //clLog testLog = new clLog(ref testWL, ref param1);  

            WL.clHFAccess hfAccess = new clHFAccess();
            textWL.Text = &quot;Starting clHFAccess test.\n&quot;;
            textWL.AppendText(&quot;Data Path = &quot;+hfAccess.GetDataPath()+&quot;\n&quot;);
            textWL.AppendText(&quot;hfAccess.TestString = &quot; + hfAccess.GetTestString()+&quot;\n&quot;);
            // Read records:
            textWL.AppendText( &quot;\nStarting Records test usingg clAcess.\n&quot;); 
            textWL.AppendText(&quot;hfAccess.TestString = &quot; + hfAccess.GetTestString() + &quot;\n&quot;);
            int nbrRecords = hfAccess.gm_iNbrRecords;
            textWL.AppendText(&quot;Number of Records = &quot; + nbrRecords.ToString() + &quot;\n&quot;);
            int _ID = 0;
            int _AccountsID = 0;
            int _DistrictStudentNbr = 0;
            //var _FingerPrint = new Neurotec.IO.NBuffer(byte[]);// _Buffer);
            //NFRecord _FingerPrint = new NFRecord(); // _Buffer);
            //Neurotec.IO.NBuffer _FingerPrint;
            //byte[] _FingerPrint;
            //object _FingerPrint = new byte[100];
            //Buffer _FingerPrint;
            //byte[] _FingerPrint = new byte[100];
            //Byte[] _FingerPrint = new Byte[100];
            //try
            //{
            //    if (hfAccess.GetFirstFingerprint(ref _ID, ref _AccountsID, ref _DistrictStudentNbr,ref _FingerPrint))
            //    //if (hfAccess.GetFirstFingerprint( _ID,  _AccountsID,  _DistrictStudentNbr,  _FingerPrint)) 

            //    {
            //        do
            //        {
            //            //textWLAppendText(&quot;Processing Account: &quot; + _AccountsID.ToString()+
            //            //   &quot;, FP_Length = &quot;+_FingerPrint.Length.ToString()+ &quot;\n&quot;);
            //            textWL.AppendText(string.Format(&quot;Processing ID={0} Account: {1}, FP_Length = {2}\n&quot;, _ID, _AccountsID.ToString(),
            //              _FingerPrint.Length));
            //        }
            //        while (hfAccess.GetNextFingerprint(ref _ID, ref _AccountsID, ref _DistrictStudentNbr, ref _FingerPrint));
            //        //while (hfAccess.GetNextFingerprint( _ID, _AccountsID, _DistrictStudentNbr,  _FingerPrint));
            //    }
            //}
            //catch (Exception  ex)
            //{
            //    textWL.AppendText(&quot;Exception: &quot; + ex.Message + &quot;\n&quot;);
            //}
            //hfAccess = null;  // How to dispose? (Getting call stack error)

        }

        private void FormTest_Load(object sender, EventArgs e)
        {
 
        }

        private void buttonWL2_Click(object sender, EventArgs e)
        {
            // Test different methods of passing data from WinDev to C#
            clHFAccess wlTest = new clHFAccess();
            textWL.Text = &quot;Start of parameter test.\n&quot;;
            int testInt = 0;
            byte[] testArray = new byte[20];

            //wlTest.TestD(ref testInt,ref testArray);
            //textWL.AppendText(string.Format(&quot;Test D: testInt={0}, testArray upper bound={1}\n&quot;, testInt, testArray.GetLength(0)));

            wlTest.TestC(ref testInt, ref testArray);
            textWL.AppendText(string.Format(&quot;Test C: testInt={0}, testArray upper bound={1}\n&quot;, testInt, testArray.GetLength(0)));

            textWL.AppendText(&quot;End of test.\n&quot;);
            wlTest = null;
        }

    }
}</pre>
]]></description>
            <dc:creator>Jeff Graham</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Thu, 15 Dec 2011 17:18:18 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,116109,116111#msg-116111</guid>
            <title>Re: psword for analises default</title>
            <link>https://www.wxforum.info/read.php?27161,116109,116111#msg-116111</link>
            <description><![CDATA[ Allard,<br />
<br />
This is also mentioned in the help. ;-)]]></description>
            <dc:creator>Carlo Hermus</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 16 Nov 2011 20:42:17 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,116109,116109#msg-116109</guid>
            <title>psword for analises default</title>
            <link>https://www.wxforum.info/read.php?27161,116109,116109#msg-116109</link>
            <description><![CDATA[ I saw this in the windev forum and I thibk it is usefull in the solutions forum:<br />
<br />
By default, the data files of user groupware have a specific password. This password is: &quot;PCSGPW2001&quot;.<br />
]]></description>
            <dc:creator>Allard</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Wed, 16 Nov 2011 20:16:12 +0100</pubDate>
        </item>
        <item>
            <guid>https://www.wxforum.info/read.php?27161,113185,113185#msg-113185</guid>
            <title>Instructions for how to set up HFSQL C/S on 4 Linux distributions</title>
            <link>https://www.wxforum.info/read.php?27161,113185,113185#msg-113185</link>
            <description><![CDATA[ [<a href="http://www.windev.at/html/hfsql_c_s_on_linux.html"  rel="nofollow">www.windev.at</a>]<br />
<br />
Alexander Predl has written up the exact procedure of how to set up HyperFile C/S on a Linux System.<br />
<br />
Three other instruction pdfs (for OpenSuse, Ubuntu 11.04 and Debian) are to follow! Sorry, the first manual is in German only. We plan to translate &amp; publish them in English too!<br />
<br />
This is done in the light of our intention to offer virtual web servers to our customers for HF C/S synchronization of their POS terminals. We&#039;re looking at e.g. [<a href="https://vps.servage.com/plans"  rel="nofollow">vps.servage.com</a>] for setting up such a server. It&#039;s cheap and we can get our customers databases off from our own web server. Sure, it&#039;s possible to use MySQL in ordinary rented web space too but experienced funny limitations by providers. They simply want to limit traffic and aren&#039;t very excited about having large databases running on their servers.<br />
]]></description>
            <dc:creator>Jimbo</dc:creator>
            <category>WinDev Solutions</category>
            <pubDate>Tue, 11 Oct 2011 08:45:40 +0200</pubDate>
        </item>
    </channel>
</rss>
