Allowing the user to select items or review lists of data is fundamental to many interfaces. For one or two items, radio buttons or check boxes can work, but for more complex data, a list box can be a good choice. In this blog, I will cover the ‘listbox’ common control, one of many methods of presenting and managing lists of data.
Continue reading "LDC #84: Dialog Boxes Part III — List Boxes" »Friday, May 11. 2018
LDC #84: Dialog Boxes Part III — List Boxes
Friday, May 04. 2018
LDC #83: Validating With The XBRL Object Part 2
Back in February, I wrote a blog post about how we can use the XBRL Object in Legato to do some extra validation on XBRL. In that blog we added a check for the number of custom elements. That was a relatively basic application of XBRL in Legato though, not very complicated. What if we want to do something a lot more in depth? For example, check to ensure we’re not defining any cyclic presentation relationships. By that, I mean that you have a dimension - member pair in a context, but in the presentation properties for a presentation where that context appears the domain for that dimension is set to the same member. That’s a cyclic relationship; saying something is it’s own parent element. This isn’t Futurama, you can’t be your own grandfather in XBRL.
Continue reading "LDC #83: Validating With The XBRL Object Part 2" »
Friday, April 27. 2018
LDC #82: A Second Snap of the Clipboard
A few weeks ago we talked about what the clipboard object is and how you can get information off of the clipboard using Legato. This week we’re going to talk about putting information onto the clipboard using Legato by modifying one of our previous scripts.
Continue reading "LDC #82: A Second Snap of the Clipboard" »Friday, April 20. 2018
LDC #81: Automating Other Applications Through Legato
This week we released version 4.22b of the GoFiler line of products, and with the release came new Legato functions to control Internet Explorer through OLE. Note that in future releases of Legato we will be adding further OLE functionality. The concepts used in this blog can be applied to any other OLE automation project.
Continue reading "LDC #81: Automating Other Applications Through..." »Friday, April 13. 2018
LDC #80: Dialog Boxes Part II — A Simple Dialog Box
In my first article about dialog boxes, I introduced how dialogs work and provided an overview dialog resources. In the article, we’ll dive into three dialog procedures and some common controls employed in a simple survey program.
Continue reading "LDC #80: Dialog Boxes Part II — A Simple Dialog..." »Friday, April 06. 2018
LDC #79: Save, Load, and Edit Preferences Templates
This week, we’ll be introducing a script that adds a very handy feature to GoFiler: the ability to save, load, and edit preference templates. These preference templates will include settings like your EDGAR credentials, HTML conversion settings, and default options for edit windows.
Continue reading "LDC #79: Save, Load, and Edit Preferences..." »
Friday, March 30. 2018
LDC #78: A Snapshot of the Clipboard
Today we’re going to talk about one of the most commonly used but least commonly understood features of your computer: the clipboard. Everyone who regularly uses a computer regularly knows how much of a time-saver using copy and paste can be, and the value only goes up the more you use it. As a programmer, the amount of time that I save by moving code around can’t even be measured, and I’m sure I’m not alone when I say that. However, the inner workings of the clipboard are often times misunderstood. Today I will explain what the clipboard is and how to interact with it using Legato.
Continue reading "LDC #78: A Snapshot of the Clipboard" »Friday, March 23. 2018
LDC #77: Hash It Out
This week we are going to discuss hashing. Simply put, a hashing function takes arbitrary sized data and maps it to fixed size in a deterministic manner. Therefore, when given the same input, the same result is generated. Ideally, a hash function would be 1-1, as in for every input a unique output is given. This is also known as an injective function. In reality, though, that’s not possible since the amount of data being input can be many times larger than the output. So instead hashing algorithms aim to be uniform, which is to say they use the entire output space equally. This means that the chances of two inputs generating the same hash are lower given the size of the output hash.
Continue reading "LDC #77: Hash It Out" »Friday, March 16. 2018
LDC #76: Introduction to Dialog Boxes
Need to have a user login, get some settings, and then direct them to confirm information? You need a dialog box. To create and use dialog boxes, you need some basic information to get started. This article will introduce dialog boxes and teach you the fundamentals about using them.
Continue reading "LDC #76: Introduction to Dialog Boxes" »Friday, March 09. 2018
LDC #75: Automatic Creation of Previous Versions
One common task when working on an HTML document in GoFiler is to save different versions of the file. Every time a copy is sent out for review, users can do a save as operation, and save a new copy of the file with a different version number. GoFiler by default allows you to create backup copies of the file (.bak files) whenever you press the save button, but that’s often too many backups, and they don’t represent true versions. The example script in this blog post then attempts to automate the process of creating different versions of files. This script will trigger when the user presses the “To Browser” button on an HTML file, and ask if the user wants to create a previous version folder of this file. If the user presses “Yes”, the script makes a new folder called “Revisions”, puts a folder stamped with the version number, date, and time into it, and copies all the HTML and images out of your folder into this previous version folder.
Continue reading "LDC #75: Automatic Creation of Previous Versions" »
Friday, March 02. 2018
LDC #74: Removing That Pesky S From HTTPS
This week we’re going to talk about another client requested feature. Many EDGAR HTML documents end up referencing previously filed documents on the SEC’s EDGAR system. These documents are located at “https://www.sec.gov/Archives/edgar/data/[document reference]”. Recently the SEC has migrated to only HTTPS, the secure hypertext protocol, and will redirect any requests for HTTP to HTTPS. However, the EDGAR system will still only accept links that reference “http://www.sec.gov/[etc]”. This causes some extra work if you are merely copying the link from a browser that is accessing the document on the EDGAR system, as the link will be copied as HTTPS. Today, we’re going to write a simple script that hooks into the validate function and lets you know if you have any HTTPS references as well as offer to fix them.
Continue reading "LDC #74: Removing That Pesky S From HTTPS" »Friday, February 23. 2018
LDC #73: Running in the Background Part 2 - Synchronizing Tasks
During my last blog I discussed using background scripts. This week I will elaborate more on synchronizing background scripts and their data. If you haven’t read the previous blog don’t worry, you will be able to follow along. However, this blog does require at least a basic understanding of threading. The first part used a single background thread to track user activity within the application. A background thread is used to allow the user to continue to work in parallel to our script. Another way to use background scripts is to take a task and process it in parallel. Our script this week is an example of this.
Continue reading "LDC #73: Running in the Background Part 2 -..." »Friday, February 16. 2018
LDC #72: Get Crack'n - Working with URIs
The technical term for a web address is a Uniform Resource Identifier or URI. The contents of a URI can be very simple, such as ‘www.gofiler.online’, or very complex. A URL, the common name for a web page is actually a Uniform Resource Locator, which is a component of a larger URI. From within a Legato script one may find the need to either build a query or perhaps take one apart. In this post we will explore how URIs work and how to work with them within Legato.
Continue reading "LDC #72: Get Crack'n - Working with URIs" »Friday, February 09. 2018
LDC #71: Validating With The XBRL Object
XBRL can be a challenging topic to tackle. There are a lot of rules to learn for it, and with 14,000+ elements in the US:GAAP taxonomy, it doesn’t look like it’s going to get simpler any time soon. Fortunately, using GoFiler and Legato, we can add some functionality to make things a little easier.
Continue reading "LDC #71: Validating With The XBRL Object" »
Friday, February 02. 2018
LDC #70: Removing All Selected Hyperlinks
This week we are going to take a look at another client request to be able to remove multiple hyperlinks at the same time. In GoFiler there is a Remove Hyperlink function that will find where the caret currently is and if it is within a hyperlink it will remove the link. If the caret is located before or within an anchor/bookmark tag, the function will remove the anchor instead. However, if you have any text selected the tool gives the user a popup box and does not remove anything. So today we’re going to look at a simple script to hook into the Remove Hyperlink function, check if the user has text highlighted, and if so, remove all hyperlinks and bookmarks that we find in the highlighted section.
Continue reading "LDC #70: Removing All Selected Hyperlinks" »Quicksearch
Categories
Calendar
November '24 | ||||||
---|---|---|---|---|---|---|
Mo | Tu | We | Th | Fr | Sa | Su |
Friday, November 22. 2024 | ||||||
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |