|
My problem is:
I have to rotate a picture for 180 degrees in VB 6.0 and show it in PictureBox/ImageBox. Does anyone knows how to do that?
Thank you
|
|
|
|
|
|
Hi all. This may be a silly question, but does anyone know definitively what the keyword "Sub" in Visual Basic is short for (or, perhaps "derived from" is a better expression)? Does it come from "subroutine", "subprogram", something else? Or did the VB creators just call it "Sub" with no intent to reference earlier forms of BASIC?
Or is "Sub" a bonafide keyword for BASIC (and not just Visual Basic)?
I'm not sure why I want to know... just curious, I guess.
|
|
|
|
|
I'm guessing it means subrouting. From earlier forms of basic "GO SUB"
"On two occasions, I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."
--Charles Babbage (1791-1871)
My: Website | Blog
|
|
|
|
|
Hi Colin. That was always my guess too - but I wondered (call it a geek obsession) if there were a definitive history to it.
|
|
|
|
|
I've always though it was 'subroutine', and took it for granted...now I wonder...
hey...slang is the vernacular for the vernacular...wow
|
|
|
|
|
FrankyT wrote: hey...slang is the vernacular for the vernacular...wow
Ooooohhhh....
|
|
|
|
|
It is short for "subroutine" - has been as long as I've been involved with computers.
...Steve
1. quod erat demonstrandum
2. "Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." I read that somewhere once
|
|
|
|
|
Page 422, chapter 9, of "Visual Basic 6 Complete", Table 9.5: Statements Supported in VBScript.
Sub - Declares a Subroutine
Looking at the example provided, a subroutine is a division or seperate event happening inside of an "event procedure" as described below.
Page 42, chapter 4, "Visual Basic 6 For Dummies"
In Visual Basic lingo, subprograms are event procedures (although some programmers may call them subroutines).
So my understanding would be that a "Sub" is actually an "Event Procedure" and a "Subroutine" is inside of an event procedure and seperated by a marker consisting of an apostrophe followed by a tilde ('~). The example is provided on page 441, chapter 9, of "Visual Basic 6 Complete".
Hope this helps, Garner
|
|
|
|
|
It's short for Subroutine.
It's an extension to the original BASIC language. In BASIC there are no subroutine structures, only the GOSUB command that jumps to a line number and returns using the RETURN command:
10 GOSUB 40<br />
20 END<br />
30 REM Here follows the subroutine:<br />
40 PRINT "Hello world!"<br />
50 RETURN
---
b { font-weight: normal; }
|
|
|
|
|
How can i make visualization like in winamp...
The sound frequency catcher...
You know what i mean... i hope so!!!
I need it for my project, actualy i want to know how to catch the sound frequency, dhe drawing is easy...
If u have ideas or know how to please answer me!!!
Thanks!!!
and
How to edit file Summary... Ummmmmmm when u right click on .mp3 file and properties you can edit summary is it possible in vb.net? To create a form where you can edit a summary for that file and save it? Please answer me...
Thanks again...
FeRtoll Software.net
------------
E-Mail me
WebPage
|
|
|
|
|
|
I'm a long time programmer, but new to Visual Basic and Windows programming. I typically write code on unix machines and these are always text based applications. I have VS.NET 2003 and I've been playing with VB.NET as of late. What I'm wondering is what type of control would I use or how could I do an app similar to Microsoft Money or QuickBooks or Outlook. I'm strictly referring to the User interface here. The top and left of the main form always stay the same but the panel on the right seems to change or redisplay based on the item picked in the left panel. How is this done? Thanks for the help. Any links to articles or tutorials would be great.
Thanks.
|
|
|
|
|
Dear Friends,
Can some one tell me how can i read the Data written on an image. I have an image created by a eye testing machine. When I tried to read the readings on it by different kind of OCR and other image to word converter but its not reading the numbers. Please can some one tell how can i make my own image reader so that i can read the numbers and letters on it.
Your quick response will be highly appreciated.
Thanks
Patel Murtuza.
|
|
|
|
|
You could read my image processing articles as a starting point ( mainly the edge detection stuff) This is a non trival task, however, and my articles won't solve it.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
I have a collection of objects (in this case, the objects are "Gauge Blocks"). Each Block in the Set (collection) has a length (i.e. 0.1009", 0.101"...). There are 81 Blocks in a Set. I need an algorithm that will determine what combination of Blocks are needed to build a stack for a given value of measurement, using the least amount of Blocks to build the stack. Also, I cannot use the same Block twice, because the Set only has one of each Block.
Example:
The inner width of the device being tested is 2.305". To manually build the stack from an 81 Block Set (or whatever size Set), I would normally start from the right most value of the tested dimension. In this case 5 is the right most value. I would locate a Block that has the same precision (2.305" has 3 digits of precision), so I would select a Block that has a 5 in the 3rd decimal place (i.e. 0.105" - The Blocks in each Set are NOT linear from 0.0001" to 4" in 0.0001" steps, which is why this is not as easy as I wish it was). Next I would find the next Block in the Set (2.305" - 0.105" = 2.200"), which is 0.2". That leaves me with 2", I use the 2" Block for a remainder of 0".
The typical Gauge Block Set includes the following values:
0.05,0.10,0.1001,0.1002,0.1003,0.1004,0.1005,0.1006,0.1007,0.1008,0.1009,0.101,0.102,
0.103,0.104,0.105,0.106,0.107,0.108,0.109,0.110,0.111,0.112,0.113,0.114,0.115,0.116,
0.117,0.118,0.119,0.120,0.121,0.122,0.123,0.124,0.125,0.126,0.127,0.128,0.129,0.130,
0.131,0.132,0.133,0.134,0.135,0.136,0.137,0.138,0.139,0.140,0.141,0.142,0.143,0.144,
0.145,0.146,0.147,0.148,0.149,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,
0.70,0.75,0.80,0.85,0.90,0.95,1,2,3,4
"Some people spend an entire lifetime wondering if they made a difference. The Marines don't have that problem."
( President Ronald Reagan)
|
|
|
|
|
You can use a recursive method to look for the valid combinations.
Make a method that takes a specific block and the space left in the device. Let it combine the block will all combination of smaller blocks. It does that by calling itself for each smaller block that still fits in the device, to find every combination using that block and any smaller block needed. Return the least number of blocks needed to fill the remaining gap.
---
b { font-weight: normal; }
|
|
|
|
|
Thanks, that's a big help. I'll post some code after I compile it.
Thanks again,
Scott Page
"Some people spend an entire lifetime wondering if they made a difference. The Marines don't have that problem."
( President Ronald Reagan)
|
|
|
|
|
If this is homework (which I'm sure it is), you should probably try it first and post questions if you get stuck. If somebody here does it for you, you lean nothing.
|
|
|
|
|
I work for Lockheed Martin as a Metrologist, this is for personal and work related intrests.
There would be no reason for this message board to exist if it wasn't here to help others out. I give my 110% and rarely ask for 1% in return, all I need is a faster way to build a Gauge Block stack.
Thanks for the post.
"Some people spend an entire lifetime wondering if they made a difference. The Marines don't have that problem."
( President Ronald Reagan)
-- modified at 16:02 Wednesday 5th April, 2006
|
|
|
|
|
To a certin degree you are correct, yet being a student and with entry level capability I would like to see the code, just to be able to store it in my memory to use at a future date.
|
|
|
|
|
This problem is usually framed in the guise of how to provide the least number of coins in change. See this Google search[^]
I had a thought that the 'greedy algorithm' would be a good choice but it did not find a solution to 2.305. (The greedy algorithm always takes the highest possible amount from the required sum, remainder and so on - almost opposite to the algorithm you proposed.) Maybe a least-spanning tree algorithm is the way to go?
I also note that with the sample set you provided, you cannot make up a stack of 0.06". Is this correct?
...Steve
1. quod erat demonstrandum
2. "Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." I read that somewhere once
|
|
|
|
|
Thanks for the post,
I am getting closer to my goal, but still no cigar (I mean stack). Below is the function I'm using to build the stack. In answer to you question about the 0.06" height, Block Sets are manufactured to cover nearly all possible heights seen in the manufacturing and Metrology worlds. If a value does not exist, there other methods used to measure those dimensions.
This function gets me as close as 2.203". I tested the function using 2.203" (correct result), 2.205" (still got 2.203"), 2.305" (still got 2.203"). The returned stack has the 0.101", 0.102" and 2" blocks used, so obviously, since I can't use the 0.102" block, I can't cover the last 0.102" of the height.
The Code:
<code>
'This function exists within a custom collection
Public Function GetStack(ByVal height As Decimal) As GageBlockCollection
Me.ClearUsedBlocks()
Dim Stack As New GageBlockCollection
If Me.HasEqualGageBlock(height) Then
Stack.Add(Me.GetEqualGageBlock(height))
Return Stack
Else
Dim PossibleBlocks As New GageBlockCollection
If height >= 1 Then
'Height is greater than 1", so find the block that makes eliminates the inch part
For Each Block As GageBlock In Me
If height - Block.Height > 0 AndAlso height - block.Height < 1 Then
Block.IsUsed = True
PossibleBlocks.Add(block)
height -= Block.Height
End If
Next
End If
'Find all blocks that are less than the remaining Height (the inch part has been removed)
For Each Block As GageBlock In Me
If Not Block.IsUsed AndAlso Block.Height <= height AndAlso Block.Height.ToString.Length = height.ToString.Length Then
If Block.Height = height Then
Stack.Add(Block)
Block.IsUsed = True
For Each B As GageBlock In PossibleBlocks
Stack.Add(B)
Next
Return Stack
Else
Stack.Add(Block)
Block.IsUsed = True
height -= Block.Height
End If
End If
Next
If Not height = 0 Then
For Each Block As GageBlock In PossibleBlocks
If Not Block.IsUsed AndAlso height - block.Height = 0 Then
Stack.Add(Block)
End If
Next
End If
For Each B As GageBlock In PossibleBlocks
Stack.Add(B)
Next
Return Stack
End If
End Function
</code>
"Some people spend an entire lifetime wondering if they made a difference. The Marines don't have that problem."
( President Ronald Reagan)
|
|
|
|
|
What if you take the remainder after subtracting the units, first div by 2 and check, then 3 and check. With what you have avaiable all you have to make up is a half inch. Just a thought, it's been running around back there all night.
|
|
|
|
|
Thanks to All for your help,
Here is the code that has worked on several target height values passed.
(Not quite sure how this "code" thing works yet)
<br />
'This function exists within a custom collection<br />
Public Function GetStack(ByVal height As Decimal) As GageBlockCollection<br />
Me.ClearUsedBlocks()<br />
Dim Stack As New GageBlockCollection<br />
If Me.HasEqualGageBlock(height) Then<br />
Stack.Add(Me.GetEqualGageBlock(height))<br />
Return Stack<br />
Else<br />
Dim PossibleBlocks As New GageBlockCollection<br />
If height >= 1 Then<br />
'Height is greater than 1", so find the block that makes eliminates the inch part<br />
For Each Block As GageBlock In Me<br />
If height - Block.Height > 0 AndAlso height - block.Height < 1 Then<br />
Block.IsUsed = True<br />
PossibleBlocks.Add(block)<br />
height -= Block.Height<br />
End If<br />
Next<br />
End If<br />
'Find all Blocks that are smaller than height<br />
For Each Block As GageBlock In Me<br />
If Block.Height < height AndAlso Not Block.IsUsed Then<br />
PossibleBlocks.Add(block)<br />
End If<br />
Next<br />
'Find combinations of blocks that are less that height<br />
Dim Done As Boolean = False<br />
For Each Block1 As GageBlock In PossibleBlocks<br />
For Each Block2 As GageBlock In PossibleBlocks<br />
If height - (Block1.Height + Block2.Height) = 0 Then<br />
Block1.IsUsed = True<br />
Block2.IsUsed = True<br />
Stack.Add(Block1)<br />
Stack.Add(Block2)<br />
Done = True<br />
Exit For<br />
End If<br />
Next<br />
If Done Then<br />
Exit For<br />
End If<br />
Next<br />
For Each Block As GageBlock In PossibleBlocks<br />
If Block.IsUsed Then<br />
Stack.Add(block)<br />
End If<br />
Next<br />
Return Stack<br />
End If<br />
End Function<br />
Thanks again,
Scott Page
"Some people spend an entire lifetime wondering if they made a difference. The Marines don't have that problem."
( President Ronald Reagan)
|
|
|
|
|