Author Topic: Script BASIC project site upgrade  (Read 43234 times)

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Script BASIC project site upgrade
« on: March 10, 2014, 12:14:39 AM »
I'm getting close to a Script BASIC 2.2 release. As part of that milestone, I'm doing a makeover of the site. I would like to clean up the documentation and tidy up the source before the release. I'm also going though the member list and will be removing folks that haven't posted anything in the first round. This forum is for active Script BASIC users that wish to participate in the open source project. There is nothing being held back from non-members. You just can't participate with the other users here on the forum.

I would like to do a head count of current Script BASIC users. Please post a reply before the end of March to this thread indicating your interest in the project. This will assure that your account is not removed. It would be great if you could also let the rest of the members know how you use Script BASIC.


davebarnes

  • Guest
still interested
« Reply #1 on: March 10, 2014, 05:31:11 AM »
keep going

tbohon

  • Guest
Re: Script BASIC project site upgrade
« Reply #2 on: March 10, 2014, 07:12:16 AM »
Looking forward to version 2 and to the site upgrade.

Appreciate all your work!!!

mesbas

  • Guest
Re: Script BASIC project site upgrade
« Reply #3 on: March 10, 2014, 11:06:42 AM »
Definitely interested. I've contributed some code in the past.
Currently converting some old GW-Basic code from DOS days.
Looking forward to 2.2

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #4 on: March 10, 2014, 03:14:16 PM »
Definitely interested. I've contributed some code in the past.
Currently converting some old GW-Basic code from DOS days.
Looking forward to 2.2

I believe you wrote the additional math functions that were stubbed out and created the new RAD function. . Thanks for that!

I'm seriously thinking of using the Wetspot II QB game that was converted to C/SDL as a test for the new Script BASIC GFX extension module. I might even try doing it multi-threaded if I have time.

Glad you're still hanging in there with Script BASIC.
« Last Edit: March 10, 2014, 03:51:50 PM by support »

mpiotro

  • Guest
