|
I'm not sure but it maybe that when you change an Item (like you do) the SelectedItem property gets cleared. Try to BP just after the ListBox1.Items.Item(ListBox1.SelectedIndex) = and see what's the value of SelectedItem now. And check also SelectedIndex if it goes to -1 (no item selected).
If SelectedIndex is still valid but SelectedItem goes blank than you can easily fix it with:
Dim ConfigData As New ArrayList(Cstr(ListBox1.Item(SelectedIndex).Split( "|"))
If also SelectedIndex is cleared you should save it before to a temp variable and restore it just after setting the item value.
hope it helps
|
|
|
|
|
Could anyone give pointers to how i can combine unicode characters in vb or vbscript. I intend to combine the lattin small and capital letter e with an acute/grave with a dot below. thanks
larry_larry
|
|
|
|
|
Hi all,
I have discovered a very strange, if not disturbing, behavior performing a simple calculation using Single datatypes in VB.NET.
Here's the code:
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Single = 0.3
Dim y As Single = 0.05
x += y
x -= 0.35 ' Test if this value is present in calculations
End Sub
If you step through this code while watching the values of x and y in the Locals or Watch windows, you will see that x = -0.3, y = -0.05, and x += y produces x = 0.350000024. This doesn't occur using doubles or decimals. The MSDN help says, '...Single-precision numbers store an approximation of a real number.' I'm not sure of exactly what they mean by 'an approximation'?
I work for a financial company, and we are all quite baffled by this. Any comments or ideas will be greatly appreciated!
Thanks
|
|
|
|
|
Financials should be using the Decimal type. It's more accurate than any number stored in IEEE 754 format, which Single is. This is NOT a problem with Visual Basic .NET. This is a limitation of the IEEE standard used to store floating point numbers.
IEEE 754: Standard for Binary Floating-Point Arithmetic[^]
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks for the information
The 754 standard link you sent has some outdated links that would otherwise point to more detailed information. However, I'm a bit purplexed regarding this arithmetic containing an error as large as 24 parts per billion, especially considering that a Single in .NET is capable of 45 decimal places for negative numbers! Financial calculations aside, this is huge error for a type capable of representing this many decimal places, isn't it?
|
|
|
|
|
Anonymous wrote:
especially considering that a Single in .NET is capable of 45 decimal places for negative numbers!
I think you're refering to the range of negative 3.402823e38 to positive 3.402823e38. These are the absolute limits of the numbers a Single can approximate. But since it is only 32-bit long, it cannot do it accurately. Under the 754 format, the 32-bit binary representation is actually holding two numbers that fill in an exponent formula that approximates the value you want. This is where the inaccuracy comes from. Since there is limited space to hold these two values, there is very limited precision.
This is by no means the fault of Microsoft and the .NET Framework. This is the standard format that has been used in Intel processors for decades.
There are other number formats that offer greater precision, but eventually, they all suffer from the limitations of binary math using in a finite numerical storage width.
If your doing financial calculations, you have to have a greater understanding of the data types your platform uses (Intel/.NET Framework), what standards those types follow, and what the limitations of those standards and types are. Then you'll be able to select the datatypes and coding techniques that will limit math errors within controlable specifications, if not eliminate them for you, depending on your requirements.
A Single is an IEEE754 32-bit signed value.
A Double is an IEEE754 64-bit signed value.
Here's the scoop on the Decimal type, straight out of the Docs on MSDN:
The Decimal value type is a 128-bit representation of decimal numbers ranging from positive 79,228,162,514,264,337,593,543,950,335 to negative 79,228,162,514,264,337,593,543,950,335. The Decimal value type is appropriate for financial calculations requiring large numbers of significant integral and fractional digits and no round-off errors.
A decimal number is a signed, fixed-point value consisting of an integral part and an optional fractional part. The integral and fractional parts consist of a series of digits that range from zero to nine (0 to 9), separated by a decimal point symbol.
The binary representation of an instance of Decimal consists of a 1-bit sign, a 96-bit integer number, and a scaling factor used to divide the 96-bit integer and specify what portion of it is a decimal fraction. The scaling factor is implicitly the number 10, raised to an exponent ranging from 0 to 28.
Therefore, the binary representation of a Decimal value is of the form, ((-2^96 to 2^96)/ 10^(0 to 28)), where -2^96 is equal to MinValue, and 2^96 is equal to MaxValue.
What this means is that the Decimal type has the capability to adjusts it's precision to match the requirements of the value. If you have an extremely large number, you usually don't have a need to be accurate to the right of the decimal point. The opposite is also true. For very small numbers, precision to the left of the decimal gives way to precision to the right of it.
I highly suggest reading this[^].
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I'm currently developing a VB.NET application and I intend to completely deny users access to the database (i.e making it impossible for users of the application to see the database file e.g mydatabase.mdb) in the installation directory.
If this objective can be achieved, what database would you suggest,and how do I abstract it from the user?
lutherium - feel the weight of object-oriented programming
|
|
|
|
|
have you considered putting a password on the database?
|
|
|
|
|
Just a thought....
You can use XML files to store your data and can encrypt the XML files. After encryption, user can access the files, but will not be able to see the data.
- ashish
|
|
|
|
|
Hi,
How to create a webbrowser in VB.net including Fav, View Source ....
Thank you
|
|
|
|
|
You can add COM component, something called AxBrowser to have capabilities of browser in VB.NET.
Check if it works for you...
- ashish
|
|
|
|
|
1) We have the ChannelSecure SiteMinder agent that provides login authentication to external users of the application
2) After user logs in, an HTTP request is generated for the Redirect application that sits on the DMZ. This is a web application that implements the IHttpHandler interface. It performs URL rewriting and generates request to the AES application. It also routes the response from the AES application back to the client.
3) Now after the session times out, and the page is posted, we get a HTTP 404 Page not found error. We have a mechanism to redirect the user to an error or login page if the session times out. But in this case, it does not seem to work.
4) HOWEVER, after you get the 404 error, if you simply refresh the page, it redirects to the logout page.
5) There are exceptions being thrown and caught when the session times out.
|
|
|
|
|
hi all;
I want when I load my programme(EXE) in vb.net count how many times I load it.
THANKS;
Please replay or.send
amr_cis@yahoo.com
|
|
|
|
|
hi there,
just count the number of the execution statement is executed.
if u worry about losing the number when the application is closed, u just store this number in some where. And ur application has to load it whenever it's loaded
<< >>
|
|
|
|
|
|
everytime ur app is loaded, load the value from a file that is specified before into an counter variable and just increase the counter.
And before app is closed, write this counter into a file.
<< >>
|
|
|
|
|
but the this will low the security of the programme;
for example if I put the password and I want to change it;
AMR-CIS
|
|
|
|
|
but this will low the security of the programme;
for example if I put the password and I want to change it;
AMR-CIS
|
|
|
|
|
Wait! Are you saying that you want your program to only run a certain number of times before it breaks or locks itself?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Maintain the Count in Registry !! ie when fetch the count from the registry and closing increase the count. To Store and Retrive values from the Registry is available in the system.microsoft.win32.registry
Gopi.V
Easy Design Systems[Coimbatore], India
|
|
|
|
|
How can you write code here;
AMR-CIS
|
|
|
|
|
The following code should work:
-Make an appform with 2 textboxes: TextBox1 and TextBox2.
-Add two buttons: btnSaveSettings and btnGetSettings.
-code for btnSaveSettings: SaveMyNumber()
-code for btnGetSettings: GetMynumber()
-DONE!
-enter text in TextBox1 > press savesettings
-press get settings and the nuber you entered in TextBox1 should appear in TextBox2!
-if you restart your computer, run the app, press getsettings your saved text will be shown again.
<br />
Imports Microsoft.Win32<br />
<br />
Dim MyNumber as string<br />
Dim MainKey As RegistryKey = Registry.CurrentUser.OpenSubKey("Software", True)<br />
Dim MyKey As RegistryKey = MainKey.CreateSubKey("MyKey")<br />
<br />
Private Sub SaveMyNumber()<br />
If not TextBox1.text = "" then<br />
MyNumber = TextBox1.text<br />
MyKey.SetValue("MyValue", MyNumber)<br />
else<br />
exit sub<br />
end if<br />
End Sub<br />
<br />
Private Sub GetMyNumber()<br />
TextBox2.text = MyKey.GetValue("MyValue")<br />
End Sub<br />
Next you can check your value in the registry:
-Start > run > type "regedit" and press enter.
-open HKEY_CURRENTUSER > SoftWare > MyKey and there it is!
You just created this key.
You can delete it (MyKey) by right clicking on MyKey and select Delete, but beware!!! dont delete the wrong keys, it messes up your system!
|
|
|
|
|
yes that excatly what I want.But dont tell me to write in
text file and start to count ok I dont need this idea .ok
THANKS
AMR-CIS
|
|
|
|
|
You'll have to get VERY creative in where you hide this count. Encrypting it using a reversible algorithm is usually the first step. The next is finding a place to hide it. It usually a good idea to hide the value in multiple places, like in the Registry and in files, to make it harder to crack your protection scheme.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I am using vb6.0 for my application and connect to ms access 2000 database. I have 2 tables, table1 and table2. table1 is the parent and table2 is dependent on table1. for example, table1 has these columns, a1,a2,a3,a4,a5,a6,a7 and table2 has a1,a2,b1,b2,b3,b4,b5. a1 and a2 are the primary keys hence they link the two tables. the relationship is 1-many. now i have i form in vb and i want a uqery that is when i supply a parameter to search for, it has to look in both tables and display the results in 1 form but from two tables, table1 and table2. In access this is not a problem since i can create two forms based on the tables and then let the other form be a parent and the other a child, but in vb, I have no idea.
Can anyone help.
phokojoe
|
|
|
|
|