Today's Smalltalk 4 You looks at some of the convenient little tools available on the right side of the Pharo browser's code pane. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at an interesting multi-monitor issue in VisualWorks when running on the Mac. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at the command shell package that's available in Pharo 2.0. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at the Cobol access support in VA Smalltalk. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
You can also watch it on YouTube:
Using VA Smalltalk, you can access Cobol libraries - something that's fairly unique to VA in the Smalltalk world. To get started, load the support from the features tool:
You should be able to find the applications in your browser now:
We don't have anything running Cobol here, so we can't really show an example - the good news is, accessing Cobol from VA is a lot like accessing C. If you have that requirement, it's well documented.
Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.
Today's Smalltalk 4 You looks at one of the ways VisualWorks (and ObjectStudio) make it easy to access Store repositories. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at Datasets in VisualWorks - specifically, automatically resizing them based on windw resizing events. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at figuring out which image reader to use on a given file you want to deal with. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
You can also watch it on YouTube:
Last time we looked at reading images in from the file system into VA Smaltalk - and we noted that you need to line up the specific reader with the correct format. However, with a bit of glue code of your own, it's easy to determine which reader (if any) can read a given file, and select it. Try this on a JPG, for instance:
And you'll see that it works. Given that, and a bit of glue code of your own, it would be simple to create a "find the right reader" class - and to then create readers for formats that are not already supported, and fit them into the existing framework.
Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.
Today's Smalltalk 4 You is a longer video - Nick Ager reprising an ESUG presentation on developing mobile apps using Seaside, Pharo, and JQuery. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at the herald image that pops up when you start ObjectSTudio (or VisualWorks). More specifically, how to turn that off without changing your command line. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
Today's Smalltalk 4 You looks at reading inage files (such as JPG) into VA Smalltalk. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:
If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.
You can also watch it on YouTube:
It's pretty easy to read in image (graphic) files in VA Smalltalk (so long as they are in a supported format). Have a look at class CgImageFileFormat and its subclasses - each concrete subclass reads in a particular kind of file. For instance - to read a JPG, you can do one of two things:
file := CfsFileDescriptor open: 'thuum.jpg' oflag: ORDONLY.
image := format loadFromFileHandle: file atOffset: 0.
file close.
^image
| format image |
format := CgJPEGFileFormat new.
image := format loadFromFile: 'thuum.jpg'.
^image
Notice how we don't need to deal with opening/closing the file in the second example? That's because the framework handles those details. You don't need to worry about catching exceptions for unhanded formats or non-existent files, either - say you try this:
| format image |
format := CgJPEGFileFormat new.
image := format loadFromFile: 'someimage.jpg'.
^image
| format image |
format := CgJPEGFileFormat new.
image := format loadFromFile: 'someimage.png'.
^image
In the first case, the file does not exist - in the second, the format (PNG) is not supported. Either way, the VA code hands you back nil. So, whenever you read an image file, you'll want to check against nil. Finally, what do you get back?
You get an instance of CgDeviceIndependentImage.
Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.