|
Edited on Thu Sep-16-10 05:24 PM by RandomThoughts
The Clipboard is a windows function. Ctrl C is a copy action that stored data to an OS specific item called the clipboard.
It allows easy sharing of data between applications. The way the clipboard works is if a program, and most are, is clipboard enabled then it can copy data, and the data format to an OS location called the clipboard.
Also programs can have clip board paste capability, where on a paste operation the data in the clipboard is looked at and the form the data is in is checked, then the program can decide what to do with that data.
Drag and drop is a similar mechanism.
Your comment on it being about hacking issues could be seen in that it allows interfaces between programs that are only partially defined by the program, what data forms to accept by a program, and what data forms can be copied or moved from one program to another.
I wrote a multi clipboard add on for MSVC Compiler I used for years, it stored clipboard data then with a click would post it into a program, I never understood why the clipboard only stores one data set, it should hold multiple data items. So I wrote one for when I use to program.
Basically the add on looked at the clipboard and stored any data in it allowing for more then one clipboard data item.
Whole tomato software, a pretty good compiler add on also has that functionality, However the add on I wrote has has a paste window open in a side window easily clicked on, and always open, I found to be an easier way to program. Whole tomato add on, also has some increased uses of bold italic and colors, adding more output once learned.
What I really wanted to do is make a compiler that displayed code not only in a text format, but in the same format as the brain thinks when programming. Specifically the call tree should be open on left and right of any file being worked on, based on what function the cursor is in, and inheritance above and below any function in a text file looked at. Then also using the extra information of color and style to add information to each word in the code. Although objects should be built in object orientated form, knowing the usage and connections of objects while coding different parts of objects helps with situational awareness while coding, although that is because I both design and code, as most coders actually do.
Ideally a 3d representation of class objects can be constructed showing a better view of all the structure of code, and also for easier reading of code where the structure of the code being displayed is in the same call tree and flow that the brain thinks of when coding. Currently it seems most coding is either you have to leave the current thought, and click on something to open a call tree, then return to thought, or you just look at a text file, and have to store the relationship between objects in other representative forms in other views, merging them together where the flow follows as you write functions with objects, although taking more monitor space, seems it would add to being able to program while staying in the zone while coding.
Although I haven't done software programming in years, don't even have a compiler loaded, and those ideas are from when I use to have a job as a software developer. I have noticed some of them partially implemented, and with new 3d monitors, 3d displays of object relationships becomes feasible.
On a side note, windows registry was a terrible idea, it hides much information used by programs, and breaks object orientations within a file system, seems better for ini files and such information to be localized within the same area as a program allowing for better individual folder security, and then to have file access security if hiding an item is desired. For shared objects, a central repository makes sense, but lowers program security, and access rules should be in the same location as a program to keep object approach to file system. The registry really allows for much actions to be done on a system outside of users views, and is part of many hacks used on peoples computers, including those done by systems like black rooms.
|