|
Hmm.. have you check the datatype on both arrays..
I believe you knew that Integer and Long were not the same things and it would throw exception if you compare those values.
or try to edit this line:
....
If arraylist1(r) = arraylist2(r) Then
....
replace with:
....
if CType(arrayList1(r), Object) = CType(arrayList2(r), Object) Then
....
you can replace Object data type into another data type but remember to set the sama data type on both side of comparison process.
|
|
|
|
|
Or...
Here we have 2 array list
ArrList1
--------
arrayA1 *
arrayA2 *
arrayA3 *
arrayA4 *
--------
ArrList2
--------
ArrayB1 *
arrayB2 *
arrayB3 *
arrayB4 *
--------
*= 1 dimensional array.
Lets say you want to compare arrayA2(n).Length with arrayB2(n).Length.
But before we compare the values, we need to compare the bounds of arrays.
-----------------------
Dim x as integer = ArrList1.GetUpperBound(0), _
y as integer = ArrList2.GetUpperBound(0)
if x = y then
For i as integer = 0 to x
If ArrList1(i).Length = ArrList2(i).Length Then
'put your code here
End If
Next
End If
You can't compare "arraylist1(r) = arraylist2(r)" because the value on both side is an array, not property of array.
Every array has properties(Length, UpperBound, LowerBound, i;e)
I mean you can't compare your gf with your friend's gf, except they properties such as skin color, cute face, height, etc.
Here sample code to copy an array from array list to a new array:
Dim newarr As Object() = ArrList1(1).Clone
Good Luck
-- modified at 4:59 Friday 4th August, 2006
|
|
|
|
|
I know this is very simple to you, but I could not debug the problem. I am writting a program to read everyline of a textfile. If the line has date as my format and an "Error" string, then it must go to the IF/THEN ELSE loop. But in fact, it can go to the IF/THEN ELSE loop even one of the condition is met. If I run my code today which is 8/1/2006, I expect to see is "8/1/2006 4:01:14 Error", but in fact, the result is 2 lines "7/1/2006 4:01:14 Error" and "8/1/2006 4:01:14 Error"
Would you please help me out. I would appreciate your big helps very much. Below is my text and code.
Tram88
This is the content of text file:-----------------------------------------------------------------
7/1/2006 4:01:14 Error
8/1/2006 4:01:14 Error
This is the VB.NET code:---------------------------------------------------------------------------
Dim eoFile As System.IO.File<br />
Dim eoRead As System.IO.StreamReader<br />
Dim ebStart As Boolean<br />
Dim eStart As String = Format(Today, "M" & "/" & "d" & "/" & "yyyy")<br />
Dim eEnd As String = "email notification started"<br />
eoRead = eoFile.OpenText(strFileEmailNotification) 'opens text file for reading<br />
Dim Pass As Integer = 0<br />
Dim eIntotalCount As Integer<br />
While eoRead.Peek <> -1 'reads until peek is -1, which is end of file<br />
Dim eLineOut = eoRead.ReadLine<br />
Dim estringtext As String = "Error" <br />
Dim eiLine As Integer<br />
<br />
If (InStr(1, eLineOut, estringtext, CompareMethod.Text)) And (InStr(1, eLineOut, eStart, CompareMethod.Text)) Then<br />
intTotalCount = CountStringInFile(strFileEmailNotification, estringtext)<br />
Pass = 1<br />
End If<br />
End While
|
|
|
|
|
I would write this a bit differently but I think this line ...
Dim eStart As String = Format(Today, "M" & "/" & "d" & "/" & "yyyy")
should be ...
Dim eStart As String = Format(Now(), "M" & "/" & "d" & "/" & "yyyy")
...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
|
|
|
|
|
Dear Steve,
First, I would say thank you very much for your consideration on my problem. However, I did apply your code but it is still the same, that means 2 lines can drop into the loop. I really get stuck on this, please help me out.
Thanks,
Tram88
|
|
|
|
|
In that case there could be something wrong with the data that's being read.
Run the code in the debugger and single-step it. Whilst doing this, watch the various variables for correct content.
Something is not what you assume it to be. From there we can make a better diagnosis.
...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
|
|
|
|
|
You could also change this code to have the DIM statements outside of the While loop. Note also the change to the If conditions (i.e. testing for a return value > 0 from InStr() rather than relying on an implicit type conversin to Boolean).
Dim eLineOut As String
Dim estringtext As String = "Error"
Dim eiLine As Integer
While eoRead.Peek <> -1 'reads until peek is -1, which is end of file
eLineOut = eoRead.ReadLine
If (InStr(1, eLineOut, estringtext, CompareMethod.Text) > 0) And (InStr(1, eLineOut, eStart, CompareMethod.Text) > 0) Then
intTotalCount = CountStringInFile(strFileEmailNotification, estringtext)
Pass = 1
End If
End While
...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
|
|
|
|
|
Dear Steve,
Based on your code, I do have a question for intTotalCount = CountStringInFile(strFileEmailNotification, estringtext)
If I run the code, I would like to see intTotalCount=1 . In fact, it is 2. Can you teach me how to program it.
Once again, thank you Steve,
Tram88
|
|
|
|
|
Tram88 wrote: Based on your code, I do have a question for intTotalCount = CountStringInFile(strFileEmailNotification, estringtext)
If I run the code, I would like to see intTotalCount=1 . In fact, it is 2. Can you teach me how to program it.
The CountStringInFile() function is not a standard VB function call. I presume you have obtained this code from somewhere else?
If it does what its name implies, then it will scan the entire file for any occurrences of the search string - in this particular case with the data you have already supplied in your first post, there are two lines which contain "Error" therefore the return value will be 2.
What I think you need to do is to change this line:
intTotalCount = CountStringInFile(strFileEmailNotification, estringtext)
to
eIntotalCount = eIntotalCount + 1
since intTotalCount does not seem to be declared anywhere and eIntotalCount is declared but not used. [Was this intentional?]
When your code exits, eIntotalCount will now contain the count of the number of lines in your file that have both the error string AND the date string for which you are searching.
...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
|
|
|
|
|
It's working now, Thank you very much Steve.
Tram88
|
|
|
|
|
hi, can any body help me to get data from database table containing one column to listbox.
Because, i want to add item name to the listbox and database table at a time.
Can anyboby help me
PLZ
rnr
|
|
|
|
|
I am trying to read a simple text file using the following code.
Dim objReader As StreamReader
Dim path As String
path = Me.filePath & "app.dat"
Try
objReader = New StreamReader(path)
objReader.ReadToEnd()
Me.DBUserID = objReader.ReadLine()
Me.DBPassword = objReader.ReadLine()
Me.DBServer = objReader.ReadLine()
Me.webserviceURL = objReader.ReadLine()
objReader.Close()
Catch Ex As Exception
MessageBox.Show("Cannot Read File:" & Me.filePath & " " & Ex.Message & Ex.StackTrace & Ex.Source)
End Try
Seems like it should work but i get a nasty exception that I do not understand.
"Request for the permission type 'System.Security.Premission.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
I have permissions to read or write any file I want in this folder. "C:/myprog/app.dat."
What am I doing wrong and what do I need to do to fix it.
I am using Visual Studio 2005 if that helps.
|
|
|
|
|
The error you're posting doesn't have anything to do with the permissions to the folder you have. It has to do with Code Access Security. Basically, the CODE doesn't have the rights to execute file operations, probably because you launched the .EXE from an untrusted network source.
Now, you have another problem.
objReader = New StreamReader(path)
objReader.ReadToEnd()
Me.DBUserID = objReader.ReadLine()
Me.DBPassword = objReader.ReadLine()
Me.DBServer = objReader.ReadLine()
This code will fail because you opened a file, read it all, then went a tried to read a DBUserID from it. Well, if the file pointer is at the end of the file, how's it supposed to read anything else beyond that? It can't. Remove the .ReadToEnd() line. You don't need it for anything.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
What is the easiest way to check for characters such as . or \ using VB.NET?
CiscoKid55
|
|
|
|
|
Have you looked at the IndexOfAny[^] method of the String class?
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
No but I will check into that.
Thank you
CiscoKid55
|
|
|
|
|
I put this in and it works great!
Thanks
CiscoKid55
|
|
|
|
|
Hi,
I m work in vb6.0 i want insert a special charector in Hirechieachal FlexGrid
for exampal "right mark"
|
|
|
|
|
What do you mean by "insert in a FlexGrid"?
I'm assuming you're talking about a string. You put a special character in a string just like any other character. (Pardon me, but my VB6 is a little rusty)...
Dim newString As String
newString = Left(oldString, 10) & Chr(characterNumber) & Right(oldString, Len(oldString) - 10)
The limitation is that the character you insert must exist in the font that you want the rest of the string to be in. If not, you're pretty much out of luck. You can't use different fonts inside the same string in the FlexGrid.
-- modified at 10:20 Tuesday 1st August, 2006
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hi.
I have a web application (RadioBecon) installed on one of the servers. I think it’s written in C# and of course doesn’t have any code behind (so I cannot modify it). The application uses license to track how many people are using it. Every time someone logs in it locks the license in DB. The session, which expires after some time (you can set it in the admin console), is supposed to kick people out and release the license in DB but for some reason it doesn’t do it when session time expires.
I went to wwwroot -> application folder and in the WebConfig file set session to 900 (15 min.). I’ve done that to make sure it kicks people out after 15 min. But that didn’t help either. It does kick people out of application but doesn’t unlock license in the database. I can see in the database user is set as locked. I guess the application is not working right…… Database doesn’t track time and sessions (logins). For reporting purposes to see who’s logged in and for how long the application uses IIS (so no info stored in DB)
The thing is I would like to unlock license of each user after 15 (or any set time) min.
Is there any way for me to write some application (VB.NET) so it can read sessions used in IIS for my application and if they are longer than specified time to remove it and ran SQL query to unlock the user?
Thank you in advance. Alex.
|
|
|
|
|
I'm assuming you know that the session time you set for 900 seconds is the HTTP Session timer. The timer is reset to 900 seconds after each request the user makes.
Your best bet is to contact whoever wrote the application and get it fixed. Unless you know precisely how to unlock the licenses in the database, you're out of luck. No amount of code is going to help you. I don't know of any way that you can force the sessions to timeout using code.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
To unlock user licenses is not an issue. I can run SQL statement to do that.
Right now, after session expires, it throws me out of the site but in the database I'm still locked. The problem is that it takes up the license and other people cannot use it until I'm completely unlocked, which we have to do manually.
RadioBeacon is complete app. and I have no code to modify or fix the problem myself. The RadioBeacon guys want us to upgrade to new version, they say it will fix the problem + more. But we have $20,000 worth of customizations, which we will lose by moving to new version.
Is there anyway I can access IIS on the server for RadioBeacon and see all the existing sessions (and values)? If the session state is more that 15 min I will run SQL statement to unlock license and kick user out, and of course destroy session.
Thank you,
|
|
|
|
|
alexfromto wrote: Is there anyway I can access IIS on the server for RadioBeacon and see all the existing sessions (and values)?
Like I said, not that I know of.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
|
Yeah, but none of that exposes any access to a web site's Session Manager. You can set timeout values for the site, but you have no access to the individual sessions.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|