Forum Liberty Basic France

Le 24/08/2018 à 08h25

Libertynaute

Groupe: Membre

Inscrit le: 17/12/2010
Messages: 72
Salut,

Juste pour signaler la sortie officielle de : JustBASIC 2.0

http://justbasiccom.proboards.com/thread/97/basic-v2-official-release-announcement


New features in Just BASIC 2.0
Caché:

Raised memory limit from 70MB to 256MB
Variable highlighting and click-navigation in code editor
OPEN "COMn:" - Remove restrictions on baud rates
Better support for Windows 10
Help files are converted to HTML
StartupDir$ variable
Always Open Main Window on Debug - Option
Compiler reporting
Always Open Main Window On Debug (new preference)
Filter Bad Characters (new preference)
Breakpoints for debugging
Debugger Improvements
ON ERROR GOTO and RESUME
Groupboxes Accept New Commands
New Sprite Commands
spritetofront, spritetoback
SHOW and HIDE commands have been added to GUI controls


New functions and commands:
Caché:

COLORDIALOG
DECHEX$( )
FONTDIALOG
GETTRIM #h, n
HEXDEC( "value" )
INPUTTO$(#h, c$)
MAPHANDLE
MAX( )
MIN( )
POPUPMENU
PRINTERDIALOG
RESUME
SORT
TITLEBAR
TRACE n


Le 'ChangeLog' complet :
Caché:
Just BASIC v2.0 release notes
----------------------------------------------------------------------

-Updated the sprite examples to use a timer instead of a delay loop.
SPRGETXY.BAS, SPRTTST2.BAS and SPRTTST3.BAS

-Added a Just BASIC Tutorial which is opened from the Help menu. This
version of the tutorial is converted to HTML and is viewed in the
default web browser.

-Fixed error that sometimes occurs when the Icon Editor is opened.

-Fixed error Runtime error: "stepToNextLocalLine" not understood
when using debugger popup menu 'Run to next local line'.

-Added ASCII 160 to ASCII 32 conversion when Filter bad characters
is turned on.

NOTICE: TKN files need to be regenerated for use with the v2.0
runtime engine! This is because of a certain bug fix which
rendered the new TKN files unreadable by older runtime engines.

-Added a Smaller font and Larger font button to the Just BASIC
editor toolbar so that you can change the font size quickly.

-Updated runtime engine name to jrun20.exe

-Fixed the paste action so that in a window having one or more
textboxes and one or more texteditor widgets, that the paste would
figure out which control has the input focus before pasting.

-Fixed the error message that is produced when trying to print to a
file opened for input. It was complaining that file access is denied
but now it says:

Attempted to write to a file opened for input: #handle

-Added a variable highlighting feature to the code editor. Double
clicking on a variable name will cause other instances of that
variable to to be highlighted with yellow background to make them
easy to find.

-Control clicking on a branch label, sub or function name will cause
the code editor to jump to that place in the code if it exists.

-Remove restriction on the baud rates that are permitted when opening
serial ports to account for newer or exotic devices.

-Remember the Just BASIC editor size and position so that it will
open in the size and location it was when it was closed.

-Fix for Runtime error: Float denormalized operand
In various scenarios Just BASIC users have reported this error,
most recently in respect to using LB with a touchscreen.

-Memory limit raised from 70MB to 256MB. For a long time this was kept
low as a garbage collection optimization, but 70MB seems like an
unreasonable size restriction today.

-Added a filter to remove noncompileable and invisible characters from
files which are opened into the Just BASIC editor. Characters
with values above ASCII 32 are permitted along with LF (ASCII
10), CR (ASCII 13), and TAB (ASCII 9). Any other characters will
need to be represented using the CHR$() function or else read in from
a file or from some other source. The filter is also applied to text
which is pasted, or added using the File+Insert File... menu.

NOTE: This feature can be turned off in the Just BASIC Preferences
window under the Setup menu with the Filter Bad Characters checkbox.

-Eliminated a runtime error "asBoolean not understood" for when the
result of a comparison expression in an IF/THEN statement is a
floating point value. For example:

if 1/2 then print "testing"

Now the value is truncated to an integer if needed. This means that
if the result of the expression is 1 > n > -1 then the expression
will evaluate to false.

-Added support for Windows Vista, Windows 7, Windows 8/8.1 and
Windows 10!

-Fixed the FUNCTION statement so it will allow more than one space
between the keyword FUNCTION and the name of the function:

function thisDidntUsedToWork(a)

-Fixed the SUB statement so that it won't allow duplicate parameter
names, like so:

sub testName x0, x0

-Tweaked the debugger so it takes fewer clicks to step through an
INPUT statement.

-Tightened up syntax checking on the IF/THEN statement so that two
or more colons in a row after THEN is a syntax error

-Added a StartupDir$ variable which is handy particularly when using
Vista because the startup folder and user data folder aren't always
the same.

-Added the ability to specify two macros when creating entries in
the External Programs window under the Setup menu. You can use
either $USERDATA or $STARTUP. For example the preconfigured
error.log entry looks like:

notepad.exe $USERDATAerror.log

-Fixed a problem creating the backup folder when the user changes it.

-A popup error notice was sometimes appearing when a program would run
all the way through in the debugger. Fixed.

-Modified Just BASIC to place program and data files in the user
data folder instead of inside the application folder when running
under Windows Vista or newer.

-Changed the name of justbasic1.ini to justbasic2.ini.

-Fixed. Using the debugger could sometimes result in a "hasMainWindow
not understood" error.

-Added STEP to the list of keywords recognized by the syntax colorer.

-Fixed the tooltip for the release notes toolbar button to read
'Release Notes, Alt-H+R'

-Fixed a bug where the compiler would sometimes fail with an error
"syntaxError: not understood"

-Tighten up the detection of bad syntax. Here is an example of a line
that blows up in v1.01 but which is properly flagged as a compile
error in v2.0:

for x = 1 to n%

-Fixed an issue where sometimes deployed applications would fail with
index outside collection bounds errors when a user defined SUB or
FUNCTION called another user defined SUB or FUNCTION.

-Changed the terminology when closing a program from "Terminate..."
to "Close program..."

-Converted the help files to HTML format

-NEW option in preferences "Always Open Main Window on Debug"
causes the mainwindow to always appear when running programs in the
debugger, even if the programs have a nomainwin statement.

-Fixed the debugger so that you can now scroll in the code pane using
keyboard instead of being forced to use the scrollbars.

-A fix in the runtime engine that makes it better at properly exiting
the EXE in the case of an unhandled runtime error.

-Fixes a bug when compiling the DO statement where a syntax error
would fail to show the errant line in the editor.

-Optimized graphics redrawing to improve performance in some
cases.

-Made a change to serial communications to improve performance
when transmitting strings as opposed to single characters.
Your mileage may vary.

-Fixed a memory leak that becomes evident when opening and closing
windows repeatedly.

-Fix for a bug in the File+Insert File... feature which would
cause the inserted file's name to be used when the file in
the editor is later saved.

-Fix for a bug which caused subhandles to stick around in
memory after a window is closed. This caused the MAPHANDLE
command to malfunction.

-Fix for a bug which caused parameter names for user functions
to be treated as globals instead of locally scoped names
when executing a TKN file.

-Fix for reading TKN files when Windows is set up for MBCS
languages like Chinese

-Fix for binary file mode so that it will work correctly with
MBCS languages

-Fix for the mouseMove event, so that it properly adds offsets
from scrollbars

-Fixed the lite debug error when the program completes

-Fixed the the incorrect way that lessons are getting saved, which
essentially wipes them out.

-Fixed the coloring of compound variable names in the editor

Just BASIC v1.01 Release Notes
-------------------------------------------------------

New for v1.01 (scroll to bottom of document for bug fixes):

- Added support for the MOD operator. For example:

print 15 mod 4

- Added support for scientific notation in code. For example:

print 1.2345e-4

- Updated the toolbar icons in the editor and debugger for a fresh
looking UI.

- Improved the parser making it tolerant of spaces between
identifiers and a ( characters. For example, some other BASIC's
allow the following:

print mid$ ("hey!", 4)

Now Just BASIC also allows this kind of formatting. We did this
to make it easier for people coming from other dialects of BASIC.

- Reworked the External Programs dialog to make it easier to use.

- When run or debug is invoked and there is a selection in the editor
a popup notice now asks if you really want to run only the selected
code. Answering no runs the entire program.


Just BASIC v1.01 bug fixes:
----------------------------------------------------------------------

- Fixes a problem compiling code that has line extension and negative
number values.

- Adds a fix for a bug which sometimes caused the error Class already
exists (OS Error 16r582) notice to appear. This error notice would
force the user to restart Just BASIC.

- Fixes a cosmetic issue where the display would sometimes paint a
white vertical band on the left hand side of the display when
closing some windows.

- Fixes the origin command for text windows by switching the order
of arguments from row column to column row.

- Fixes a problem where operating in an environment where file write
permissions are not granted can cause stack overflows which can
crash Just BASIC hard. This situation is common when operating
over a network.

- Fixed a regression which was causing the SELECT statement to
evaluate its clause twice.

- Switched the SQR() function from an high level calculation to one
that uses the math coprocessor for slightly more accurate results.

- Fixed a bug where the debugger would not indicate in the status
line that a program had finished executing.

- Fixed a bug in the handling of serial ports where it wasn't
possible to open a port named COM10 or higher on Win NT/2K/XP.

- Fixed a bug in the whitespace parsing related to the CALL
statement.

- Fixed a bug in the !origin? command for texteditor controls.

- Fixes parsing for DIM and REDIM to present an appropriate compile
error when attempting to specify more than 2 dimensions.

- Improves the ability to catch unbounded blocks of code and to
highlight the initiating line with an appropriate error (for
example "END IF expected").

- Fixed a bug in the parsing of the INPUT statement when an illegal
syntax is specified.

- Tightened up the validation of numeric formats

- Fixed a bug in graphics redraws that was polluting graphics
segments by inserting erase operations into the current graphic
segment. This had the effect of making it seem like everything
drawn before was forgotten.

- Reworked the code backup mechanism to make it work more reliably.

- Fixed the use of BYREF, especially with global variables.

- Fixed a bug in BYREF when a function calls itself recursively.

- Fixed a bug in the parsing of the CALL command which could hang in
a loop if there was an extra ) character on the end of the line.



En résumé :
-Un meilleur support for Windows Vista, Windows 7, Windows 8/8.1 et Windows 10 !
-Des corrections de bugs
-De nouvelles fonctions et commandes (FONTDIALOG, COLORDIALOG, SORT, ...)
-{...]


@+



Edité par joan74 Le 24/08/2018 à 15h59
____________________
"La différence entre la théorie et la pratique,
c'est qu'en théorie il n'y a pas de différence,
mais qu'en pratique il y en a une."

   
Le 24/08/2018 à 10h36

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Qu'est-ce qu'il y a de nouveau ?
____________________
Roro

   
Le 24/08/2018 à 10h53

Libertynaute

Groupe: Membre

Inscrit le: 17/12/2010
Messages: 72
En gros :

-Meilleur support for Windows Vista, Windows 7, Windows 8/8.1 et Windows 10 !
-Des corrections de bugs
-De nouvelles fonctionnalités
-{...]

Pour plus de précisions,
mieux vaut vous reporter au 'ChangeLog' ou au site officiel '(en anglais ;) )
____________________
"La différence entre la théorie et la pratique,
c'est qu'en théorie il n'y a pas de différence,
mais qu'en pratique il y en a une."

   
Le 24/08/2018 à 12h36

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Bon, on va aller voir ça.

Edit: J'ai tout lu, et ben il n'y a toujours pas de renvoi de position pour le texteditor; je suis méfiant avec l'innovation, je garde la V1.
____________________
Roro

   
Le 27/08/2018 à 11h03

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 522
Good news !

J'ai installé la version 2 aux côtés de la 1.01

Un avantage agréable : l'aide est au format html, on peut donc l'ouvrir avec n'importe quel navigateur ou éditeur de texte un tant soit peu évolué, et fini la prise en charge partielle de l'aide par wine.

Je testerai plus profondément lorsque j'aurais deux minutes (comme d'hab).

