FORMS madnes

Got a LiveCode personal license? Are you a beginner, hobbyist or educator that's new to LiveCode? This forum is the place to go for help getting started. Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller

Post Reply
sadarahu
Posts: 12
Joined: Sun Oct 12, 2014 8:23 pm

FORMS madnes

Post by sadarahu » Sat May 16, 2015 5:21 am

I really wanted to like LC, but using it is like going against the stream. I wonder why LC has to be so different from the rest of the world ?
Just as an example: FORMS - in my opinion - have nothing to do with (what I called) forms. They are grids (or tables), so why some stupid designer decided to call it forms. To be honest I've nver seen something so confusing in the development environment. I was looking for buttons, fields, dropdown lists, radio buttons, etc. but all I find is refference to grid. The whole concept of grid/form seems to be insane and out of common sense. It is like pointing at car and calling it "bicycle".
After my first attempt of using LC I decided to come back and take look at the tool again (hoping for some changes. Unfortunately I have found LC even more confusing this time.

Arthur

Klaus
Posts: 14199
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: FORMS madnes

Post by Klaus » Sat May 16, 2015 1:14 pm

Hi Arthur,

no idea what your problem is, but we do not have any FORMS in Livecode!
We have a custom control named DataGrid which ca be of type "TABLE" or "FORM" (singular)!

So what exactly are you complaining about? 8)


Best

Klaus

dave.kilroy
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 858
Joined: Wed Jun 24, 2009 1:17 pm
Contact:

Re: FORMS madnes

Post by dave.kilroy » Sat May 16, 2015 3:22 pm

Hi Arthur

I wonder if when you refer to 'forms' you are thinking how Visual Studio used to use the word? - if so then in LiveCode a form is a card...

Kind regards

Dave

PS: if I've guessed wrongly please explain some more...
"...this is not the code you are looking for..."

SparkOut
Posts: 2947
Joined: Sun Sep 23, 2007 4:58 pm

Re: FORMS madnes

Post by SparkOut » Sat May 16, 2015 3:29 pm

The concept of a stack, comprising cards has been the backbone of LiveCode through Runtime Revolution to its origins in HyperCard. Each card in a stack is what you are thinking of as a "form". Each card can have all sorts of controls on it, fields, buttons, checkboxes, everything you are looking for. What you have discovered described as a "form" is a special type of display format of a datagrid, which is one of the types of control you can have on a card. Datagrids are the most complex controls in LiveCode and not the best place to be beginning. But it was Trevor Devore, one of the geniuses of the LiveCode community who created them, and not some stupid designer. The terminology is a distinction from what is already known as a card. But it is only terminology. And I would not be surprised if it turned out that a "card" predated the notion of a"form".
A really good idea would be to look up the Scripting Conferences, especially the one about Anatomy of a Stack.

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10052
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Re: FORMS madnes

Post by FourthWorld » Sat May 16, 2015 4:42 pm

sadarahu wrote:I really wanted to like LC, but using it is like going against the stream. I wonder why LC has to be so different from the rest of the world ?
If LiveCode were just like some other language, why would anyone bother to undertake the expense of making it? It would be far simpler to just use the thing it would be copying. Never build what you can buy.

LiveCode exists because it's different. It does indeed require an uncommon conceptualization and workflow, and in exchange it delivers uncommon productivity for a wide range of application development needs.
Just as an example: FORMS - in my opinion - have nothing to do with (what I called) forms. They are grids (or tables), so why some stupid designer decided to call it forms.
As the others here have noted, LiveCode has no object it calls a "form", and not surprisingly it refers to its DataGrid object as a "DataGrid".

The word "Form" doesn't appear anywhere in the IDE's Tools palette or menus from which objects are created, and is used only once in the IDE's Inspector as one of the two styles the DataGrid object supports, the other being "List". Both words seem reasonably well chosen to distinguish each style from the other, as the "Form" style of a DataGrid object allows each cell to contain an arbitrary layout of fields, buttons, and other controls, much as one would expect with a "form" in more common tools like VisualBasic.
To be honest I've nver seen something so confusing in the development environment. I was looking for buttons, fields, dropdown lists, radio buttons, etc. but all I find is refference to grid.
In every shipping version of LiveCode, to find buttons, fields, and other objects you need only look a few pixels away from where you found the DataGrid: in the Tools palette the DataGrid is the sixth icon down on the right side, and all of the icons surrounding it allow you to create the other objects you're looking for.

If the meaning of those icons is unclear you can hover the mouse over them briefly and a descriptive tooltip will appear.

You can also create new objects by choosing the descriptive label of an object type from the Objects->New Control menu.

To learn about the range of objects LiveCode offers and the messages and properties you can use with them, the Dictionary has a set of filters in its left pane for that.
The whole concept of grid/form seems to be insane and out of common sense. It is like pointing at car and calling it "bicycle".
Another metaphor might be to decide you want to test drive a car, and then climb into the back seat and express disappointment that the car is poorly designed because you can't find the steering wheel there. If the car's design is adventurous enough to use gull wing doors and you're in a rush to get in such a mistake may be understandable; LiveCode is very adventurous.

Every toolkit and language is different because it wouldn't be worth anyone's time to merely copy something that already exists. There are hundreds of great languages, each requiring a bit of a learning curve, and for developers experienced with something else each new language they pick up will also require an unlearning curve. This is natural and to be expected, and LiveCode is no exception to the dynamic that occurs whenever we encounter something new to us.

If you've decided in advance that any language will be useful to you only to the degree that it's like another language, you'll save much time and frustration just using the one you already enjoy. Don't use Clojure if you want to write C++; Haskell is not without value just because it has almost nothing in common with Lua.

But if you're curious about learning what LiveCode may be able to do for you, the folks here can be enormously helpful in identifying how it's different from the languages you may be accustomed to, and how to get the most out of it.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Klaus
Posts: 14199
Joined: Sat Apr 08, 2006 8:41 am
Contact:

Re: FORMS madnes

Post by Klaus » Sun May 17, 2015 9:05 pm


dave.kilroy
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 858
Joined: Wed Jun 24, 2009 1:17 pm
Contact:

Re: FORMS madnes

Post by dave.kilroy » Mon May 18, 2015 11:42 am

Richard your point about an 'unlearning curve' is spot-on and chimes with my own experience (and observing how others fare when learning LiveCode)
FourthWorld wrote:Every toolkit and language is different because it wouldn't be worth anyone's time to merely copy something that already exists. There are hundreds of great languages, each requiring a bit of a learning curve, and for developers experienced with something else each new language they pick up will also require an unlearning curve. This is natural and to be expected, and LiveCode is no exception to the dynamic that occurs whenever we encounter something new to us.
"...this is not the code you are looking for..."

Post Reply