Re: Script BASIC project site upgrade
« Reply #5 on: March 11, 2014, 01:26:12 PM »
Definitely interested!  Thank you for your efforts in this!  I am currently using scriptbasic with a web appliance device from Control Solutions (http://csimn.com/CSI_pages/iboard.html).  I am using this device to read/write values into a controller via webservices.

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #6 on: March 12, 2014, 09:32:26 PM »
This is a current status of our member base as of March 12th 2014. As mentioned at the start of this thread ALL members need to reply to this thread or send me an e-mail indicating if you wish to continue being a member or not. Members not responding by March 31, 2014, will be removed from the active member list.

The column following the member ID is the number of days since you last logged in followed the total number of posts.

Code: [Select]
Airr            337  9
alej           1884  3
Bill           2860  2
BPak            561  3
Charles Pegge  1575  6
csisgro         881  1
davebarnes        2  1
DJBenson31     1451  1
dons333        1191  4
E.K.Virtanen   1104 13
EfSeven        1448  1
Erik           1889  1
erosolmi       1825  0
eslipak        1319  0
falkyr11       2008  1
Fouad_msb       484 14
GSAC3           883  4
jhouck          784  4
johng         Never  0
jsoft          2084  2
Ken Arck        778 10
Kirkkaf         471  4
konaexpress     685  0
kryton9         127 48
KusaNagi       1028  1
lsk040365      1876  0
Luka          Never  0
Manjusha      Never  0
Marcel         1320  5
meljr          1068  1
mesbas            2 14
Michael        2144  5
midiwall       1329  3
mo              552  0
montanan       1990  2
mpiotro           1  1
mrue          Never  0
MystikShadows   475  0
nickmat         325  0
nime           1162  2
Oldno7         2890  1
paopao         2321  6
patforkin       942  8
philpots       1965  0
Pjot           2848  2
Ran              64  6
roblos         2181  1
RONB             33 18
rsondrusek        2  0
sc             1616  1
SpaceLifeForm   723  1
steve          1240  2
tbohon            2  2
Techecho       1403  1
Teropita        266  2
Verhas          295 15
votan          1467  7
vtboymac        466  0
Zulfi.Ali      1310 12
« Last Edit: March 12, 2014, 09:35:12 PM by support »

RONB

  • Guest
Re: Script BASIC project site upgrade
« Reply #7 on: March 15, 2014, 10:58:35 AM »
Looking forward to the new release, thanks for all the effort.

midiwall

  • Guest
Re: Script BASIC project site upgrade
« Reply #8 on: March 15, 2014, 11:34:49 AM »
I'm in! We're using it at work for test automation on a Linux product.

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #9 on: March 15, 2014, 12:06:59 PM »
What's cooking in the SB kitchen.  ;D

C:\scriptbasic\source\bin\exe>scriba -v
ScriptBasic v2.2
Variation >>Windows64<< build 1
Magic value 858999605
Node size is 16
Extension interface version is 11
Compilation: Mar 15 2014 12:02:43
Executable: C:\scriptbasic\source\bin\exe\scriba.exe

C:\scriptbasic\source\bin\exe>

I was able to get the current MySQL Windows 64 bit server running and working with the Script BASIC MySQL extension module. I'm almost there with Curl (ssl & ssh support) but it's a picky library to get running under Windows and 64 bit no less.

Code: [Select]
' MySQL Test Program

INCLUDE mysql.bas

dbh = mysql::RealConnect("localhost","root","","test")

mysql::query(dbh,"SELECT * FROM products WHERE productLine = 'Motorcycles'")

WHILE mysql::FetchHash(dbh,column)
  PRINT column{"productName"}," - ",column{"productDescription"},"\n\n"
WEND

PRINTNL
PRINT "The database handle is: ",dbh,"\n"
PRINT "Affected rows by SELECT: ",mysql::AffectedRows(dbh),"\n"
PRINT "Character set name is: ",mysql::CharacterSetName(dbh),"\n"
PRINT "Last error is: ",mysql::ErrorMessage(dbh),"\n"
PRINT "Client info is: ",mysql::GetClientInfo(),"\n"
PRINT "Host info is: ",mysql::GetHostInfo(dbh),"\n"
PRINT "Proto info is: ",mysql::GetProtoInfo(dbh),"\n"
PRINT "Server info is: ",mysql::GetServerInfo(dbh),"\n"
PRINT "PING result: ",mysql::Ping(dbh),"\n"
PRINT "Thread ID: ",mysql::ThreadId(dbh),"\n"
PRINT "Status is: ",mysql::Stat(dbh),"\n"

mysql::Close(dbh)

Query Output
Code: [Select]
C:\scriptbasic\test>scriba testmysql.sb
1969 Harley Davidson Ultimate Chopper - This replica features working kickstand, front suspension, gear-shift lever, footbrake lever
, drive chain, wheels and steering. All parts are particularly delicate due to their precise scale and require special care and atte
ntion.

1996 Moto Guzzi 1100i - Official Moto Guzzi logos and insignias, saddle bags located on side of motorcycle, detailed engine, working
 steering, working suspension, two leather seats, luggage rack, dual exhaust pipes, small saddle bag located on handle bars, two-ton
e paint with chrome accents, superior die-cast detail , rotating wheels , working kick stand, diecast metal with plastic parts and b
aked enamel finish.

2003 Harley-Davidson Eagle Drag Bike - Model features, official Harley Davidson logos and insignias, detachable rear wheelie bar, he
avy diecast metal with resin parts, authentic multi-color tampo-printed graphics, separate engine drive belts, free-turning front fo
rk, rotating tires and rear racing slick, certificate of authenticity, detailed engine, display stand
, precision diecast replica, baked enamel finish, 1:10 scale model, removable fender, seat and tank cover piece for displaying the s
uperior detail of the v-twin engine

2002 Suzuki XREO - Official logos and insignias, saddle bags located on side of motorcycle, detailed engine, working steering, worki
ng suspension, two leather seats, luggage rack, dual exhaust pipes, small saddle bag located on handle bars, two-tone paint with chr
ome accents, superior die-cast detail , rotating wheels , working kick stand, diecast metal with plastic parts and baked enamel fini
sh.

1936 Harley Davidson El Knucklehead - Intricately detailed with chrome accents and trim, official die-struck logos and baked enamel
finish.

1957 Vespa GS150 - Features rotating wheels , working kick stand. Comes with stand.

1997 BMW R 1100 S - Detailed scale replica with working suspension and constructed from over 70 parts

1960 BSA Gold Star DBD34 - Detailed scale replica with working suspension and constructed from over 70 parts

1982 Ducati 900 Monster - Features two-tone paint with chrome accents, superior die-cast detail , rotating wheels , working kick sta
nd

1997 BMW F650 ST - Features official die-struck logos and baked enamel finish. Comes with stand.

1982 Ducati 996 R - Features rotating wheels , working kick stand. Comes with stand.

1974 Ducati 350 Mk3 Desmo - This model features two-tone paint with chrome accents, superior die-cast detail , rotating wheels , wor
king kick stand

2002 Yamaha YZR M1 - Features rotating wheels , working kick stand. Comes with stand.


The database handle is: 1
Affected rows by SELECT: 13
Character set name is: latin1
Last error is:
Client info is: 5.6.16
Host info is: localhost via TCP/IP
Proto info is: 10
Server info is: 5.6.16
PING result: -1
Thread ID: 0
Status is: Uptime: 964  Threads: 1  Questions: 46  Slow queries: 0  Opens: 74  Flush tables: 1  Open tables: 65  Queries per second
avg: 0.047

C:\scriptbasic\test>

@Tom (mesbas) - Your math additions work fine under Windows 64 bit. I wasn't surprised as they have been part the Linux 64 bit version for some time.

Code: [Select]
' Given the starting value of 34 degrees, calculate radians.
' Given the radian value, calculate TAN, COTAN, SECANT and COSECANT.
' Given the TAN, COTAN, SECANT and COSECANT values,
' calculate the ATAN, ACTAN, ASECANT and ACOSECANT.
'
degval = 34
radval = RAD(degval)
zerval = 0

tanval = TAN(radval)
cotval = COTAN(radval)
secval = SECANT(radval)
cseval = COSECANT(radval)

ataval = ATAN(tanval)
actval = ACTAN(cotval)
aseval = ASECANT(secval)
acoval = ACOSECANT(cseval)

hsinv = HSIN(radval)
hcosv = HCOS(radval)
htanv = HTAN(radval)
hsecv = HSECANT(radval)
hcosc = HCOSECANT(radval)
hcotv = HCTAN(radval)

print "\nThe following 8 functions accept radians as their argument, so we "
print "use the\nnew RAD() function to convert ",degval," degrees to ",FORMAT("%.12f",radval)," radians.\n\n"

print "Tangent\t\tCotangent\tSecant\t\tCosecant\n"
print "TAN()  \t\tCOTAN()  \tSECANT()    \tCOSECANT()\n"
print FORMAT("%.12f",tanval),"\t",FORMAT("%.12f",cotval),"\t",FORMAT("%.12f",secval),"\t",FORMAT("%.12f",cseval),"\n\n"

print "Arctangent\tArccotangent\tArcsecant\tArccosecant\n"
print "ATAN()    \tACTAN()  \tASECANT()\tACOSECANT()\n"
print FORMAT("%.12f",ataval),"\t",FORMAT("%.12f",actval),"\t",FORMAT("%.12f",aseval),"\t",FORMAT("%.12f",acoval),"\n\n"

print "There are 6 Hyperbolic functions. They also accept radian arguments.\n\n"
print "H-Sine\t\tH-Cosine\tH-Tangent\n"
print "HSIN()\t\tHCOS()  \tHTAN()\n"
print FORMAT("%.12f",hsinv),"\t",FORMAT("%.12f",hcosv),"\t",FORMAT("%.12f",htanv),"\n\n"

print "H-Secant\tH-Cosecant\tH-Cotangent\n"
print "HSECANT()\tHCOSECANT()\tHCTAN()\n"
print FORMAT("%.12f",hsecv),"\t",FORMAT("%.12f",hcosc),"\t",FORMAT("%.12f",hcotv),"\n"

Output
Code: [Select]
C:\scriptbasic\test>scriba testmath.sb

The following 8 functions accept radians as their argument, so we use the
new RAD() function to convert 34 degrees to 0.593411945678 radians.

Tangent         Cotangent       Secant          Cosecant
TAN()           COTAN()         SECANT()        COSECANT()
0.674508516842  1.482560968513  1.206217948504  1.788291649971

Arctangent      Arccotangent    Arcsecant       Arccosecant
ATAN()          ACTAN()         ASECANT()       ACOSECANT()
0.593411945678  0.593411945678  0.593411945678  0.593411945678

There are 6 Hyperbolic functions. They also accept radian arguments.

H-Sine          H-Cosine        H-Tangent
HSIN()          HCOS()          HTAN()
0.628857432614  1.181296605664  0.532345077095

H-Secant        H-Cosecant      H-Cotangent
HSECANT()       HCOSECANT()     HCTAN()
0.846527447218  1.590185546257  1.878480788171

C:\scriptbasic\test>
« Last Edit: March 15, 2014, 09:37:00 PM by support »

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #10 on: March 17, 2014, 12:11:55 PM »
I was able to build the Windows 64 bit version of the Script BASIC GFX extension module.

Note: These examples are using the same Script BASIC GFX scripts that were used for the Linux 64 bit and Windows XP 32 bit examples.






Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #11 on: March 17, 2014, 07:28:56 PM »
I was able to get the Windows 64 bit version of  IUP working with the Script BASIC IUP extension module interface. I still need to get the manifest issue resolved but everything else looks fine.



I got the scribaw.exe version of Script BASIC built which is a Windows application and not a console app. It also includes what is needed for theming controls. Using the following command will generate a standalone Windows (no console support) version of your SB IUP app.

scribaw -Eo myapp.exe myapp.sb



Update: I have recompiled the 64 bit scriba.exe console interpreter to support IUP/GUI control theming. This will be a good way to debug your SB scripts and when your ready to release, use scribaw.exe which has no startup console support. (true Windows app)

Here is one of the first GUI programs I got running under Script BASIC back in 2006 using GTK-Server. I wanted to test the socket support under 64 bit Windows and this program example seem like good candidate. This shows an attempt I made at wrapping the IUP functions in high level SB functions to try and make working with IUP even easier.

Code: [Select]
' SBx Online Dictionary

servers[0]="dict.org"
servers[1]="dict1.us.dict.org"
servers[2]="all.dict.org"

about="""This is a Demo
of the IUP GUI Binding
for Scriptbasic"""

INCLUDE "SBx"

' Create main window
win = DIALOG()
  SETPROPERTIES win, "TITLE=\"SBx Dictionary\", SIZE = 500x300"
  SETEVENT win, "CLOSE_CB", ADDRESS(Win_exit())

' Create container to house ALL GUI objects
vbx = VBOX()
  SETPROPERTIES vbx, "MARGIN=10x10"

' Create server panel
topBox = HBOX()
  SETPROPERTIES topBox, "GAP=10"
  APPEND vbx, topBox
serverFrame = FRAME()
  SETPROPERTIES serverFrame, "TITLE=Servers, EXPAND=YES"
  APPEND topBox, serverFrame
serverBox = HBOX()
  SETPROPERTIES serverBox, "GAP=5"
  APPEND serverFrame, serverBox
serverCombo = LIST()
  SETPROPERTIES serverCombo, "DROPDOWN=YES, SIZE=120x, EXPAND=HORIZONTAL, VALUE=1"
  APPEND serverBox, serverCombo
  SETEVENT serverCombo, "ACTION", ADDRESS(serverCombo_selected())
btnFetch = BUTTON()
  SETPROPERTIES btnFetch, "TITLE=Fetch, SIZE = 50x"
  APPEND serverBox, btnFetch
  SETEVENT btnFetch, "ACTION", ADDRESS(btnFetch_clicked())

' Create control panel
controlFrame = FRAME()
  SETPROPERTIES controlFrame, "TITLE=Controls"
  APPEND topBox, controlFrame
controlBox = HBOX()
  SETPROPERTIES controlBox, "GAP=5"
  APPEND controlFrame, controlBox
btnAbout = BUTTON()
  SETPROPERTIES btnAbout, "TITLE=About, SIZE = 50x"
  APPEND controlBox, btnAbout
  SETEVENT btnAbout, "ACTION", ADDRESS(btnAbout_clicked())
btnClear = BUTTON()
  SETPROPERTIES btnClear, "TITLE=Clear, SIZE = 50x"
  APPEND controlBox, btnClear
  SETEVENT btnClear, "ACTION", ADDRESS(btnClear_clicked())
btnExit = BUTTON()
  SETPROPERTIES btnExit, "TITLE=Exit, SIZE = 50x"
  APPEND controlBox, btnExit
  SETEVENT btnExit,"ACTION",ADDRESS(Win_exit())

' Create dictionary panel
dictFrame = FRAME()
  SETPROPERTIES dictFrame, "TITLE=\"Dictionaries\""
  APPEND vbx, dictFrame
serverList = LIST()
  SETPROPERTIES serverList, "EXPAND=YES, VISIBLELINES=1"
  APPEND dictFrame, serverList
  SETEVENT serverList, "ACTION", ADDRESS(serverList_selected())

' Create text part
transFrame = FRAME()
  SETPROPERTIES transFrame, "TITLE=\"Translation\""
  APPEND vbx, transFrame
txt = TEXT()
  SETPROPERTIES txt, "MULTILINE=YES, EXPAND=YES"
  APPEND transFrame, txt


' Create entry and search button
bottomBox = HBOX()
  SETPROPERTIES bottomBox, "GAP=10"
  APPEND vbx, bottomBox
lbl = LABEL()
  SETPROPERTIES lbl, "TITLE=\"Enter Word to Search For:\", SIZE=x12"
  APPEND bottomBox, lbl
entry = TEXT()
  SETPROPERTIES entry, "EXPAND=HORIZONTAL"
  APPEND bottomBox, entry
btnSearch = BUTTON()
  SETPROPERTIES btnSearch,"TITLE=Search, SIZE=50x"
  APPEND bottomBox, btnSearch
  SETEVENT btnSearch, "ACTION", ADDRESS(btnSearch_clicked())
chkAll = TOGGLE()
  SETPROPERTIES chkAll, "TITLE=ALL, SIZE=x12"
  APPEND bottomBox, chkAll
chkUTF = TOGGLE()
  SETPROPERTIES chkUTF, "TITLE=UTF-8, SIZE=x12"
  APPEND bottomBox, chkUTF

' Add the main GUI container to the Window
APPEND win, vbx

' Setup dialog defaults
SHOW win
FOCUS btnFetch
FOR i = 0 TO UBOUND(servers)
  SETPROPERTY serverCombo, "APPENDITEM", servers[i]
NEXT
SETPROPERTY serverCombo, "VALUE", "1"
UPDATE serverCombo
server_selection = servers[0]
GETEVENT()
END


' Callback routines

SUB Win_exit
  Iup::ExitLoop = TRUE
END SUB

SUB btnAbout_clicked
  MESSAGE "ABOUT", about
END SUB

SUB serverCombo_selected
  server_selection = GETITEM()
END SUB

SUB serverList_selected
  whichDictionary = GETITEM()
END SUB

SUB btnFetch_clicked
  LOCAL dat, total, count
  ON ERROR GOTO G_NetError
  OPEN server_selection & ":2628" FOR SOCKET AS #1
  PRINT#1,"SHOW DB\n"
  LINE INPUT#1, dat
  LINE INPUT#1, dat
  count = 0
  WHILE LEFT(dat, 1) <> "."
    LINE INPUT#1, dat
    IF LEFT(dat, 1) <> "." THEN total[count] = TRIM(dat)
    count+=1
  WEND
  PRINT#1,"QUIT\n"
  CLOSE(#1)
  FOR cnt = 0 TO count - 2
    SETPROPERTY serverList, "APPENDITEM", total[cnt]
  NEXT
  SETPROPERTY serverList, "VALUE", "1"
  UPDATE serverCombo
  whichDictionary = total[0]
  EXIT SUB

  G_NetError:
  PRINT "Server ",server_selection," not available. (",ERROR,")\n"
END SUB

SUB btnClear_clicked
  CLEAR serverList
  SETPROPERTY txt, "VALUE", ""
  SETPROPERTY entry, "VALUE", ""
END SUB

SUB btnSearch_clicked
  LOCAL dict, dat, total, info
  SETPROPERTY txt, "VALUE", "Fetching...."
  ON ERROR GOTO L_NetError
  dict = LEFT(whichDictionary, INSTR(whichDictionary, " "))
  OPEN server_selection & ":2628" FOR SOCKET AS 1
  IF GETPROPERTY(chkAll, "VALUE") THEN
    PRINT#1,"DEFINE * " & GETPROPERTY(entry, "VALUE") & "\n"
  ELSE
    PRINT#1,"DEFINE " & dict & " " & GETPROPERTY(entry, "VALUE") & "\n"
  END IF
  REPEAT
    LINE INPUT#1, dat
    IF LEFT(dat, 3) = "151" THEN
      total &= "------------------------------\r\n"
      total &= RIGHT(dat, LEN(dat) - LEN(GETPROPERTY(entry, "VALUE")) - LEN(dict))
      total &= "------------------------------\r\n"
      REPEAT
        LINE INPUT#1, info
        info = REPLACE(info, CHR(34), CHR(92) & CHR(34))
        IF LEFT(info, 1) <> "." THEN total &= TRIM(info) & "\n"
      UNTIL LEFT(info, 1) = "."
      total &= "\n"
    END IF
  UNTIL LEFT(dat, 3) = "250" OR VAL(LEFT(dat, 3)) > 499
  PRINT#1,"QUIT\n"
  CLOSE(#1)
  IF LEFT(dat, 3) = "552" THEN
    total = "No match found."
  ELSE IF LEFT(dat, 3) = "501" THEN
    total = "Select a dictionary first!"
  ELSE IF LEFT(dat, 3) = "550" THEN
    total = "Invalid database!"
  END IF
  SETPROPERTY txt, "VALUE", total
EXIT SUB

L_NetError:
  dat[0] = "Could not lookup word! (" & ERROR & ")"
  SETPROPERTY txt, "VALUE", dat
END SUB

« Last Edit: March 18, 2014, 02:26:48 PM by support »

csisgro

  • Guest
Re: Script BASIC project site upgrade
« Reply #12 on: March 19, 2014, 07:20:36 AM »
I am in. I haven't done any large projects with it in a while. Lately I use it for reading and extracting exported data or captured printouts then massaging the data for importing into other programs.

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #13 on: March 19, 2014, 11:27:51 AM »
It's great to hear what other Script BASIC users are doing with the BASIC.

After compiling scriba 2.2 for Windows 64 bit I started with cURL because Armando's 2.1 Windows 64 effort didn't include the extension module. That should have been a hint to what was ahead. After a week of fighting with it I finally got it compiled. It has earned the top shelf position on my most PITA extension modules to build. I could have reduced the pain by using the bare bones cURL distribution but that wasn't my goal. What we now have is a 64 bit version of the library with all the bells and whistles.

Quote
curl 7.28.1 (x86_64-pc-win32) -  libcurl/7.28.1 OpenSSL/1.0.0j zlib/1.2.7 WinIDN libssh2/1.4.2 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN Largefile NTLM SSL SSPI libz

I have Apache 64 bit + extensions installed. My next step is getting the 64 bit version of the Script BASIC multi-threaded HTTPD proxy application server connected and running.

Quote
Apache 2.4.7 win64 VC10

IPv6 and Crypto enabled, apr-1.5.0 apr-util-1.5.3 apr-iconv-1.2.1 openssl-1.0.1f zlib-1.2.8 pcre-8.34 libxml2-2.9.1 lua-5.1.5 expat-2.1.0
« Last Edit: March 19, 2014, 12:10:19 PM by support »

Support

  • Administrator
  • *****
  • Posts: 19
    • View Profile
Re: Script BASIC project site upgrade
« Reply #14 on: March 20, 2014, 12:25:33 PM »
I'm happy to report that the Script BASIC ODBC Windows 64 bit extension module works with the MySQL 64 bit server. I'm using the same database / table I demonstrated in a previous post with the direct MySQL C API interface.

Code: [Select]
' ODBC Test Program

INCLUDE odbc.bas

dbh = odbc::RealConnect("hobbydb","admin","")

odbc::query(dbh,"SELECT * FROM products WHERE productLine = 'Motorcycles'")

WHILE odbc::FetchHash(dbh,column)
  PRINT column{"productName"}," - ",column{"productDescription"},"\n\n"
WEND

odbc::Close(dbh)

Output
Code: [Select]
C:\scriptbasic\test>scriba testodbc.sb
     Harley Davidson Ultimate Chopper -      replica features working kickstand, front suspension, gear-shift lever, footbrake lever
, drive chain, wheels and steering. All parts are particularly delicate due to their precise scale and require special care and atte
ntion.

     Moto Guzzi 1100i -     cial Moto Guzzi logos and insignias, saddle bags located on side of motorcycle, detailed engine, working
 steering, working suspension, two leather seats, luggage rack, dual exhaust pipes, small saddle bag located on handle bars, two-ton
e paint with ch     accents, superior die-cast detail , rotating wheels , working kick stand, diecast metal with plastic parts and b
aked enamel finish.

     Harley-Davidson Eagle Drag Bike -     l features, official Harley Davidson logos and insignias, detachable rear wheelie bar, he
avy diecast metal with resin parts, authentic multi-color tampo-printed graphics, separate engine drive belts, free-turning front fo
rk, rotating tires and rear ra     slick, certificate of authenticity, detailed engine, display stand
, precision diecast replica, baked enamel finish, 1:10 scale model, removable fender, seat and tank cover piece for displaying the s
uperior detail of the v-twin engine

     Suzuki XREO -     cial logos and insignias, saddle bags located on side of motorcycle, detailed engine, working steering, worki
ng suspension, two leather seats, luggage rack, dual exhaust pipes, small saddle bag located on handle bars, two-tone paint with chr
ome accent    uperior die-cast detail , rotating wheels , working kick stand, diecast metal with plastic parts and baked enamel fini
sh.

     Harley Davidson El Knucklehead -     icately detailed with chrome accents and trim, official die-struck logos and baked enamel
finish.

     Vespa GS150 -     ures rotating wheels , working kick stand. Comes with stand.

     BMW R 1100 S -     iled scale replica with working suspension and constructed from over 70 parts

     BSA Gold Star DBD34 -     iled scale replica with working suspension and constructed from over 70 parts

     Ducati 900 Monster -     ures two-tone paint with chrome accents, superior die-cast detail , rotating wheels , working kick sta
nd

     BMW F650 ST -     ures official die-struck logos and baked enamel finish. Comes with stand.

     Ducati 996 R -     ures rotating wheels , working kick stand. Comes with stand.

     Ducati 350 Mk3 Desmo -      model features two-tone paint with chrome accents, superior die-cast detail , rotating wheels , wor
king kick stand

     Yamaha YZR M1 -     ures rotating wheels , working kick stand. Comes with stand.


C:\scriptbasic\test>