Jump to content
FHannes

SCAR Divi 3.31 Beta

Recommended Posts

The beta of SCAR Divi 3.31 is finally available. The entire engine reimplementation is complete, the only thing changed atm is that SCAR only exports WriteLn to plugins now. This won't be changed until the new plugin architecture is introduced in 3.32 or 3.33, but afaik there are no plugins that currently make use of this functionality.

 

New in the beta is support for hex and base64 encoding and also zlib compression! These functions like [wiki=ZLibCompress]ZLibCompress[/wiki] are all documented in the wiki.

 

The final version of the 3.31 build will be released on the 13th of Februari, so you can expect a release candidate soon. The last thing that will be added to the beta before RC is support for SQLite databases.

 

Regular: http://svn.scar-divi.com/scar/

Portable: http://svn.scar-divi.com/scar_portable/

 

Setup instructions: http://forums.scar-divi.com/showthread.php?505-Downloading-SCAR-Divi-Prerelease

 

Changelog:

Bugfixes:
- Small bug in loading toolbars/docks
- ReadLn didn't return the result
- Bug in the settingsmanager caused issues when changing the editor format
- CallProc didn't return the proper result
- Local variables were bugged in code completion

Improvements:
- New interface for script engine
- Improved compile/running time measurement
- Vastly improved speed for displaying variable content while debugging
- Updated bitmap encoding

Additions:
- function FileAge(const Path: string): TDateTime;
- function ScriptFile: AnsiString;
- function Base64ToStr(const Str: AnsiString): AnsiString;
- function StrToBase64(const Str: AnsiString): AnsiString;
- function HexToStr(const Str: AnsiString): AnsiString;
- function StrToHex(const Str: AnsiString): AnsiString;
- function ZLibCompress(const Str: AnsiString): AnsiString;
- function ZLibDecompress(const Str: AnsiString): AnsiString;
- function WorkspacePath: AnsiString;
- const SQL_OK, SQL_ERROR, SQL_FULL, SQL_ROW, SQL_DONE
- function SQLOpen(const Path: string; const CreateIfNotFound: Boolean): Integer;
- function SQLFree(const DBIndex: Integer): Boolean;
- function SQLAssigned(const DBIndex: Integer): Boolean;
- function SQLLastID(const DBIndex: Integer): Integer;
- procedure SQLQuery(const DBIndex: Integer; const Query: string);
- function SQLQueryEx(const QueryIndex: Integer; const Query: string): Integer;
- function SQLQueryFree(const QueryIndex: Integer): Boolean;
- function SQLQueryAssigned(const QueryIndex: Integer): Boolean;
- function SQLQueryStep(const QueryIndex: Integer): Integer;
- function SQLQueryReset(const QueryIndex: Integer): Integer;
- procedure SQLBindStr(const QueryIndex, ParamIndex: Integer; const Str: string);
- procedure SQLBindInt(const QueryIndex, ParamIndex: Integer; const Int: Integer);
- function SQLColumnStr(const QueryIndex, ColumnIndex: Integer): string;
- function SQLColumnInt(const QueryIndex, ColumnIndex: Integer): Integer;

Removed:
- BitmapFromString2

 

Enjoy :)

 

~Freddy

Edited by Freddy
Link to comment
Share on other sites

win32 error

 

Please be more specific, that information is useless without details.

 

---------- Post added at 11:42 PM ---------- Previous post was at 10:12 PM ----------

 

I've uploaded a new copy containing the first bunch of SQLite3 functions:

 

 - function SQLOpen(const Path: string; const CreateIfNotFound: Boolean): Integer;
- function SQLFree(const DBIndex: Integer): Boolean;
- function SQLAssigned(const DBIndex: Integer): Boolean;
- function SQLLastID(const DBIndex: Integer): Integer;
- procedure SQLQuery(const DBIndex: Integer; const Query: string);
- function SQLQueryEx(const QueryIndex: Integer; const Query: string): Integer;
- function SQLQueryFree(const QueryIndex: Integer): Boolean;
- function SQLQueryAssigned(const QueryIndex: Integer): Boolean;
- function SQLQueryStep(const QueryIndex: Integer): Integer;
- function SQLQueryReset(const QueryIndex: Integer): Integer;
- procedure SQLBindStr(const QueryIndex, ParamIndex: Integer; const Str: string);
- procedure SQLBindInt(const QueryIndex, ParamIndex: Integer; const Int: Integer);
- function SQLColumnStr(const QueryIndex, ColumnIndex: Integer): string;
- function SQLColumnInt(const QueryIndex, ColumnIndex: Integer): Integer;

 

There's going to be quite a lot more of them, but I wanted to start with these and take a break to document them in the wiki. You can find a fairly elaborate example of how to use most of these functions [wiki=SQLOpen]here[/wiki].

Link to comment
Share on other sites

Yayyy, thanks Freddy!

I wonder how many lines you wrote code yesterday.. MUST be at 1000s... :P

Hopefully your WhatPulse has been recording! ;)

 

Heh, not sure how many, just pulsed :)

 

I just love writing documention though xD Aside from adding the SQLite3 documentation, I'm also adding some documentation for other previously undocumented functions like [wiki=FindColorSpiral2]FindColorSpiral2[/wiki]

Link to comment
Share on other sites

I also get win32 error when i click on scar.exe

I never instal pre release. I just download all files and put it in one folder in program files

Is any procedure to instal pre-release?

Becaue I can't wait for function FileAge and ScriptFile and of course Speed!

Link to comment
Share on other sites

Ah, well, you need to download it with subversion. It's easiest you get TortoiseSVN, when you've installed it you make a new folder where you want to place SCAR, rightclick it and press "SVN Checkout...", next you'll get a window where you have to enter the subversion link at the top, "http://svn.scar-divi.com/scar/" for the regular version. Then press OK. If you want to update your copy to the latest version afterwards, you just rightclick the folder again and press "SVN Update" (and if anything goes wrong when updating it's best you just remove the folder and checkout again in a new one.)

 

I was going to make a video on how to do this, but apparently I already did: http://forums.scar-divi.com/showthread.php?505-Downloading-SCAR-Divi-Prerelease

I'll include it in future pre-release posts to avoid any confusion.

Link to comment
Share on other sites

For those not familiar with SQL I found a nifty freeware tool that lets you build your tables using a nice gui and will generate the SQL code for you:

SQLite Administrator

 

Doesn't appear to support adding foreign keys constraints, but if you're getting that deep you most likely already know the syntax. Speaking of which: Freddy, you compiled SQLite with the SQLITE_OMIT_FOREIGN_KEY define? I can create foreign keys using SQLite Administrator's query window but it bombs using SCAR. Not a biggie, kinda overkill really for most SCAR applications.

Link to comment
Share on other sites

I use DISQLite3 in my projects for SQLite3 support, it's a library that fully integrates with Delphi without requiring additional DLLs, I'm currently using the Personal edition though which does not support foreign key constraints (http://www.yunqa.de/delphi/doku.php/products/sqlite3/feature_chart). However, I'll probably be purchasing the Professional edition in the future, so support will likely be added at some point.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...