Quote Originally Posted by SilverWarior View Post
Do you know that each form, control, component is objec/class? So while you think that you don't work with objects/classes you are. The only difference is that you only use existing predefined classes and don't define new ones by yourself.
Obviously, if someone uses forms and components is working with classes. But I prefer to write the core/functionality of each program without using oo and just use the VCL for the user interface. It's, let's say, my personal way of programming. In most cases when I'm using classes is when I have to make a component, in fact I'm still using components I've made a long-long time ago, some of them are still in my old page (http://www.geocities.ws/jimmyvalavan...phi/index.html). But as I said, I prefer "procedural" programming.

Quote Originally Posted by SilverWarior View Post
But object/classes are whats making object orineted programing language to what they are. When used properly they can be verry powerful.
Sure, but on the other hand there is nothing you can do using classes that can not be done procedurally. I'm talking on problem solving / solution aspect.

Quote Originally Posted by SilverWarior View Post
For instance. Lets say that you have your own class defining some ingame character. This class can contain various properties and even methods.
Properties act similar to variables but the main difference is that you can assign special so caled getter/setter methods to each property. In setter method you can for instance validate that new value of this property is valid before you change it to a new value. In getter mehod you can even calculate the result from several different variables. The best thing is that all this is being done automaticly.
Methods can be used for executing some special parts of code wich is related to this class.
Data validation can be done as well as without using classes. An, well, nothing is being done automaticaly, you still have to write the code for the class. Instead of writting a procedure that evaluates a result from different variables you write the "getter" function. Instead of writting a "setter" funcion for your class, you write a validation function before setting the data. It's the same thing.

Now imagine that you have a few hundred available fuctions to define the behaviour of you character. What will you do? Write a class with hundreds of member functions, all in the same unit, having a 1MB source code unit, or using functions and split the source code into more units? From my point of view the second solution seems easier to maintain.