Re: [Audyssey] Technology Changes was Crisis averted
Hi Thomas, Actually, no, I have never made a button or even ever used the VB 6 toolbox. I have seen that button example and it just confused me. Some of my programs do have the ok, cancel type buttons but they came from me using the InputBox or MSGBox. You know like g$ = InputBox( Enter Last Name , ) But thank you very much for the button example. If I could see more clear examples where it defines and uses such things, maybe I would catch on. You know your example defined the button and then gave it the text, now I imagine that you would put your program in a loop until some variable of the button1 changed right? TGIF and BFN Jim Hmmm.. what's this red button foº½¯°·¼NO CARRIER j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Jim, No, there is no need for a loop to check the state of a button. This is where Windows events come into play. If you declare a button clicked event in your application for a specific buttonyour application will perform the correct action when it recieves an event notification from Windows. Since you may or may not be aware of how Windows events works here is a brief explanation of what they are. Basically, Windows is what we call an event driven operating system. What that means in normal language is that everything you do on your computer such as using your keyboard, moving or clicking the mouse, etc sends a message to Windows to perform some sort of action we call an event. This message is then handled by Windows and then is passed on to the application where the event was first recieved. The application will recieve the event notification and perform whatever task was requested. So if you pointed your mouse at an Ok button in application x and pressed the left mouse button Windows would first trigger a left button clicked event at position x and y. It would then compare that information with the active window or application, and pass the message on through the message pump to the active application. The active application for its part would compare the clicked event with a list of possible defined eventsin the application, and perform the one that matches the event notification. That's an over simplification, but I think enough to explain a bit how events work in general. Anyway, I'm beginning to see why object oriented programming confuses you. Most students, VB 6 or otherwise, usually get their first glimce at object oriented programming by day 1 or day 2. I can remember my first VB 6 program was a simple dialog with a text label that said Hello World! and a Close button. After we created that program the prof then had us open up the code editor where he explained how the code worked line by line. That way as we programmed we were getting new terminology as well as code examples in a logical progression. At that point we didn't need to know what an object was as long as we could identify that buttons and text labels were indeed objects, and tell them apart from regular variables. After we mastered how to program a certain thing we were then given a more in depth technical explanation of how and why it worked with all the terminology for what we were looking at. In other words we learned object oriented programming in a logical step by step manner building idea upon idea, concept upon concept, principle upon principle until it all became clear to us. As you yourself have said you are self-taught by looking at code examples on the web and elsewhere. That to me is like trying to look through a telescope from the wrong end. What you got is the big picture without actually learning all the little bits and pieces that make up that big picture, and as a result you have assembled the pieces you understood together the best you could. Unfortunately, object oriented programming isn't something you can look at from the big picture point of view and understand it fully. You really do need the step by step, build idea upon idea, principle upon principle, type of training to fully master the technique. You need to know each little step or component in the process so that when you fully assemble them you get that big picture. I'm not saying any of your games are bad. I'm amazed how well Monopoly, Football, and your other games run from someone who taught himself to program. However, I figure there probably were easier and more practical ways to create those games you didn't know about or missed simply because you weren't aware of other design alternatives. I made plenty of mistakes myself in the early days. Not too long ago I found some text games I wrote in the early to mid 90's in C++. Back then I wasn't real familiar with object oriented programming design concepts so I did it the hard way. I created variables for every player, character, everything in the game even though I didn't need to. Once I learned about classes and objects I realized I could have created one class to store all of the functions/variables, and been done with it. Instead of hundreds of variables I may have only had 10 or 15 which could be cloned simply by adding a new object to the game. This is why I'm in favor of an object oriented design. It ultimately is a better design strategy once you understand it fully. Smile. Jim Kitchen wrote: Hi Thomas, Actually, no, I have never made a button or even ever used the VB 6 toolbox. I have seen that button example and it just confused me. Some of my programs do have the ok, cancel type buttons but they came from me using the InputBox or MSGBox. You know like g$ = InputBox( Enter Last Name , ) But thank you very much for the button example. If I could see more clear examples where it defines and uses such things,
Re: [Audyssey] Technology Changes was Crisis averted
Hi Thomas, Yes, I am amazed that my games run too. Always have been. But hey, I've been doing it successfully by trial and error for 30 years. I bet that you would be even more surprised that they run if you saw the code. grin Thanks for saying that you can understand why one may not be able to catch on to object oriented programming by trial and error as I have done with procedure type programming. TGIF and BFN Jim A Buckeye is just a worthless nut. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Peter, I've got the same opinion and problem with object oriented programming. Every tutorial I have tried to read starts out using terms that I don't know or understand, so I am lost right from the get go. It may have been the same 30 years ago if I had read a tutorial, but I didn't. I just typed in some example source code and started experimenting with it. So now I have been experimenting with sample source code for 30 years. Well and getting help from other programmers now and then as well. BFN Jim A living example of Artificial Intelligence. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Thomas, May I ask, what is the Win32 API? What is an API? I don't know such terms. I just write code in the VB6 form load area and sub routines and they run. You gave me a programming example once that was something like c:\%\users\% something something. VB6 did not like anything like it. The closest that I have is the CurDir function which of course returns the current path. The only related topics are ChDir, ChDrive, MkDir and RmDir. Yes, I have never used any of the torrents stuff. I spend almost all of my computer time doing Email for support of my games and staying in touch with people. And more so creating and test playing new games. I do have a News Groups robot program that has scarffed me tens of thousands of sound files. I have just bought a Book Sense XT Machine and gotten signed up on the Bard site. But almost all of the music and movies I have I have bought. You know like from WGBH. I do know of a site or two where I have gotten other described movies from though. Other than say Gold Wave I write my own little software to do other things that I want. You know like keep addresses, daily medical test results, Email etc etc. BFN Jim Computers aren't so smart, they do what we tell them to do. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Thomas, Forgot, the tag line I wrote was just to be a funny to illustrate that if I were to join all of those that I have been asked to, I would never get anything else done. grin BFN Jim BTW I am not on AIM, AOL Instant messenger, BlinkNation, Face Book, Handy, ICQ, Klango, msn, My space, Skype, System Access Mobile Network, twitter, Vinux, Windows Live messenger, yahoo Messenger or any Blog. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Peter, Oh, object oriented programming is not that bad. I think it is simply a matter of having the right person explain it to you. Regardless of what you and others think about object oriented programming it is a much better design than procedural programming by far. Let's look at this in down to earth language you and others might be able to understand. To begin with let's think of a specific thing you want to create in your program such as a dog named Sparky. Well, what is Sparky?Sparky is a dog. What is a dog? It is an animal of course. So you might begin your dog Sparky by creating a class named animal. The animal class might contain functions and variables specific to animals such as height, weight, hair color, walking, swimming, etc. After you have completed the animal class you could in theory begin creating all kinds of animals, but it is not specific enough to create a dog. So we will now create a class which inherits animal, but adds some additional functions and variables to let our dog bark, roll over, wag his tail, etdc. In other words instead of having to rewrite all the animal functions and variables over again we can simply declare that the dog class is an extention of the animal class so when programming the two are joined by the compiler as one class. However, we don't have a specific dog yet. Now, at this point in the main part of our program we will want to create a new dog object called Sparky. We can easily do so the same way we initialize variables such as Dog sparky; which creates a new dog named Sparky for use in our program. Why is this better than procedural programming? The main reason is that the class structure allows you to devide your functions and variables up by classification or type. Functions and variables for animals goes in the animal class just as functions and variables specific to a dog go in the dog class. Therefore all functions and variables are directly associated with the type of object that you want to create in your program. Functions and variables specific to a horse such as trot will not be accessible to a dog object, nor will barking be accessible to a horse object. It is really structured, logical, and clean coding. However, the advantages of object oriented design don't stop there. Another powerful feature of object oriented programming is that you can reuse the same code over and over again hundreds of times over. In other words once you have created the necessary class or classes for a specific type of object you can create hundreds of objects using the same variables, same functions, etc over and over again without having to rewrite one single line of code. Using our example above once you have created your dog class you have all you need to create anywhere from one single dog to one million dogs. When you initialize the objects like Dog buddy; Dog rover; Dog sparky; all you are really doing is telling the program to clone the dog class x number of times, but let each dog object act independantly of each other. This is vastly easier, faster, and more effective than a procedural programming design where you might have to create hundreds of variables, functions, etc by hand where object oriented programming will allow you to simply clone them as you hav need. Finally, I briefly touched upon inheritance earlier. What makes this feature of object oriented programming nice is it allows you to extend existing classes as needed without changing the base class or classes you are inheriting. If you have a player class in a game engine and you need to make a specialized player class such as a Jedi class inheritance makes this job very simple. All you have to do is create a new class called Jedi, and tell it to inherit the primary player class. In your Jedi class you can add special functionality for handling the Force, carrying a light saber, and other specialized functionality without having to change the player class and game engine at all. In terms of languages like VB .NET, C# .NET, etc the .NET Framework is a massive library of classes, functions, and variables for doing all sorts of programming tasks such as drawing windows, managing timers, performing common math calculations, opening/saving files, whatever. It is possible because object oriented design allows for some extremely complicated programming to be done simply, and allows a developer to create hundreds of buttons, timers, list boxes, etc simply by creating a new instance or object of the proper class.Then, setting its properties as necessary. HTH peter Mahach wrote: I looked at object oriented programming and let me tell you it sucks. if you're a newbie like me it's too much difficult turms and whatnot. calling some sort of an api to set a hotkey to do something... is an example I took from wineyes's script manual, which uses VBScript. bottom line, object oriented programming would, if I was forced to use it, would cause
Re: [Audyssey] Technology Changes was Crisis averted
Hi Jim, Basically, the term API referes to a collection of libraries, dll files for Windows users, that contain related functions shared by a particular type of program. In this particular case the Win32 API is the core programming API shared by most Windows programs. It contains such dll files as: kernel32.dll, user32.dll, winfax.dll, winsock.dll, to name a few of the more common libraries. As it happens DirectX is another API only specifically designed for multimedia applications like games. Even though DirectInput, DirectSound, DirectPlay, Direct3D, etc all have different functionality collectively they form what we call an API. HTH Jim Kitchen wrote: Hi Thomas, May I ask, what is the Win32 API? What is an API? I don't know such terms. I just write code in the VB6 form load area and sub routines and they run. --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Jim and Peter, Ah...I can see how that might be something of a problem. Not being aware of the technical terminology is certainly reason to be confused and not be able to understand the tutorials and code examples. Here is a very brief crash course on some of the common object oriented terminology used in Java, VB .NET, C# .NET, etc that use an oop design. Class: This is a way of organizing related functions and variables according to a specific type of object or objects contained in your program. Inheritance: This is the method by which a developer extends the functionality of one class by creating a newer subclass containing specialized functions and variables. Polymorphism: This is a fancey way of saying that a class contains one or more functions of the same name, but accepts and returns different parameters.Unlike procedural languages that will allow for only one function of a particular name object oriented languages will allow you to declare several functions in the same class using the same name, but will take different parameters as needed. Object: This can be anything such as a button, window, car, robot, dog, cat, horse, you name it. Objects are created by creating a new instance of a particular class much in the same way you would initialize a variable, but unlike variables these objects can call variables and functions contained in the class it points to. Override: This is a method in which a developer can override the default functionality of a function in a particular class by declaring a new function in a subclass with new parameters. This is not to be confused with polymorphism which only takes place when the two functions are contained in the same class. Serialization: This is a method in which a developer converts the contents of a particular object to a binary stream and then sends it over a network connection or sends the stream to a file for storage. At some later point the stream is later deserialized, and converted back to the original state of the object. Serialization is primarily how game developers such as myself save games simply by seralizing all of the games objects, writing them to a binary file, and later reversing that process when the game is loaded. It is much more easier than writing the data to a text file, and later reading that information back in line by line. HTH Jim Kitchen wrote: Hi Peter, I've got the same opinion and problem with object oriented programming. Every tutorial I have tried to read starts out using terms that I don't know or understand, so I am lost right from the get go. It may have been the same 30 years ago if I had read a tutorial, but I didn't. I just typed in some example source code and started experimenting with it. So now I have been experimenting with sample source code for 30 years. Well and getting help from other programmers now and then as well. BFN --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi, One last thing i almost forgot to mention. VB 6 does use some oriented design principles, and I suspect you have used them without knowing them. Here is a simple example. Have you ever created a button using the VB 6 toolbox? If so it will add a line like Dim button1 As Button which creates a new instance of the VB 6 Button class called button1. Once created you can do something like button1.Text = Cancel which calls the Button class's Text variable, and sets it to Cancel for the button1 object. This is not rocket science, but does need some explanation if you want to fully understand what is happening behind the scenes. Jim Kitchen wrote: Hi Peter, I've got the same opinion and problem with object oriented programming. Every tutorial I have tried to read starts out using terms that I don't know or understand, so I am lost right from the get go. It may have been the same 30 years ago if I had read a tutorial, but I didn't. I just typed in some example source code and started experimenting with it. So now I have been experimenting with sample source code for 30 years. Well and getting help from other programmers now and then as well. BFN --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
Hi Jim, Ah...I see. Although, Vinux is a modified Linux operating system with some extra enhancements for the blind and visually impaired. I'm not sure what extras are included, but it doesn't really have anything to do with Aim, MSN, Facebook.com, Myspace.com, and all that. Smile. Jim Kitchen wrote: Hi Thomas, Forgot, the tag line I wrote was just to be a funny to illustrate that if I were to join all of those that I have been asked to, I would never get anything else done. grin BFN Jim BTW I am not on AIM, AOL Instant messenger, BlinkNation, Face Book, Handy, ICQ, Klango, msn, My space, Skype, System Access Mobile Network, twitter, Vinux, Windows Live messenger, yahoo Messenger or any Blog. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org.
Re: [Audyssey] Technology Changes was Crisis averted
I looked at object oriented programming and let me tell you it sucks. if you're a newbie like me it's too much difficult turms and whatnot. calling some sort of an api to set a hotkey to do something... is an example I took from wineyes's script manual, which uses VBScript. bottom line, object oriented programming would, if I was forced to use it, would cause me to suicide from frustration, lol! - Original Message - From: Thomas Ward thomasward1...@gmail.com To: Gamers Discussion list gamers@audyssey.org Sent: Wednesday, October 14, 2009 8:14 PM Subject: [Audyssey] Technology Changes was Crisis averted Hi Jim, Yes, in many ways Visual Basic .NET is like a new programming language compared to Visual Basic 6. As you pointed out it is fully object oriented rather than procedural programming which may come as something as a new concept for old VB 6 programmers such as yourself. Not only that but instead of the Visual Basic runtime environment and the Win32API Visual Basic .NET uses the .NET Framework which is something else a Visual Basic programmer must learn in order to switch to VB .NET. However, having programmed in VB 6 and now VB .NET 2008 I much prefer VB .NET for several reasons. Not the least of which Windows Vista and Windows 7 natively support VB .NET applications out of the box, and VB 6 apps aren't. As far as getting the user's application data folder in Visual Basic 6 I think you should be able to do it. After all it is part of the Win32 API, but I don't have the proper code right off the top of my head. It has been years since I touched VB 6, and I don't want to point you in the wrong direction. If it were a matter of VB .NET I could easily give you a code example since I am more familiar with VB .NET these days. As far as viruses and other security issues goes it has a lot to do with a persons computer habbits and use as well as basic security measures. As you pointed out you don't make any use of instant messenging, don't get on group sites like facebook.com or myspace.com, etc. I would also say you probably have no interest in downloading software, music, and movies via torrents. Bottom line, you only use a fraction of what the internet has to offer, and you are at a lower risk of getting a virus or some other nasty piece of malware as a result of it. In my personal experience the security problem is two fold. Not only is the computer not secure from a security point of view, but often the end user makes heavy use of the internet downloading pirated music, movies, software, photos, whatever without varifying it comes from a trusted source. Often times these people fall victim to the old bate and switch trick. They'll get an e-mail claiming there is a new recipe or naked picture of some famous actress and the person opens the attachment only to find it was a virus. There are lots and lots of ways to be infected, but most of it comes down to not being careful, and not using proper security tools and practices in the first place. Smile. Jim Kitchen wrote: Hi Thomas, Yes, I am still developing in VB6. I have been told that all Visual Basic versions newer than that are a totally different type of programming. You know the object oriented thing. And I have not been able to rap my head around that since I have programmed in the other type of Basic for 30 years. I may be wrong here, but I do not believe that VB6 can support the writing to the end users local directories thing. I did try looking for that ability in VB6 and could not get it. You are also correct that I run my computer as administrator all the time. Now I am going to jinx myself. I have in 30 years never had a virus, hard drive crash, registry error or even had to re due a hard drive or anything like that. I do run virus protection on my Internet computer but have no other system tools. Well I do run the system hard drive defrag, but that is it. BFN Jim BTW I am not on AIM, AOL Instant messenger, BlinkNation, Face Book, Handy, ICQ, Klango, msn, My space, Skype, System Access Mobile Network, twitter, Vinux, Windows Live messenger, yahoo Messenger or any Blog. j...@kitchensinc.net http://www.kitchensinc.net (440) 286-6920 Chardon Ohio USA --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at http://audyssey.org/mailman/listinfo/gamers_audyssey.org. All messages are archived and can be searched and read at http://www.mail-archive.com/gam...@audyssey.org. If you have any questions or concerns regarding the management of the list, please send E-mail to gamers-ow...@audyssey.org. --- Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org. You can make changes or update your subscription via the web, at