Je suppose qu'un certain RichardRussel mettra à jour son LBBooster pour tenir compte de ce nouveau JB. Pour ma part je ne l'ai pas encore utilisé car le besoin ne s'en fait pas sentir, au vu de l'envergure très modeste de mes petits bricolages, mais sait-on jamais.

Roland : arrête de râler et fait ton text-editor toi-même (nan, je déconne, car réaliser un tel truc en basic pour l'intégrer dans le programme qui l'utilisera, ça doit pas être évident ;) )
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 27/08/2018 à 13h41

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Citation:
fait ton text-editor toi-même (nan, je déconne

Ce n'est pas infaisable; en graphicbox et en coordonnées x/y; mais c'est un sacré boulot.
____________________
Roro

   
Le 06/09/2018 à 12h34

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 341
hey salut a tous !

besoin d'aide pour une partie de code qui me tient tête ....
Dans mon projet SAOA (vous pouvez le trouver dans la partie Jeux du forum) il y a un soucis que j'aimerais régler.... lorsque l'on se connecte, le jeu demande un identifiant et un mdp. Tout marche nickel mais le soucis c'est que le mdp n'est pas caché par des ****** . Normalement, lorsque l'on écrit, cela devrait remplacer ce qui est écrit par **** mais ce n'est pas le cas. Ne trouvant pas la solution, j'ai donc choisi de ne pas le faire mais je me tourne vers vous pour savoir si vos neurones pourraient me filer un coup de synapse :D !
Le code source se trouve dans le dossier du jeu. Bien entendu je me suis cassé la tête plusieurs heures sur l'exemple donné par LB sur password.bas mais cela ne fonctionne pas.....

HELP :D !
____________________
Yo !

MSN Web    
Le 07/09/2018 à 17h42

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 522
Bigre... Et en aparté parce que ce n'est pas le thème de la discussion ;) : es-tu sûr d'avoir intégré le bon code dans ton zip ? Parce que de mon côté, tout au moins en JustBasic, je ne trouve pas d'instruction toute faite qui afficherait des points ou des étoiles à chaque fois qu'on frappe une touche.
Il faudrait la programmer, par exemple partir d'un mdpTAPER$ vide, puis
  • intercepter la saisie d'une touche,
  • placer cette saisie dans la chaine mdpTAPER$
  • afficher dans le textbox #main.mdp autant d'étoiles qu'il y a de lettres dans mdpTAPER$
  • attendre la touche suivante ou quitter le job quand arrive le "when leftButtonDown [SimpleClick0]"

alors que tu fais une simple lecture du textbox #main.mdp quand on fait un clic gauche dans CONNEXION, donc lorsque le mot de passe est écrit en clair. Ou alors j'ai zappé quelque chose.
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 07/09/2018 à 22h30

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 341
Oui mais le soucis vient du fait de remplacer le nombre de lettre (ou chiffre) par des étoiles. Comment faire ? peut-on déduire par une variable le nombre de caractère taper ( genre val(text$) ) qui donnerait 2 pour ab ou 4 pour abcd.

j'ai volontairement mis une simple lecture pour ne pas "bloquer" dessus et pouvoir jouer ^^
____________________
Yo !

MSN Web    
Le 08/09/2018 à 11h12

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Je comprends qu'il faille mettre un nom pour différencier les joueurs
Mais pourquoi mettre un mot de passe ? Quelle est son utilité ?
____________________
Roro

   
Le 08/09/2018 à 18h49

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 341
Et bien c'est un jeu qui permet de jouer a plusieurs. Si le nom de deux joueur est identique, les sauvegardes vont s'écraser entre elle donc il ne restera qu'un seul compte. Le mot de passe permet de palier a cela. 140 joueurs pourrons s'appeler kikou mais si le mot de passe n'est pas identique, chacune de ces personnes aura sont compte distinct.

J'ai réussi a faire en sorte que l'on ne voit plus les lettre que l'on tape (elle s’efface peut de temps après tout en restant en mémoire) ce qui permet donc de cacher le mdp que l'on tape. C'est moins bien que les étoiles mais je l'ai fait tester a plusieurs joueurs et ils préfèrent au mdp non caché ^^
____________________
Yo !

MSN Web    
Le 08/09/2018 à 19h28

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Citation:
Si le nom de deux joueur est identique,

Et si les mots de passe sont identiques aussi ?
Il faudrait peut-être mettre deux ou trois (ou quatre ?) mots de passe
pour être sûrs que tout se passe bien.
Mais en fait, il suffirait de stocker les noms dans un fichier joint et de comparer si un nouveau n'est pas déjà présent.
Et tu peux rendre le fichier des noms inaccessible avec le "Jag Compresseur" (minimiseur) ou plus simplement en le mettent en ".dat'
____________________
Roro

   
Le 08/09/2018 à 21h39

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 341
Hummm tu pousse le bouchon un peu trop loin non XD ???
Pour que 2 nom et 2 mdp soient identique faut le faire quand même ;)
(même si c'est possible oui)

Le fichier des data est crypté par mes soins. Je n'ai pas crypter les noms et mdp mais je compte le faire dans le futur et rassembler tout ca dans un seul et même fichier.
____________________
Yo !

MSN Web    
Le 08/09/2018 à 23h14

Modérateur

Groupe: Modérateur

Inscrit le: 09/02/2015
Messages: 522
Citation:
Pour que 2 nom et 2 mdp soient identique faut le faire quand même
(même si c'est possible oui)


Par exemple, par quelqu'un qui a oublié qu'il s'était inscrit (appel téléphonique, distraction, ...), et qui s'inscrit à nouveau cinq minutes plus tard. Le remède est de regarder dans la liste si le couple nom/mdp n'existe pas déjà avant de l'officialiser.

Pour les astérisques qui cachent le mot de passe, j'ai commencé à éplucher l'exemple password.bas - qui m'intéresse pour sa gestion de la touche "enter" - et j'en ferais une discussion dédiée, histoire de ne pas charger ce fil.
____________________
Just BASIC v2.0 :
  • utilisation courante avec GNU/Linux Mageia6 + Wine (Pas trouvé d'incohérences ou de bug de compilation à ce jour)
  • utilisation occasionnelle ou vérification/débugage difficile avec Windows XP sur un petit eeepc

   
Le 09/09/2018 à 00h19

Administrateur

Groupe: Administrateur

Inscrit le: 04/03/2012
Messages: 2093
Citation:
Je n'ai pas crypter les noms et mdp

Si tu crypte les noms tu n'a plus besoin de mot de passe, il suffit de comparer à l'inscription.
____________________
Roro

   
Le 09/09/2018 à 13h13

Modérateur

Groupe: Modérateur

Inscrit le: 30/03/2011
Messages: 341
ben si... si tu met toto en nom et que trois semaines plus tard un mec se nomme toto le fichier sera le même XD
crypter les noms sert juste a ne pas pouvoir les trouver en fouillant dans le fichier des data et donc pirater un compte
____________________
Yo !

MSN Web    

 |  |

1 Utilisateur en ligne : 0 Administrateur, 0 Modérateur, 0 Membre et 1 Visiteur
Utilisateur en ligne : Aucun membre connecté
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie