My use is just for play in making cipher-solving aid for some types of transformation ciphers. A transformation cipher is one where the actual text letters are presented but their order is scrambled by some scheme. For example, In a complete columnar scheme, the letters fill a rectangular box of x rows by y columns. The rows are fixed but by switching the columns around, the message appears. To add spice, an incomplete columnar is somewhat the same except some - and you don’t know which - columns have x letters and some have x+1 letters. In that case, the grid has to allow you to swap the columns around and also to “slide” the content of cells in any particular column up or down in the rows, independent of other rows. Viewed horizontally, it would be like having a ten element array but containing only 7 contiguous numbers that might start in cell 1, 2, 3 or 4) So you’d need the ability to click on the column and side the content up or down.
Another is called a Grille Cipher, That’s the old style where you have a piece of paper with a square of letters on it. You have another piece of decipherment paper that’s the same size square but it has holes punched in it. You lay the hole on top of the letter square and the message letters appear in the holes. You copy them out, then rotate the hole paper 90 degrees and copy out the next appearing letters, then rotate again and once more, each time getting more message letters. The game is, you don’t have the decipherment sheet with the holes.
I wrote a solving aid in Future Basic that was nicely tricked out. As you guess a letter, that’s like assuming a hole in your deciphering sheet. So picking one letter also “picks” three others that would be visible as the deciphering sheet was rotated. In my aid, clicking on one letter in the square grid, selected it that was indicated by putting a circle around the letter inside the cell, AND, putting a diagonal line through the other three letters that the rotation would select. In other words, for any specific letter you guess, you are also picking 3 others so they are eliminated as potential “selection” candidates.
Now, what if you want to change your guess? Like if one of the lined-out letters doesn’t work in the partial message solution. If I clicked on the lined-out letter, it would blink (blink was a native text action in FB) the original selected letter that caused the lined-out letter to be implicitly selected. Clicking on the original (circled) letter, unselected it, removed its circle indication, removed the diagonal strike-out from its three siblings, and removed their text contribution from the partial message solution. In other words, an “undo”.
The square was displayed in four different orientations - equivalent to seeing the original cipher with the four rotations of the deciphering sheet. That can be a lot of screen real estate. But you kind of have to view it that way because you “see” things in each of the 4 different orientations and little correct guesses converge to a solution. I can’t imagine it would work as well if I had just one grid and was able to rotate it. You’d have to keep more “in your head” vs seeing all four rotations together.
So my needs have nothing to do with displaying pulled data from a database. It’s more filling the grid, column by column or row by row from a block of text characters and then being able to swap (click and drag) individual columns around. Or click and drag to slide the contents of individual columns up and down. And the ability to change the text content of individual cells with circles, diagonal strike-throughs, and blinking. I suppose I could replace the circle and diagonal strike-through with different background color (or use a more common horizontal strike-through). I didn’t have a color option with the PB-180. Blinking the letter was kind of neat. I supposed I’d have to do that now by flipping the color of the text from its original to the background color of the cell in a loop triggered by Key Down?