You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(36) |
Dec
(24) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(4) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(13) |
May
(17) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: Ian L. <dr...@gm...> - 2006-12-05 04:06:02
|
To use a translation, you have to either: set your locale to a different setting. I'm not sure how to do this, but I think in Linux you can set the LOCALE environment variable. OR Just change the line in Main.cpp that loads the translation file, and hardcode it to load the _nl file. You'll also need to compile the translation files using lrelease BASIC256.pro On 12/4/06, Ferry Hendrikx <fer...@gm...> wrote: > Thanks Ian, my Dutch translation can wait until the next release. It > needs more polish before I'm happy to let it go. > > BTW How do I actually use my translation? ;) > > Cheers > > /Ferry > > On 12/5/06, Ian Larsen <dr...@gm...> wrote: > > All, > > > > I've finished the variable watch window. It now uses a tree instead > > of a list so you can click on the arrays and see the contents. > > > > I'd like to do a release sometime tomorrow, so here's your last chance > > to fix up those translations or commit any (stable, working) changes > > that you have. > > > > And if you've noticed any show-stopper bugs, please let me know so I > > can fix them beforehand. > > > > Thanks! > > Ian > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys - and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: Ian L. <dr...@gm...> - 2006-12-05 00:10:15
|
All, I've finished the variable watch window. It now uses a tree instead of a list so you can click on the arrays and see the contents. I'd like to do a release sometime tomorrow, so here's your last chance to fix up those translations or commit any (stable, working) changes that you have. And if you've noticed any show-stopper bugs, please let me know so I can fix them beforehand. Thanks! Ian |
From: Ian L. <dr...@gm...> - 2006-12-04 17:41:01
|
Heh, I didn't realize QT had that widget. :-) I think that will work well, I'll use that. By the way, we jumped from an average of about 80 downloads a day to over 600 downloads for today. I have no idea why, as the traffic usually comes right after releases, but I guess somebody linked to it on some high profile site. -Ian On 12/4/06, tony007 <sup...@go...> wrote: > Apologies if you know this stuff already, but... > > QTreeView or QTreeWidget is where I would start ( QTreeWidget is probably > easier to use, but less flexible in terms of the data model you use). You > can have sortable columns, icons ( not needed for this ) and you can > collapse/expand the items. > > tony > > btw. I don't know what's happening with those icons? Salim seems to have > disappeared of the face of the earth. Hopefully he'll get in contact soon... > > > On 04/12/06, Ian Larsen <dr...@gm...> wrote: > > That's a good idea, I like that a lot. Now I just have to see about > > implementing it... > > > > -Ian > > > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > > I agree that another window with the entire array would be overkill, > > > how about a simple compromise: we show the array, but only the last > > > index (and it's value) that were read/written from/to? > > > > > > For example: > > > > > > myarray[2] = 73 > > > > > > Or, we show more than one index/value pair for the array, but only the > > > 3 (?) most recently used ones? > > > > > > For example: > > > > > > myarray[2] = 73 > > > myarray[9] = 8 > > > myarray[1] = 22 > > > > > > Just some ideas... > > > > > > Cheers > > > > > > /Ferry > > > > > > > > > On 12/4/06, Ian Larsen <dr...@gm... > wrote: > > > > Ferry, > > > > > > > > Good catch on the for statement variables, I need to fix that. > > > > > > > > It doesn't work with arrays because I'm not sure how to show that in a > > > > table. Trying to show each element of a 1000 element array would make > > > > the table too large, I think. > > > > > > > > Matlab has a similar window called the "workspace" window, which shows > > > > arrays as something like this : > > > > > > > > array <2x2> > > > > > > > > And when you click on the <2x2> portion it opens a spreadsheet-type > > > > editor with all of the values filled in. I think that would be > > > > tremendous overkill for this project, but I can't think of any other > > > > way to do it. > > > > > > > > I'm open to any ideas on this one. > > > > > > > > -Ian > > > > > > > > > > > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > Herzlich willkommen Immo. > > > > > > > > > > Ian, your variable watch addition is brilliant. It's a lot of fun > and > > > > > an excellent way to see what's happening. However, I noticed it > > > > > doesn't work with arrays or variables declared in a FOR statement. > See > > > > > arrays.kbs for an example. > > > > > > > > > > Cheers > > > > > > > > > > /Ferry > > > > > > > > > > On 12/2/06, Ian Larsen <dr...@gm...> wrote: > > > > > > Hello All, > > > > > > > > > > > > I'm preparing a new release for this weekend that will include our > > > > > > latest German translation and the variable watch window. I'm also > > > > > > going to be looking into setting up a nightly build process on > > > > > > Sourceforge so we can make snapshots of the subversion repository > > > > > > available. > > > > > > > > > > > > Also, please welcome Immo to the team, who is our German > translator. > > > > > > Immo, I've given you subversion access so you can get to the > latest > > > > > > translation file whenever you need to. We do all of our work in > the > > > > > > branches/devel directory, so that's where you'll find it. If you > need > > > > > > any help let me know. You can commit right to that directory. > > > > > > > > > > > > -Ian > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > > > opinions on IT & business topics through brief surveys - and earn > cash > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > > > > Kidbasic-devel mailing list > > > > > > Kid...@li... > > > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > |
From: tony007 <sup...@go...> - 2006-12-04 11:03:41
|
Apologies if you know this stuff already, but... QTreeView or QTreeWidget is where I would start ( QTreeWidget is probably easier to use, but less flexible in terms of the data model you use). You can have sortable columns, icons ( not needed for this ) and you can collapse/expand the items. tony btw. I don't know what's happening with those icons? Salim seems to have disappeared of the face of the earth. Hopefully he'll get in contact soon... On 04/12/06, Ian Larsen <dr...@gm...> wrote: > > That's a good idea, I like that a lot. Now I just have to see about > implementing it... > > -Ian > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > I agree that another window with the entire array would be overkill, > > how about a simple compromise: we show the array, but only the last > > index (and it's value) that were read/written from/to? > > > > For example: > > > > myarray[2] = 73 > > > > Or, we show more than one index/value pair for the array, but only the > > 3 (?) most recently used ones? > > > > For example: > > > > myarray[2] = 73 > > myarray[9] = 8 > > myarray[1] = 22 > > > > Just some ideas... > > > > Cheers > > > > /Ferry > > > > > > On 12/4/06, Ian Larsen <dr...@gm...> wrote: > > > Ferry, > > > > > > Good catch on the for statement variables, I need to fix that. > > > > > > It doesn't work with arrays because I'm not sure how to show that in a > > > table. Trying to show each element of a 1000 element array would make > > > the table too large, I think. > > > > > > Matlab has a similar window called the "workspace" window, which shows > > > arrays as something like this : > > > > > > array <2x2> > > > > > > And when you click on the <2x2> portion it opens a spreadsheet-type > > > editor with all of the values filled in. I think that would be > > > tremendous overkill for this project, but I can't think of any other > > > way to do it. > > > > > > I'm open to any ideas on this one. > > > > > > -Ian > > > > > > > > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > Herzlich willkommen Immo. > > > > > > > > Ian, your variable watch addition is brilliant. It's a lot of fun > and > > > > an excellent way to see what's happening. However, I noticed it > > > > doesn't work with arrays or variables declared in a FOR statement. > See > > > > arrays.kbs for an example. > > > > > > > > Cheers > > > > > > > > /Ferry > > > > > > > > On 12/2/06, Ian Larsen <dr...@gm...> wrote: > > > > > Hello All, > > > > > > > > > > I'm preparing a new release for this weekend that will include our > > > > > latest German translation and the variable watch window. I'm also > > > > > going to be looking into setting up a nightly build process on > > > > > Sourceforge so we can make snapshots of the subversion repository > > > > > available. > > > > > > > > > > Also, please welcome Immo to the team, who is our German > translator. > > > > > Immo, I've given you subversion access so you can get to the > latest > > > > > translation file whenever you need to. We do all of our work in > the > > > > > branches/devel directory, so that's where you'll find it. If you > need > > > > > any help let me know. You can commit right to that directory. > > > > > > > > > > -Ian > > > > > > > > > > > ------------------------------------------------------------------------- > > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > > opinions on IT & business topics through brief surveys - and earn > cash > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > _______________________________________________ > > > > > Kidbasic-devel mailing list > > > > > Kid...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ian L. <dr...@gm...> - 2006-12-04 10:19:22
|
That's a good idea, I like that a lot. Now I just have to see about implementing it... -Ian On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > I agree that another window with the entire array would be overkill, > how about a simple compromise: we show the array, but only the last > index (and it's value) that were read/written from/to? > > For example: > > myarray[2] = 73 > > Or, we show more than one index/value pair for the array, but only the > 3 (?) most recently used ones? > > For example: > > myarray[2] = 73 > myarray[9] = 8 > myarray[1] = 22 > > Just some ideas... > > Cheers > > /Ferry > > > On 12/4/06, Ian Larsen <dr...@gm...> wrote: > > Ferry, > > > > Good catch on the for statement variables, I need to fix that. > > > > It doesn't work with arrays because I'm not sure how to show that in a > > table. Trying to show each element of a 1000 element array would make > > the table too large, I think. > > > > Matlab has a similar window called the "workspace" window, which shows > > arrays as something like this : > > > > array <2x2> > > > > And when you click on the <2x2> portion it opens a spreadsheet-type > > editor with all of the values filled in. I think that would be > > tremendous overkill for this project, but I can't think of any other > > way to do it. > > > > I'm open to any ideas on this one. > > > > -Ian > > > > > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > > Herzlich willkommen Immo. > > > > > > Ian, your variable watch addition is brilliant. It's a lot of fun and > > > an excellent way to see what's happening. However, I noticed it > > > doesn't work with arrays or variables declared in a FOR statement. See > > > arrays.kbs for an example. > > > > > > Cheers > > > > > > /Ferry > > > > > > On 12/2/06, Ian Larsen <dr...@gm...> wrote: > > > > Hello All, > > > > > > > > I'm preparing a new release for this weekend that will include our > > > > latest German translation and the variable watch window. I'm also > > > > going to be looking into setting up a nightly build process on > > > > Sourceforge so we can make snapshots of the subversion repository > > > > available. > > > > > > > > Also, please welcome Immo to the team, who is our German translator. > > > > Immo, I've given you subversion access so you can get to the latest > > > > translation file whenever you need to. We do all of our work in the > > > > branches/devel directory, so that's where you'll find it. If you need > > > > any help let me know. You can commit right to that directory. > > > > > > > > -Ian > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > > > opinions on IT & business topics through brief surveys - and earn cash > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > > > Kidbasic-devel mailing list > > > > Kid...@li... > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > |
From: tony007 <sup...@go...> - 2006-12-04 09:28:39
|
I think that if you start limiting which indexes are displayed, sure enough someone will want to see one(s) that aren't available. What about being able to expand/collapse elements like you can in a lot of IDEs ( I'm looking at Visual Studio at the moment ). So for an array when collapsed, you show myarray <2x2> and then expand it to show myarray[0][0] = 3 myarray[0][1] = 89 myarray[1][0] = 4 etc... for a 2D array. Or something along those lines... tony On 04/12/06, Ferry Hendrikx <fer...@gm...> wrote: > > I agree that another window with the entire array would be overkill, > how about a simple compromise: we show the array, but only the last > index (and it's value) that were read/written from/to? > > For example: > > myarray[2] = 73 > > Or, we show more than one index/value pair for the array, but only the > 3 (?) most recently used ones? > > For example: > > myarray[2] = 73 > myarray[9] = 8 > myarray[1] = 22 > > Just some ideas... > > Cheers > > /Ferry > > > On 12/4/06, Ian Larsen <dr...@gm...> wrote: > > Ferry, > > > > Good catch on the for statement variables, I need to fix that. > > > > It doesn't work with arrays because I'm not sure how to show that in a > > table. Trying to show each element of a 1000 element array would make > > the table too large, I think. > > > > Matlab has a similar window called the "workspace" window, which shows > > arrays as something like this : > > > > array <2x2> > > > > And when you click on the <2x2> portion it opens a spreadsheet-type > > editor with all of the values filled in. I think that would be > > tremendous overkill for this project, but I can't think of any other > > way to do it. > > > > I'm open to any ideas on this one. > > > > -Ian > > > > > > On 12/3/06, Ferry Hendrikx < fer...@gm...> wrote: > > > Herzlich willkommen Immo. > > > > > > Ian, your variable watch addition is brilliant. It's a lot of fun and > > > an excellent way to see what's happening. However, I noticed it > > > doesn't work with arrays or variables declared in a FOR statement. See > > > arrays.kbs for an example. > > > > > > Cheers > > > > > > /Ferry > > > > > > On 12/2/06, Ian Larsen < dr...@gm...> wrote: > > > > Hello All, > > > > > > > > I'm preparing a new release for this weekend that will include our > > > > latest German translation and the variable watch window. I'm also > > > > going to be looking into setting up a nightly build process on > > > > Sourceforge so we can make snapshots of the subversion repository > > > > available. > > > > > > > > Also, please welcome Immo to the team, who is our German translator. > > > > > Immo, I've given you subversion access so you can get to the latest > > > > translation file whenever you need to. We do all of our work in the > > > > branches/devel directory, so that's where you'll find it. If you > need > > > > any help let me know. You can commit right to that directory. > > > > > > > > -Ian > > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > > > > opinions on IT & business topics through brief surveys - and earn > cash > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > > > Kidbasic-devel mailing list > > > > Kid...@li... > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ferry H. <fer...@gm...> - 2006-12-04 05:53:41
|
I agree that another window with the entire array would be overkill, how about a simple compromise: we show the array, but only the last index (and it's value) that were read/written from/to? For example: myarray[2] = 73 Or, we show more than one index/value pair for the array, but only the 3 (?) most recently used ones? For example: myarray[2] = 73 myarray[9] = 8 myarray[1] = 22 Just some ideas... Cheers /Ferry On 12/4/06, Ian Larsen <dr...@gm...> wrote: > Ferry, > > Good catch on the for statement variables, I need to fix that. > > It doesn't work with arrays because I'm not sure how to show that in a > table. Trying to show each element of a 1000 element array would make > the table too large, I think. > > Matlab has a similar window called the "workspace" window, which shows > arrays as something like this : > > array <2x2> > > And when you click on the <2x2> portion it opens a spreadsheet-type > editor with all of the values filled in. I think that would be > tremendous overkill for this project, but I can't think of any other > way to do it. > > I'm open to any ideas on this one. > > -Ian > > > On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > > Herzlich willkommen Immo. > > > > Ian, your variable watch addition is brilliant. It's a lot of fun and > > an excellent way to see what's happening. However, I noticed it > > doesn't work with arrays or variables declared in a FOR statement. See > > arrays.kbs for an example. > > > > Cheers > > > > /Ferry > > > > On 12/2/06, Ian Larsen <dr...@gm...> wrote: > > > Hello All, > > > > > > I'm preparing a new release for this weekend that will include our > > > latest German translation and the variable watch window. I'm also > > > going to be looking into setting up a nightly build process on > > > Sourceforge so we can make snapshots of the subversion repository > > > available. > > > > > > Also, please welcome Immo to the team, who is our German translator. > > > Immo, I've given you subversion access so you can get to the latest > > > translation file whenever you need to. We do all of our work in the > > > branches/devel directory, so that's where you'll find it. If you need > > > any help let me know. You can commit right to that directory. > > > > > > -Ian > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > Kidbasic-devel mailing list > > > Kid...@li... > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > |
From: Ian L. <dr...@gm...> - 2006-12-04 01:00:18
|
Ferry, Good catch on the for statement variables, I need to fix that. It doesn't work with arrays because I'm not sure how to show that in a table. Trying to show each element of a 1000 element array would make the table too large, I think. Matlab has a similar window called the "workspace" window, which shows arrays as something like this : array <2x2> And when you click on the <2x2> portion it opens a spreadsheet-type editor with all of the values filled in. I think that would be tremendous overkill for this project, but I can't think of any other way to do it. I'm open to any ideas on this one. -Ian On 12/3/06, Ferry Hendrikx <fer...@gm...> wrote: > Herzlich willkommen Immo. > > Ian, your variable watch addition is brilliant. It's a lot of fun and > an excellent way to see what's happening. However, I noticed it > doesn't work with arrays or variables declared in a FOR statement. See > arrays.kbs for an example. > > Cheers > > /Ferry > > On 12/2/06, Ian Larsen <dr...@gm...> wrote: > > Hello All, > > > > I'm preparing a new release for this weekend that will include our > > latest German translation and the variable watch window. I'm also > > going to be looking into setting up a nightly build process on > > Sourceforge so we can make snapshots of the subversion repository > > available. > > > > Also, please welcome Immo to the team, who is our German translator. > > Immo, I've given you subversion access so you can get to the latest > > translation file whenever you need to. We do all of our work in the > > branches/devel directory, so that's where you'll find it. If you need > > any help let me know. You can commit right to that directory. > > > > -Ian > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys - and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: Ferry H. <fer...@gm...> - 2006-12-04 00:05:01
|
Herzlich willkommen Immo. Ian, your variable watch addition is brilliant. It's a lot of fun and an excellent way to see what's happening. However, I noticed it doesn't work with arrays or variables declared in a FOR statement. See arrays.kbs for an example. Cheers /Ferry On 12/2/06, Ian Larsen <dr...@gm...> wrote: > Hello All, > > I'm preparing a new release for this weekend that will include our > latest German translation and the variable watch window. I'm also > going to be looking into setting up a nightly build process on > Sourceforge so we can make snapshots of the subversion repository > available. > > Also, please welcome Immo to the team, who is our German translator. > Immo, I've given you subversion access so you can get to the latest > translation file whenever you need to. We do all of our work in the > branches/devel directory, so that's where you'll find it. If you need > any help let me know. You can commit right to that directory. > > -Ian > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ian L. <dr...@gm...> - 2006-12-03 22:19:16
|
The syntax highlighting looks great! As far as the hardcoded keywords go, I don't know of a better way to get them from the LEX file other than copy/paste. However, I don't think this will be a big problem as that file won't be changing much, if at all, in the future. I went ahead and fixed the dark colors so they're highlighted too now. > 3. Function names are highlighted where declared, but calls to them aren't. This isn't necessarily a bad thing. The labels stand out with their own color, which looks great to me. -Ian On 12/3/06, tony007 <sup...@go...> wrote: > I've added syntax highlighting to the editor window. It's not complete yet > and is easy to turn off if you want. Just comment out the line: editsyntax = > new EditSyntaxHighlighter(editor->document()); in > MainWindow.cpp. > > Current issues: > 1. The list of keywords is hardcoded and as I believe duplication is evil > this isn't so good. I was hoping there might be a way of getting the info > from the lex files but haven't looked into that yet. ( any thoughts? ) > 2. It doesn't highlight color names with 'dark' at the front. > 3. Function names are highlighted where declared, but calls to them aren't. > > Basically I've just run out of time this afternoon and will get onto sorting > them out as soon as I can. > If there's anything else wrong with it please let me know... > > Cheers, > tony > > > On 02/12/06, Ian Larsen < dr...@gm...> wrote: > > Don't worry about getting in the way when committing to devel. I'll > > always save changes to the trunk before I do a release. > > > > And I'll fix the Contributors file. > > > > -Ian > > > > On 12/2/06, tony007 <sup...@go... > wrote: > > > Hi, > > > > > > Hiya Immo welcome aboard. > > > > > > I was planning to do some work on syntax highlighting tommorrow ( Sunday > ). > > > If > > > you've already merged to trunk for the new release this won't be a > problem > > > otherwise > > > I can commit to branches/tony if you think it'll get in the way - let me > > > know. If I > > > don't hear from you in time I'll work in my branch. I'll merge from > trunk > > > and > > > branches/devel first so it should be up to date anyway and not cause you > too > > > many > > > problems. > > > > > > btw. My name is Tony Dann and if you put that in the contributors file > > > rather > > > than Tony007 that would be fab. > > > > > > Cheers, > > > tony > > > > > > > > > > > > On 01/12/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > > Hello All, > > > > > > > > I'm preparing a new release for this weekend that will include our > > > > latest German translation and the variable watch window. I'm also > > > > going to be looking into setting up a nightly build process on > > > > Sourceforge so we can make snapshots of the subversion repository > > > > available. > > > > > > > > Also, please welcome Immo to the team, who is our German translator. > > > > Immo, I've given you subversion access so you can get to the latest > > > > translation file whenever you need to. We do all of our work in the > > > > branches/devel directory, so that's where you'll find it. If you need > > > > any help let me know. You can commit right to that directory. > > > > > > > > -Ian > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share > > > your > > > > opinions on IT & business topics through brief surveys - and earn cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > > > Kidbasic-devel mailing list > > > > Kid...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > Kidbasic-devel mailing list > > > Kid...@li... > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: tony007 <sup...@go...> - 2006-12-03 18:35:44
|
I've added syntax highlighting to the editor window. It's not complete yet and is easy to turn off if you want. Just comment out the line: editsyntax = new EditSyntaxHighlighter(editor->document()); in MainWindow.cpp. Current issues: 1. The list of keywords is hardcoded and as I believe duplication is evil this isn't so good. I was hoping there might be a way of getting the info from the lex files but haven't looked into that yet. ( any thoughts? ) 2. It doesn't highlight color names with 'dark' at the front. 3. Function names are highlighted where declared, but calls to them aren't. Basically I've just run out of time this afternoon and will get onto sorting them out as soon as I can. If there's anything else wrong with it please let me know... Cheers, tony On 02/12/06, Ian Larsen <dr...@gm...> wrote: > > Don't worry about getting in the way when committing to devel. I'll > always save changes to the trunk before I do a release. > > And I'll fix the Contributors file. > > -Ian > > On 12/2/06, tony007 <sup...@go...> wrote: > > Hi, > > > > Hiya Immo welcome aboard. > > > > I was planning to do some work on syntax highlighting tommorrow ( Sunday > ). > > If > > you've already merged to trunk for the new release this won't be a > problem > > otherwise > > I can commit to branches/tony if you think it'll get in the way - let me > > know. If I > > don't hear from you in time I'll work in my branch. I'll merge from > trunk > > and > > branches/devel first so it should be up to date anyway and not cause you > too > > many > > problems. > > > > btw. My name is Tony Dann and if you put that in the contributors file > > rather > > than Tony007 that would be fab. > > > > Cheers, > > tony > > > > > > > > On 01/12/06, Ian Larsen <dr...@gm...> wrote: > > > > > > Hello All, > > > > > > I'm preparing a new release for this weekend that will include our > > > latest German translation and the variable watch window. I'm also > > > going to be looking into setting up a nightly build process on > > > Sourceforge so we can make snapshots of the subversion repository > > > available. > > > > > > Also, please welcome Immo to the team, who is our German translator. > > > Immo, I've given you subversion access so you can get to the latest > > > translation file whenever you need to. We do all of our work in the > > > branches/devel directory, so that's where you'll find it. If you need > > > any help let me know. You can commit right to that directory. > > > > > > -Ian > > > > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share > > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > Kidbasic-devel mailing list > > > Kid...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > |
From: Ian L. <dr...@gm...> - 2006-12-02 22:16:36
|
Don't worry about getting in the way when committing to devel. I'll always save changes to the trunk before I do a release. And I'll fix the Contributors file. -Ian On 12/2/06, tony007 <sup...@go...> wrote: > Hi, > > Hiya Immo welcome aboard. > > I was planning to do some work on syntax highlighting tommorrow ( Sunday ). > If > you've already merged to trunk for the new release this won't be a problem > otherwise > I can commit to branches/tony if you think it'll get in the way - let me > know. If I > don't hear from you in time I'll work in my branch. I'll merge from trunk > and > branches/devel first so it should be up to date anyway and not cause you too > many > problems. > > btw. My name is Tony Dann and if you put that in the contributors file > rather > than Tony007 that would be fab. > > Cheers, > tony > > > > On 01/12/06, Ian Larsen <dr...@gm...> wrote: > > > > Hello All, > > > > I'm preparing a new release for this weekend that will include our > > latest German translation and the variable watch window. I'm also > > going to be looking into setting up a nightly build process on > > Sourceforge so we can make snapshots of the subversion repository > > available. > > > > Also, please welcome Immo to the team, who is our German translator. > > Immo, I've given you subversion access so you can get to the latest > > translation file whenever you need to. We do all of our work in the > > branches/devel directory, so that's where you'll find it. If you need > > any help let me know. You can commit right to that directory. > > > > -Ian > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: tony007 <sup...@go...> - 2006-12-02 20:46:46
|
Hi, Hiya Immo welcome aboard. I was planning to do some work on syntax highlighting tommorrow ( Sunday ). If you've already merged to trunk for the new release this won't be a problem otherwise I can commit to branches/tony if you think it'll get in the way - let me know. If I don't hear from you in time I'll work in my branch. I'll merge from trunk and branches/devel first so it should be up to date anyway and not cause you too many problems. btw. My name is Tony Dann and if you put that in the contributors file rather than Tony007 that would be fab. Cheers, tony On 01/12/06, Ian Larsen <dr...@gm...> wrote: > > Hello All, > > I'm preparing a new release for this weekend that will include our > latest German translation and the variable watch window. I'm also > going to be looking into setting up a nightly build process on > Sourceforge so we can make snapshots of the subversion repository > available. > > Also, please welcome Immo to the team, who is our German translator. > Immo, I've given you subversion access so you can get to the latest > translation file whenever you need to. We do all of our work in the > branches/devel directory, so that's where you'll find it. If you need > any help let me know. You can commit right to that directory. > > -Ian > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ian L. <dr...@gm...> - 2006-12-01 21:40:56
|
Hello All, I'm preparing a new release for this weekend that will include our latest German translation and the variable watch window. I'm also going to be looking into setting up a nightly build process on Sourceforge so we can make snapshots of the subversion repository available. Also, please welcome Immo to the team, who is our German translator. Immo, I've given you subversion access so you can get to the latest translation file whenever you need to. We do all of our work in the branches/devel directory, so that's where you'll find it. If you need any help let me know. You can commit right to that directory. -Ian |
From: Ian L. <dr...@gm...> - 2006-11-29 01:05:02
|
All, I added a Variable Watch window to the development branch today. It's cool to load the ballaccel.kbs example and watch all the numbers change as the ball moves. Also, someone sent me a number of very nice graphical demos that I've added for everyone's enjoyment. Now you can see BASIC-256 generate the Mandelbrot set, in six-color glory. -Ian |
From: Ian L. <dr...@gm...> - 2006-11-27 03:17:36
|
All, I made a 0.9 release, since the features we've added over the past couple of weeks I think make the whole project look a lot better and certainly make it easier to use. And the file functionality is important to get out there to get feedback on. Included in the Windows .zip file is a copy of the command reference from the web site. It's split into many .html files and has a handy frame-based interface so you can click on a command and see the documentation for it. I'm going to make that available as a download on the web site too. Whenever I do a release I post announcements on Sourceforge and Freshmeat, and they seem to get mirrored in a bunch of places, but if you know of any other news outlets where a release announcement would be appropriate, please submit this project. The more people know about it, the better the feedback is and the more people seem to be willing to contribute. Anyway, my goal for the next release is to stabilize (stabilise for you in the UK) the language as much as possible, to have a solid base for writing tutorials and such. I think the user interface portion is really shaping up nicely, so I don't expect to have to do a lot of work with that. Any other ideas? Thanks for all the hard work, Ian |
From: Ian L. <dr...@gm...> - 2006-11-25 05:45:41
|
Hello, I've committed everyone's changes to the trunk. I've also made another branch, "devel," which I think might make things easier. Since we're all mostly working on separate portions, (and mostly at different times) it might be easier and simpler if we all just commit all changes to the devel branch, and I'll just copy that to the trunk as often as necessary. So I don't think separate branches are necessary any longer unless you're doing massive changes that will require a lot of work to integrate anyway. Also, with the new release coming soon, I'm going to add a Contributors file with our names and email addresses to give credit where it's due. If you would rather remain semi-anonymous let me know. Thanks for all of your hard work. -Ian On 11/23/06, Ferry Hendrikx <fer...@gm...> wrote: > Hi all, > > Looks like we've all been busy! > > I've just committed revisions 143 and 144 to branches/ferry/ > > Revision 143 > - Added "reset" function. This empties the current file (by closing it > and then re-opening it using truncate). > > Revision 144 > - Added "mid" and "instr" string functions. Two standard basic string > functions. > > Cheers > > /Ferry > > > On 11/24/06, tony007 <sup...@go...> wrote: > > Hello guys, > > > > I've committed to branches/tony/ with the following changes: > > > > 1. Added the dockwindow actions for copy, paste, print etc.. to the Edit > > menu rather than the View menu as originally thought. It seems to me these > > actions belong in the Edit menu rather than the View menu... > > > > 2. Modified BASIC256.pro to call make on LEX/Makefile to remove the need to > > do it manually. > > > > Again, only compiled and run on Debian - Qt 4.2 machine. One day soon I'll > > sort out building on Windows... > > > > Cheers, > > tony > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share your > > opinions on IT & business topics through brief surveys - and earn cash > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ferry H. <fer...@gm...> - 2006-11-23 23:05:26
|
Hi all, Looks like we've all been busy! I've just committed revisions 143 and 144 to branches/ferry/ Revision 143 - Added "reset" function. This empties the current file (by closing it and then re-opening it using truncate). Revision 144 - Added "mid" and "instr" string functions. Two standard basic string functions. Cheers /Ferry On 11/24/06, tony007 <sup...@go...> wrote: > Hello guys, > > I've committed to branches/tony/ with the following changes: > > 1. Added the dockwindow actions for copy, paste, print etc.. to the Edit > menu rather than the View menu as originally thought. It seems to me these > actions belong in the Edit menu rather than the View menu... > > 2. Modified BASIC256.pro to call make on LEX/Makefile to remove the need to > do it manually. > > Again, only compiled and run on Debian - Qt 4.2 machine. One day soon I'll > sort out building on Windows... > > Cheers, > tony > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: tony007 <sup...@go...> - 2006-11-23 20:23:55
|
Hello guys, I've committed to branches/tony/ with the following changes: 1. Added the dockwindow actions for copy, paste, print etc.. to the Edit menu rather than the View menu as originally thought. It seems to me these actions belong in the Edit menu rather than the View menu... 2. Modified BASIC256.pro to call make on LEX/Makefile to remove the need to do it manually. Again, only compiled and run on Debian - Qt 4.2 machine. One day soon I'll sort out building on Windows... Cheers, tony |
From: Ian L. <dr...@gm...> - 2006-11-22 18:22:29
|
As far as the focus bug, I'm not sure if it's a big problem. I'm not sure how often anyone undocks the window at all, I'm apparently the only one who's run into that particular bug. Syntax highlighting could start with simply highlighting reserved words. I think that would be helpful to beginners. We probably won't be able to do much more than that without writing another parser. -Ian On 11/22/06, tony007 <sup...@go...> wrote: > Ok, I didn't look closely enough to realise it is intentional. > > I'm starting to think it's not worth worrying about now - I can hear you > saying "I told you so" :-) - and that I should concentrate on something a > bit more productive that will actually enhance the user experience. > Yes, QGraphicsScene is new to Qt 4.2 and I guess it will be a problem for > people with < 4.2, which is also a good reason to leave it alone... > > What about syntax highlighting in the editor view - any thoughts on that or > anything else ( I've not forgotten about the focus bug )? > > tony > > > On 22/11/06, Ian Larsen <dr...@gm...> wrote: > > Great, I'm looking forward to see what Salim comes up with. > > > > The flickering problem is due to the following reason, and is > > intentional because it serves an instructive point for kids. > > > > Each graphics operation completes before program execution continues. > > Since a graphics refresh takes a certain amount of time, (about 200ms > > on my machine), and CLG is a graphics operation, you're seeing the > > ball drawn for 200ms, then a blank screen for 200ms, and so forth. > > This is what causes the flicker. > > > > No matter how fast the graphics are redrawn, flicker will always be a > > problem when done like this, because each graphics operation is > > essentially a relatively slow constant time operation, so you'll > > always see a blank screen for as long as you see any other change. > > > > This is why I included the FASTGRAPHICS mode, which is essentially > > double buffering, and removes this problem. If you issue the command > > FASTGRAPHICS in a basic256 program, only the back-end buffer will be > > modified for any drawing command, and you won't see the changes until > > you issue a REFRESH command. This is why the ballaccel.kbs demo > > doesn't flicker. > > > > The reason it's done like this is so that you can write a simple pong > > game, for example, and not have to worry about the graphics getting > > out of sync with the collision test code. Because the interpreter > > runs in its own thread which cannot do its own redraw (widget updates > > have to be done from the main thread) the threads have to be > > synchronized on any visible graphics update. > > > > So having two modes allows the advanced kids to write a decent looking > > animation, while keeping it really simple for beginners. > > > > Is QGraphicsScene available before QT-4.2? This may cause problems > > when compiling on some Linux distributions which include an older > > qt-4. > > > > To answer your other question, read() ignores all whitespace between > > tokens (spaces, tabs, newlines). So unless there's only whitespace > > before the end of a file, a token will be returned. > > > > -Ian > > > > > > > > On 11/22/06, tony007 <sup...@go...> wrote: > > > Ian, > > > > > > I've forwarded the icons you did to my friend ( Salim ) and asked him > to go > > > ahead with making a set for basic256. I've not heard back from him yet > so I > > > don't know how he's getting on and whether they'll be ready for the next > > > release? As soon as I hear back I'll mail this list with any info. > > > > > > Didn't get to do much over the weekend unfortunately due to hardware > > > problems and other commitments but started looking at using > QGraphicsScene > > > to render the graphics. I don't know if you guys have noticed but when > > > running ballanim.kbs there is a lot of flickering and I'm hoping this > might > > > go away with the introduction of QGraphicsScene, though I'm not certain > till > > > I've got it working. It does mean a bit of a change to setting the image > and > > > mask in the Interpreter thread as the drawing needs to be defered till > the > > > signal gets back to the RunController in the gui thread ( at least I > think > > > that will fix the update problems I'm having ). If you haven't done it > > > already I'll put the dockwindow menus in the View menu tonight ready for > the > > > next release. > > > > > > Quick question about the file reading: Does read() ignore blank lines > or if > > > not, will this get confused with EOF? > > > > > > tony > > > > > > > > > On 20/11/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > > Ferry, > > > > > > > > I've added the file access from your branch with the following > changes: > > > > > > > > - Removed "mode" support. I think this will be confusing for kids. > > > > Files are all open read/write. > > > > > > > > - Removed error return code. File errors halt execution with an error > > > > in the text output window. EOF's returns a blank string, so you can > > > > check for end of file conditions that way. > > > > > > > > - All writes are appended to the end of the file, after which file > > > > position is returned to the previous position for reading. This way > > > > data isn't ever overwritten, but reads still occur sequentially, which > > > > I think will be the most intuitive for new programmers. > > > > > > > > I think this will be the easiest method for file I/O for kids. We > > > > might want to consider a fileClear function to wipe a file clean, so > > > > new data can be written. > > > > > > > > I'll be making a new release soon with these new features. Thanks to > > > > all for the excellent work. I really appreciate the help with this, > > > > and it's coming along much faster and better than I could do myself. > > > > > > > > -Ian > > > > > > > > > > > > > > > > On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > All done and committed to the repository (rev 134). We now have 4 > file > > > > > operations: > > > > > > > > > > - int open(string name, string mode) > > > > > - mode can be one of "read" or "write", defaulting to "read". > > > > > > > > > > - string read() > > > > > - read one token from the file > > > > > > > > > > - int write(string token) > > > > > - write one token to the file > > > > > > > > > > - int close() > > > > > - close the file > > > > > > > > > > Cheers > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen < dr...@gm...> wrote: > > > > > > Let's start with those four, and see if we get requests for > others. > > > > > > > > > > > > We can probably just use open, read, write, and close, instead of > > > > > > prepending an "f," since I don't forsee implementing READ and DATA > in > > > > > > basic256. > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> wrote: > > > > > > > I agree, keeping it simple is best. > > > > > > > > > > > > > > We therefore have at least 4 new functions: > > > > > > > > > > > > > > error = fopen( filename ) > > > > > > > - open the file (for read and write? or separate them out?) > > > > > > > - return simple true or false > > > > > > > > > > > > > > token = fread() > > > > > > > - return the next token in the file > > > > > > > - ignore line breaks? > > > > > > > > > > > > > > fwrite( token ) > > > > > > > - write the token to the end of the file > > > > > > > > > > > > > > fclose() > > > > > > > - close the file > > > > > > > > > > > > > > Are these 4 enough or do we need any further functions? > > > > > > > > > > > > > > For example: > > > > > > > > > > > > > > feof ?? > > > > > > > - way to tell when we've reached the end of the file > > > > > > > > > > > > > > fseek ?? > > > > > > > - seek into the file > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen < dr...@gm...> wrote: > > > > > > > > > > > > > > > I think supporting one open file (at a time) would be plenty > for > > > our > > > > > > > > purposes, and would make implementation a bit easier. > > > > > > > > > > > > > > > > Instead of reading characters though, I think the default > function > > > of > > > > > > > > a file read command should be to emulate the input statement, > and > > > read > > > > > > > > entire tokens. That way a kid could type in a file: > > > > > > > > > > > > > > > > 1 aString 2.23 -3 10 > > > > > > > > 11 24 Ian 34 > > > > > > > > > > > > > > > > and calling read would return 1, then "aString", and so forth. > > > > > > > > We could have the data type default to string for simplicity, > > > counting > > > > > > > > on the programmer to change it to the type he wants with > int(), > > > for > > > > > > > > example, or we could attempt to decide what the type is based > on > > > the > > > > > > > > token. > > > > > > > > > > > > > > > > My inclination is to return strings only, to keep things > simple > > > and predictable. > > > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> wrote: > > > > > > > > > I definitely agree that we want to avoid the classic basic > > > approach. > > > > > > > > > > > > > > > > > > The FOPEN (and others) approach is reasonable and we should > > > probably > > > > > > > > > be working at the character level, as dealing with UTF-8 etc > > > would be > > > > > > > > > a real pain... > > > > > > > > > > > > > > > > > > We could take a C-like approach and have a gets(number) > > > function? e.g. > > > > > > > > > returns <number> characters in a string from the currently > open > > > file > > > > > > > > > (until end of line?) > > > > > > > > > > > > > > > > > > Hmm.. also, do we want to support one open file or more than > > > one? > > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm... > wrote: > > > > > > > > > > Actually, I haven't given it much thought, but you're > right, > > > it would > > > > > > > > > > be good to have that. > > > > > > > > > > > > > > > > > > > > We could have an FOPEN, FREAD, and FWRITE command. I'm > just > > > unsure of > > > > > > > > > > whether they should work at the byte or character level. > > > > > > > > > > > > > > > > > > > > What I usually do is write an example program or tutorial > > > first, and > > > > > > > > > > then code the commands. It helps to focus on what is > actually > > > > > > > > > > necessary to teach kids. > > > > > > > > > > > > > > > > > > > > Traditionally BASIC used READ and DATA statements for data > > > input, but > > > > > > > > > > personally I was never crazy about that approach, most > > > importantly > > > > > > > > > > because I think data should be a separate entity from the > > > program that > > > > > > > > > > reads/alters it. > > > > > > > > > > > > > > > > > > > > The approach that LISP takes for file input is nice. You > can > > > use the > > > > > > > > > > lisp read command on an open file to read a token, or > > > read-line to > > > > > > > > > > read a line. There's also read-char and read-byte. This > > > might be the > > > > > > > > > > best way to handle it, so kids can have a text file of > data > > > separated > > > > > > > > > > by white space and just read each token in one at a time. > > > > > > > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> > wrote: > > > > > > > > > > > Has anyone given any thought to file access? It would be > > > useful to be > > > > > > > > > > > able to open, read and write text files... > > > > > > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > Take Surveys. Earn Cash. Influence the Future of IT > > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share > > > your > > > > opinions on IT & business topics through brief surveys - and earn cash > > > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > > > Kidbasic-devel mailing list > > > > Kid...@li... > > > > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > > > _______________________________________________ > > > Kidbasic-devel mailing list > > > Kid...@li... > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: tony007 <sup...@go...> - 2006-11-22 18:03:22
|
Ok, I didn't look closely enough to realise it is intentional. I'm starting to think it's not worth worrying about now - I can hear you saying "I told you so" :-) - and that I should concentrate on something a bit more productive that will actually enhance the user experience. Yes, QGraphicsScene is new to Qt 4.2 and I guess it will be a problem for people with < 4.2, which is also a good reason to leave it alone... What about syntax highlighting in the editor view - any thoughts on that or anything else ( I've not forgotten about the focus bug )? tony On 22/11/06, Ian Larsen <dr...@gm...> wrote: > > Great, I'm looking forward to see what Salim comes up with. > > The flickering problem is due to the following reason, and is > intentional because it serves an instructive point for kids. > > Each graphics operation completes before program execution continues. > Since a graphics refresh takes a certain amount of time, (about 200ms > on my machine), and CLG is a graphics operation, you're seeing the > ball drawn for 200ms, then a blank screen for 200ms, and so forth. > This is what causes the flicker. > > No matter how fast the graphics are redrawn, flicker will always be a > problem when done like this, because each graphics operation is > essentially a relatively slow constant time operation, so you'll > always see a blank screen for as long as you see any other change. > > This is why I included the FASTGRAPHICS mode, which is essentially > double buffering, and removes this problem. If you issue the command > FASTGRAPHICS in a basic256 program, only the back-end buffer will be > modified for any drawing command, and you won't see the changes until > you issue a REFRESH command. This is why the ballaccel.kbs demo > doesn't flicker. > > The reason it's done like this is so that you can write a simple pong > game, for example, and not have to worry about the graphics getting > out of sync with the collision test code. Because the interpreter > runs in its own thread which cannot do its own redraw (widget updates > have to be done from the main thread) the threads have to be > synchronized on any visible graphics update. > > So having two modes allows the advanced kids to write a decent looking > animation, while keeping it really simple for beginners. > > Is QGraphicsScene available before QT-4.2? This may cause problems > when compiling on some Linux distributions which include an older > qt-4. > > To answer your other question, read() ignores all whitespace between > tokens (spaces, tabs, newlines). So unless there's only whitespace > before the end of a file, a token will be returned. > > -Ian > > > > On 11/22/06, tony007 <sup...@go...> wrote: > > Ian, > > > > I've forwarded the icons you did to my friend ( Salim ) and asked him > to go > > ahead with making a set for basic256. I've not heard back from him yet > so I > > don't know how he's getting on and whether they'll be ready for the next > > release? As soon as I hear back I'll mail this list with any info. > > > > Didn't get to do much over the weekend unfortunately due to hardware > > problems and other commitments but started looking at using > QGraphicsScene > > to render the graphics. I don't know if you guys have noticed but when > > running ballanim.kbs there is a lot of flickering and I'm hoping this > might > > go away with the introduction of QGraphicsScene, though I'm not certain > till > > I've got it working. It does mean a bit of a change to setting the image > and > > mask in the Interpreter thread as the drawing needs to be defered till > the > > signal gets back to the RunController in the gui thread ( at least I > think > > that will fix the update problems I'm having ). If you haven't done it > > already I'll put the dockwindow menus in the View menu tonight ready for > the > > next release. > > > > Quick question about the file reading: Does read() ignore blank lines > or if > > not, will this get confused with EOF? > > > > tony > > > > > > On 20/11/06, Ian Larsen <dr...@gm...> wrote: > > > > > > Ferry, > > > > > > I've added the file access from your branch with the following > changes: > > > > > > - Removed "mode" support. I think this will be confusing for kids. > > > Files are all open read/write. > > > > > > - Removed error return code. File errors halt execution with an error > > > in the text output window. EOF's returns a blank string, so you can > > > check for end of file conditions that way. > > > > > > - All writes are appended to the end of the file, after which file > > > position is returned to the previous position for reading. This way > > > data isn't ever overwritten, but reads still occur sequentially, which > > > I think will be the most intuitive for new programmers. > > > > > > I think this will be the easiest method for file I/O for kids. We > > > might want to consider a fileClear function to wipe a file clean, so > > > new data can be written. > > > > > > I'll be making a new release soon with these new features. Thanks to > > > all for the excellent work. I really appreciate the help with this, > > > and it's coming along much faster and better than I could do myself. > > > > > > -Ian > > > > > > > > > > > > On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > All done and committed to the repository (rev 134). We now have 4 > file > > > > operations: > > > > > > > > - int open(string name, string mode) > > > > - mode can be one of "read" or "write", defaulting to "read". > > > > > > > > - string read() > > > > - read one token from the file > > > > > > > > - int write(string token) > > > > - write one token to the file > > > > > > > > - int close() > > > > - close the file > > > > > > > > Cheers > > > > > > > > /Ferry > > > > > > > > > > > > On 11/17/06, Ian Larsen < dr...@gm...> wrote: > > > > > Let's start with those four, and see if we get requests for > others. > > > > > > > > > > We can probably just use open, read, write, and close, instead of > > > > > prepending an "f," since I don't forsee implementing READ and DATA > in > > > > > basic256. > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> wrote: > > > > > > I agree, keeping it simple is best. > > > > > > > > > > > > We therefore have at least 4 new functions: > > > > > > > > > > > > error = fopen( filename ) > > > > > > - open the file (for read and write? or separate them out?) > > > > > > - return simple true or false > > > > > > > > > > > > token = fread() > > > > > > - return the next token in the file > > > > > > - ignore line breaks? > > > > > > > > > > > > fwrite( token ) > > > > > > - write the token to the end of the file > > > > > > > > > > > > fclose() > > > > > > - close the file > > > > > > > > > > > > Are these 4 enough or do we need any further functions? > > > > > > > > > > > > For example: > > > > > > > > > > > > feof ?? > > > > > > - way to tell when we've reached the end of the file > > > > > > > > > > > > fseek ?? > > > > > > - seek into the file > > > > > > > > > > > > Cheers > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > > > > > > > I think supporting one open file (at a time) would be plenty > for > > our > > > > > > > purposes, and would make implementation a bit easier. > > > > > > > > > > > > > > Instead of reading characters though, I think the default > function > > of > > > > > > > a file read command should be to emulate the input statement, > and > > read > > > > > > > entire tokens. That way a kid could type in a file: > > > > > > > > > > > > > > 1 aString 2.23 -3 10 > > > > > > > 11 24 Ian 34 > > > > > > > > > > > > > > and calling read would return 1, then "aString", and so forth. > > > > > > > We could have the data type default to string for simplicity, > > counting > > > > > > > on the programmer to change it to the type he wants with > int(), > > for > > > > > > > example, or we could attempt to decide what the type is based > on > > the > > > > > > > token. > > > > > > > > > > > > > > My inclination is to return strings only, to keep things > simple > > and predictable. > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > > > > I definitely agree that we want to avoid the classic basic > > approach. > > > > > > > > > > > > > > > > The FOPEN (and others) approach is reasonable and we should > > probably > > > > > > > > be working at the character level, as dealing with UTF-8 etc > > would be > > > > > > > > a real pain... > > > > > > > > > > > > > > > > We could take a C-like approach and have a gets(number) > > function? e.g. > > > > > > > > returns <number> characters in a string from the currently > open > > file > > > > > > > > (until end of line?) > > > > > > > > > > > > > > > > Hmm.. also, do we want to support one open file or more than > > one? > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm... > wrote: > > > > > > > > > Actually, I haven't given it much thought, but you're > right, > > it would > > > > > > > > > be good to have that. > > > > > > > > > > > > > > > > > > We could have an FOPEN, FREAD, and FWRITE command. I'm > just > > unsure of > > > > > > > > > whether they should work at the byte or character level. > > > > > > > > > > > > > > > > > > What I usually do is write an example program or tutorial > > first, and > > > > > > > > > then code the commands. It helps to focus on what is > actually > > > > > > > > > necessary to teach kids. > > > > > > > > > > > > > > > > > > Traditionally BASIC used READ and DATA statements for data > > input, but > > > > > > > > > personally I was never crazy about that approach, most > > importantly > > > > > > > > > because I think data should be a separate entity from the > > program that > > > > > > > > > reads/alters it. > > > > > > > > > > > > > > > > > > The approach that LISP takes for file input is nice. You > can > > use the > > > > > > > > > lisp read command on an open file to read a token, or > > read-line to > > > > > > > > > read a line. There's also read-char and read-byte. This > > might be the > > > > > > > > > best way to handle it, so kids can have a text file of > data > > separated > > > > > > > > > by white space and just read each token in one at a time. > > > > > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> > wrote: > > > > > > > > > > Has anyone given any thought to file access? It would be > > useful to be > > > > > > > > > > able to open, read and write text files... > > > > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > Take Surveys. Earn Cash. Influence the Future of IT > > > Join SourceForge.net's Techsay panel and you'll get the chance to > share > > your > > > opinions on IT & business topics through brief surveys - and earn cash > > > > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > _______________________________________________ > > > Kidbasic-devel mailing list > > > Kid...@li... > > > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > > > |
From: Ian L. <dr...@gm...> - 2006-11-22 17:24:00
|
Great, I'm looking forward to see what Salim comes up with. The flickering problem is due to the following reason, and is intentional because it serves an instructive point for kids. Each graphics operation completes before program execution continues. Since a graphics refresh takes a certain amount of time, (about 200ms on my machine), and CLG is a graphics operation, you're seeing the ball drawn for 200ms, then a blank screen for 200ms, and so forth. This is what causes the flicker. No matter how fast the graphics are redrawn, flicker will always be a problem when done like this, because each graphics operation is essentially a relatively slow constant time operation, so you'll always see a blank screen for as long as you see any other change. This is why I included the FASTGRAPHICS mode, which is essentially double buffering, and removes this problem. If you issue the command FASTGRAPHICS in a basic256 program, only the back-end buffer will be modified for any drawing command, and you won't see the changes until you issue a REFRESH command. This is why the ballaccel.kbs demo doesn't flicker. The reason it's done like this is so that you can write a simple pong game, for example, and not have to worry about the graphics getting out of sync with the collision test code. Because the interpreter runs in its own thread which cannot do its own redraw (widget updates have to be done from the main thread) the threads have to be synchronized on any visible graphics update. So having two modes allows the advanced kids to write a decent looking animation, while keeping it really simple for beginners. Is QGraphicsScene available before QT-4.2? This may cause problems when compiling on some Linux distributions which include an older qt-4. To answer your other question, read() ignores all whitespace between tokens (spaces, tabs, newlines). So unless there's only whitespace before the end of a file, a token will be returned. -Ian On 11/22/06, tony007 <sup...@go...> wrote: > Ian, > > I've forwarded the icons you did to my friend ( Salim ) and asked him to go > ahead with making a set for basic256. I've not heard back from him yet so I > don't know how he's getting on and whether they'll be ready for the next > release? As soon as I hear back I'll mail this list with any info. > > Didn't get to do much over the weekend unfortunately due to hardware > problems and other commitments but started looking at using QGraphicsScene > to render the graphics. I don't know if you guys have noticed but when > running ballanim.kbs there is a lot of flickering and I'm hoping this might > go away with the introduction of QGraphicsScene, though I'm not certain till > I've got it working. It does mean a bit of a change to setting the image and > mask in the Interpreter thread as the drawing needs to be defered till the > signal gets back to the RunController in the gui thread ( at least I think > that will fix the update problems I'm having ). If you haven't done it > already I'll put the dockwindow menus in the View menu tonight ready for the > next release. > > Quick question about the file reading: Does read() ignore blank lines or if > not, will this get confused with EOF? > > tony > > > On 20/11/06, Ian Larsen <dr...@gm...> wrote: > > > > Ferry, > > > > I've added the file access from your branch with the following changes: > > > > - Removed "mode" support. I think this will be confusing for kids. > > Files are all open read/write. > > > > - Removed error return code. File errors halt execution with an error > > in the text output window. EOF's returns a blank string, so you can > > check for end of file conditions that way. > > > > - All writes are appended to the end of the file, after which file > > position is returned to the previous position for reading. This way > > data isn't ever overwritten, but reads still occur sequentially, which > > I think will be the most intuitive for new programmers. > > > > I think this will be the easiest method for file I/O for kids. We > > might want to consider a fileClear function to wipe a file clean, so > > new data can be written. > > > > I'll be making a new release soon with these new features. Thanks to > > all for the excellent work. I really appreciate the help with this, > > and it's coming along much faster and better than I could do myself. > > > > -Ian > > > > > > > > On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > > > All done and committed to the repository (rev 134). We now have 4 file > > > operations: > > > > > > - int open(string name, string mode) > > > - mode can be one of "read" or "write", defaulting to "read". > > > > > > - string read() > > > - read one token from the file > > > > > > - int write(string token) > > > - write one token to the file > > > > > > - int close() > > > - close the file > > > > > > Cheers > > > > > > /Ferry > > > > > > > > > On 11/17/06, Ian Larsen < dr...@gm...> wrote: > > > > Let's start with those four, and see if we get requests for others. > > > > > > > > We can probably just use open, read, write, and close, instead of > > > > prepending an "f," since I don't forsee implementing READ and DATA in > > > > basic256. > > > > > > > > -Ian > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> wrote: > > > > > I agree, keeping it simple is best. > > > > > > > > > > We therefore have at least 4 new functions: > > > > > > > > > > error = fopen( filename ) > > > > > - open the file (for read and write? or separate them out?) > > > > > - return simple true or false > > > > > > > > > > token = fread() > > > > > - return the next token in the file > > > > > - ignore line breaks? > > > > > > > > > > fwrite( token ) > > > > > - write the token to the end of the file > > > > > > > > > > fclose() > > > > > - close the file > > > > > > > > > > Are these 4 enough or do we need any further functions? > > > > > > > > > > For example: > > > > > > > > > > feof ?? > > > > > - way to tell when we've reached the end of the file > > > > > > > > > > fseek ?? > > > > > - seek into the file > > > > > > > > > > Cheers > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > > > > > I think supporting one open file (at a time) would be plenty for > our > > > > > > purposes, and would make implementation a bit easier. > > > > > > > > > > > > Instead of reading characters though, I think the default function > of > > > > > > a file read command should be to emulate the input statement, and > read > > > > > > entire tokens. That way a kid could type in a file: > > > > > > > > > > > > 1 aString 2.23 -3 10 > > > > > > 11 24 Ian 34 > > > > > > > > > > > > and calling read would return 1, then "aString", and so forth. > > > > > > We could have the data type default to string for simplicity, > counting > > > > > > on the programmer to change it to the type he wants with int(), > for > > > > > > example, or we could attempt to decide what the type is based on > the > > > > > > token. > > > > > > > > > > > > My inclination is to return strings only, to keep things simple > and predictable. > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > > > I definitely agree that we want to avoid the classic basic > approach. > > > > > > > > > > > > > > The FOPEN (and others) approach is reasonable and we should > probably > > > > > > > be working at the character level, as dealing with UTF-8 etc > would be > > > > > > > a real pain... > > > > > > > > > > > > > > We could take a C-like approach and have a gets(number) > function? e.g. > > > > > > > returns <number> characters in a string from the currently open > file > > > > > > > (until end of line?) > > > > > > > > > > > > > > Hmm.. also, do we want to support one open file or more than > one? > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm... > wrote: > > > > > > > > Actually, I haven't given it much thought, but you're right, > it would > > > > > > > > be good to have that. > > > > > > > > > > > > > > > > We could have an FOPEN, FREAD, and FWRITE command. I'm just > unsure of > > > > > > > > whether they should work at the byte or character level. > > > > > > > > > > > > > > > > What I usually do is write an example program or tutorial > first, and > > > > > > > > then code the commands. It helps to focus on what is actually > > > > > > > > necessary to teach kids. > > > > > > > > > > > > > > > > Traditionally BASIC used READ and DATA statements for data > input, but > > > > > > > > personally I was never crazy about that approach, most > importantly > > > > > > > > because I think data should be a separate entity from the > program that > > > > > > > > reads/alters it. > > > > > > > > > > > > > > > > The approach that LISP takes for file input is nice. You can > use the > > > > > > > > lisp read command on an open file to read a token, or > read-line to > > > > > > > > read a line. There's also read-char and read-byte. This > might be the > > > > > > > > best way to handle it, so kids can have a text file of data > separated > > > > > > > > by white space and just read each token in one at a time. > > > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx < fer...@gm...> wrote: > > > > > > > > > Has anyone given any thought to file access? It would be > useful to be > > > > > > > > > able to open, read and write text files... > > > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > Take Surveys. Earn Cash. Influence the Future of IT > > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > > opinions on IT & business topics through brief surveys - and earn cash > > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > > Kidbasic-devel mailing list > > Kid...@li... > > > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > > > |
From: tony007 <sup...@go...> - 2006-11-22 13:13:10
|
Ian, I've forwarded the icons you did to my friend ( Salim ) and asked him to go ahead with making a set for basic256. I've not heard back from him yet so I don't know how he's getting on and whether they'll be ready for the next release? As soon as I hear back I'll mail this list with any info. Didn't get to do much over the weekend unfortunately due to hardware problems and other commitments but started looking at using QGraphicsScene to render the graphics. I don't know if you guys have noticed but when running ballanim.kbs there is a lot of flickering and I'm hoping this might go away with the introduction of QGraphicsScene, though I'm not certain till I've got it working. It does mean a bit of a change to setting the image and mask in the Interpreter thread as the drawing needs to be defered till the signal gets back to the RunController in the gui thread ( at least I think that will fix the update problems I'm having ). If you haven't done it already I'll put the dockwindow menus in the View menu tonight ready for the next release. Quick question about the file reading: Does read() ignore blank lines or if not, will this get confused with EOF? tony On 20/11/06, Ian Larsen <dr...@gm...> wrote: > > Ferry, > > I've added the file access from your branch with the following changes: > > - Removed "mode" support. I think this will be confusing for kids. > Files are all open read/write. > > - Removed error return code. File errors halt execution with an error > in the text output window. EOF's returns a blank string, so you can > check for end of file conditions that way. > > - All writes are appended to the end of the file, after which file > position is returned to the previous position for reading. This way > data isn't ever overwritten, but reads still occur sequentially, which > I think will be the most intuitive for new programmers. > > I think this will be the easiest method for file I/O for kids. We > might want to consider a fileClear function to wipe a file clean, so > new data can be written. > > I'll be making a new release soon with these new features. Thanks to > all for the excellent work. I really appreciate the help with this, > and it's coming along much faster and better than I could do myself. > > -Ian > > > > On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > > All done and committed to the repository (rev 134). We now have 4 file > > operations: > > > > - int open(string name, string mode) > > - mode can be one of "read" or "write", defaulting to "read". > > > > - string read() > > - read one token from the file > > > > - int write(string token) > > - write one token to the file > > > > - int close() > > - close the file > > > > Cheers > > > > /Ferry > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > Let's start with those four, and see if we get requests for others. > > > > > > We can probably just use open, read, write, and close, instead of > > > prepending an "f," since I don't forsee implementing READ and DATA in > > > basic256. > > > > > > -Ian > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > I agree, keeping it simple is best. > > > > > > > > We therefore have at least 4 new functions: > > > > > > > > error = fopen( filename ) > > > > - open the file (for read and write? or separate them out?) > > > > - return simple true or false > > > > > > > > token = fread() > > > > - return the next token in the file > > > > - ignore line breaks? > > > > > > > > fwrite( token ) > > > > - write the token to the end of the file > > > > > > > > fclose() > > > > - close the file > > > > > > > > Are these 4 enough or do we need any further functions? > > > > > > > > For example: > > > > > > > > feof ?? > > > > - way to tell when we've reached the end of the file > > > > > > > > fseek ?? > > > > - seek into the file > > > > > > > > Cheers > > > > > > > > /Ferry > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > > > I think supporting one open file (at a time) would be plenty for > our > > > > > purposes, and would make implementation a bit easier. > > > > > > > > > > Instead of reading characters though, I think the default function > of > > > > > a file read command should be to emulate the input statement, and > read > > > > > entire tokens. That way a kid could type in a file: > > > > > > > > > > 1 aString 2.23 -3 10 > > > > > 11 24 Ian 34 > > > > > > > > > > and calling read would return 1, then "aString", and so forth. > > > > > We could have the data type default to string for simplicity, > counting > > > > > on the programmer to change it to the type he wants with int(), > for > > > > > example, or we could attempt to decide what the type is based on > the > > > > > token. > > > > > > > > > > My inclination is to return strings only, to keep things simple > and predictable. > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > > I definitely agree that we want to avoid the classic basic > approach. > > > > > > > > > > > > The FOPEN (and others) approach is reasonable and we should > probably > > > > > > be working at the character level, as dealing with UTF-8 etc > would be > > > > > > a real pain... > > > > > > > > > > > > We could take a C-like approach and have a gets(number) > function? e.g. > > > > > > returns <number> characters in a string from the currently open > file > > > > > > (until end of line?) > > > > > > > > > > > > Hmm.. also, do we want to support one open file or more than > one? > > > > > > > > > > > > Cheers > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > Actually, I haven't given it much thought, but you're right, > it would > > > > > > > be good to have that. > > > > > > > > > > > > > > We could have an FOPEN, FREAD, and FWRITE command. I'm just > unsure of > > > > > > > whether they should work at the byte or character level. > > > > > > > > > > > > > > What I usually do is write an example program or tutorial > first, and > > > > > > > then code the commands. It helps to focus on what is actually > > > > > > > necessary to teach kids. > > > > > > > > > > > > > > Traditionally BASIC used READ and DATA statements for data > input, but > > > > > > > personally I was never crazy about that approach, most > importantly > > > > > > > because I think data should be a separate entity from the > program that > > > > > > > reads/alters it. > > > > > > > > > > > > > > The approach that LISP takes for file input is nice. You can > use the > > > > > > > lisp read command on an open file to read a token, or > read-line to > > > > > > > read a line. There's also read-char and read-byte. This > might be the > > > > > > > best way to handle it, so kids can have a text file of data > separated > > > > > > > by white space and just read each token in one at a time. > > > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > > > > Has anyone given any thought to file access? It would be > useful to be > > > > > > > > able to open, read and write text files... > > > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kidbasic-devel mailing list > Kid...@li... > https://lists.sourceforge.net/lists/listinfo/kidbasic-devel > |
From: Ferry H. <fer...@gm...> - 2006-11-20 20:51:27
|
Ian, Glad to hear you're happy with the contributions! As you note below, some kind of "clear" (or reset) operation for files sounds good. Maybe it should simply truncate an already open file? For example: open(filename) reset() <-- truncates file write(string) <-- writes to the start of the file Comments? Cheers /Ferry On 11/21/06, Ian Larsen <dr...@gm...> wrote: > Ferry, > > I've added the file access from your branch with the following changes: > > - Removed "mode" support. I think this will be confusing for kids. > Files are all open read/write. > > - Removed error return code. File errors halt execution with an error > in the text output window. EOF's returns a blank string, so you can > check for end of file conditions that way. > > - All writes are appended to the end of the file, after which file > position is returned to the previous position for reading. This way > data isn't ever overwritten, but reads still occur sequentially, which > I think will be the most intuitive for new programmers. > > I think this will be the easiest method for file I/O for kids. We > might want to consider a fileClear function to wipe a file clean, so > new data can be written. > > I'll be making a new release soon with these new features. Thanks to > all for the excellent work. I really appreciate the help with this, > and it's coming along much faster and better than I could do myself. > > -Ian > > > > On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > > All done and committed to the repository (rev 134). We now have 4 file > > operations: > > > > - int open(string name, string mode) > > - mode can be one of "read" or "write", defaulting to "read". > > > > - string read() > > - read one token from the file > > > > - int write(string token) > > - write one token to the file > > > > - int close() > > - close the file > > > > Cheers > > > > /Ferry |
From: Ian L. <dr...@gm...> - 2006-11-20 20:31:39
|
Ferry, I've added the file access from your branch with the following changes: - Removed "mode" support. I think this will be confusing for kids. Files are all open read/write. - Removed error return code. File errors halt execution with an error in the text output window. EOF's returns a blank string, so you can check for end of file conditions that way. - All writes are appended to the end of the file, after which file position is returned to the previous position for reading. This way data isn't ever overwritten, but reads still occur sequentially, which I think will be the most intuitive for new programmers. I think this will be the easiest method for file I/O for kids. We might want to consider a fileClear function to wipe a file clean, so new data can be written. I'll be making a new release soon with these new features. Thanks to all for the excellent work. I really appreciate the help with this, and it's coming along much faster and better than I could do myself. -Ian On 11/19/06, Ferry Hendrikx <fer...@gm...> wrote: > All done and committed to the repository (rev 134). We now have 4 file > operations: > > - int open(string name, string mode) > - mode can be one of "read" or "write", defaulting to "read". > > - string read() > - read one token from the file > > - int write(string token) > - write one token to the file > > - int close() > - close the file > > Cheers > > /Ferry > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > Let's start with those four, and see if we get requests for others. > > > > We can probably just use open, read, write, and close, instead of > > prepending an "f," since I don't forsee implementing READ and DATA in > > basic256. > > > > -Ian > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > I agree, keeping it simple is best. > > > > > > We therefore have at least 4 new functions: > > > > > > error = fopen( filename ) > > > - open the file (for read and write? or separate them out?) > > > - return simple true or false > > > > > > token = fread() > > > - return the next token in the file > > > - ignore line breaks? > > > > > > fwrite( token ) > > > - write the token to the end of the file > > > > > > fclose() > > > - close the file > > > > > > Are these 4 enough or do we need any further functions? > > > > > > For example: > > > > > > feof ?? > > > - way to tell when we've reached the end of the file > > > > > > fseek ?? > > > - seek into the file > > > > > > Cheers > > > > > > /Ferry > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > > I think supporting one open file (at a time) would be plenty for our > > > > purposes, and would make implementation a bit easier. > > > > > > > > Instead of reading characters though, I think the default function of > > > > a file read command should be to emulate the input statement, and read > > > > entire tokens. That way a kid could type in a file: > > > > > > > > 1 aString 2.23 -3 10 > > > > 11 24 Ian 34 > > > > > > > > and calling read would return 1, then "aString", and so forth. > > > > We could have the data type default to string for simplicity, counting > > > > on the programmer to change it to the type he wants with int(), for > > > > example, or we could attempt to decide what the type is based on the > > > > token. > > > > > > > > My inclination is to return strings only, to keep things simple and predictable. > > > > > > > > -Ian > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > I definitely agree that we want to avoid the classic basic approach. > > > > > > > > > > The FOPEN (and others) approach is reasonable and we should probably > > > > > be working at the character level, as dealing with UTF-8 etc would be > > > > > a real pain... > > > > > > > > > > We could take a C-like approach and have a gets(number) function? e.g. > > > > > returns <number> characters in a string from the currently open file > > > > > (until end of line?) > > > > > > > > > > Hmm.. also, do we want to support one open file or more than one? > > > > > > > > > > Cheers > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > On 11/17/06, Ian Larsen <dr...@gm...> wrote: > > > > > > Actually, I haven't given it much thought, but you're right, it would > > > > > > be good to have that. > > > > > > > > > > > > We could have an FOPEN, FREAD, and FWRITE command. I'm just unsure of > > > > > > whether they should work at the byte or character level. > > > > > > > > > > > > What I usually do is write an example program or tutorial first, and > > > > > > then code the commands. It helps to focus on what is actually > > > > > > necessary to teach kids. > > > > > > > > > > > > Traditionally BASIC used READ and DATA statements for data input, but > > > > > > personally I was never crazy about that approach, most importantly > > > > > > because I think data should be a separate entity from the program that > > > > > > reads/alters it. > > > > > > > > > > > > The approach that LISP takes for file input is nice. You can use the > > > > > > lisp read command on an open file to read a token, or read-line to > > > > > > read a line. There's also read-char and read-byte. This might be the > > > > > > best way to handle it, so kids can have a text file of data separated > > > > > > by white space and just read each token in one at a time. > > > > > > > > > > > > -Ian > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On 11/16/06, Ferry Hendrikx <fer...@gm...> wrote: > > > > > > > Has anyone given any thought to file access? It would be useful to be > > > > > > > able to open, read and write text files... > > > > > > > > > > > > > > Cheers > > > > > > > > > > > > > > /Ferry > > > > > > > > > > > > > > > > > > |