 |

|
Thank you for your help.
I tried your sample code but I still get and error, I've also tried tweaking is a few ways and I still get the following errors:
"Conversion from string "Name" to type 'Integer' is not valid."
"Value of type 'System.Data.Datarow' Cannot be converted to 'String'"
"Conversion from string "Name" to type 'Integer' is not valid"
Here is how I'm building my search string:
sStringTemp = CBPlazim.SelectedValue.ToString()
sStringTemp2 = "Name = '" + sStringTemp + "'"
CBPlazim is a Combobox that is displays the 'Name' column from the table I'm trying to 'pull' the row from.
It's pulling the right row in the second table. Like I mentioned above, I set a watch on the two string variables and when I have it stop before attempting to put the row somewhere, it's the right row.
Am I just going about finding the row I want in the second table wrong?
I've confirmed that the Column 'Name' in the table is a string variable
Do you know if when I'm using the search code, does it move the active record to the row I'm looking for?
modified 18 Nov '12 - 22:41.
|
|
|
|

|
Try this:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As New DataTable
With dt
.Columns.Add("Name")
.Columns.Add("Address")
.Columns.Add("Salary")
.Rows.Add(New Object() {"John", "123 Some Street", 1234})
.Rows.Add(New Object() {"Frank", "15 TheOther Street", 1400})
.Rows.Add(New Object() {"Harry", "3 No Street", 450})
End With
Dim dr As DataRow = GetDataRow(dt, "John")
Label1.Text = String.Format("Name = {0}{3}Address = {1}{3}Salary = {2}",
dr("Name").ToString, dr("Address").ToString, dr("Salary").ToString, vbCrLf)
End Sub
Private Function GetDataRow(ByVal dt As DataTable, ByVal name As String) As DataRow
Dim sStringTemp2 = "Name = '" + name + "'"
Dim tRow As DataRow() = dt.Select(sStringTemp2)
Return tRow(0)
End Function
Note that your tRow object is an Array; Dim tRow as DataRow(), so we returned the first result, you may need to iterate through the array if there ismore than one result returned from the Select method.
Hope this helps.
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|

|
Thank you again.
I didn't use your example fully but finally figured out how to use the datarow I created by tweaking what you posted. I noticed you put tRow(0). I had been using that to try and access the elements. When I typed that from your example it gave me the option of .item and I tried that. Thanks again!
I used:
tRow(0).Item(15)
and that worked to access the element in the datarow!!!
|
|
|
|

|
JRHibner wrote: I noticed you put tRow(0).
I am glad it could help you.
Remember that tRow is an Array, and that tRow(0) returns tae first item in the array. Can you guarantee that there will only ever be one result from your search? If there could be more, you may need to loop through the array to get ALL the results.
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|

|
I can guarantee there will only be one result. As the list for the drop down each item is the 'Name' column from the table. What I'm trying to do is use that rows data to enable/disable controls on the form. So I have to 'read' the Boolean variables associated with that 'Name'
|
|
|
|

|
Thanks again for all the help.
Your questions leads me to my next one. In the above example I'm using a value from one table to find the row in another and then load those values to a form. So in that example there will always be a value in the second table due to the way the data is saved.
Now when I save the row to the database, I want to check and see if the item already exists and if I should update it or save it as a new record.
I've been using the following code to search the table before saving to determine if I need to save it or update the record.
sStringTemp = "Item = '" & MTBGeneLabel.Text & "'"
Dim tRow() As DataRow = tPlazimorphGenes.Select(sStringTemp)
If tRow(0).Item(0) Is DBNull.Value Then
SaveItemRecord(uUniqueID)
Else
UpdateItemRecord(uUniqueID)
End if
I bolded the section that is giving me issues. Trying to test if the row exists or if it's Null. I've tried quite a few variations from tutorials and answers for similar questions I found online.
|
|
|
|

|
Check this out:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As New DataTable
With dt
.Columns.Add("Id")
.Columns.Add("Name")
.Columns.Add("Address")
.Columns.Add("Salary")
.Rows.Add(New Object() {1, "John", "123 Some Street", 1234})
.Rows.Add(New Object() {Nothing, "Sally", "26 This Street", Nothing})
.Rows.Add(New Object() {3, "Frank", "15 TheOther Street", 1400})
.Rows.Add(New Object() {4, "Harry", "3 No Street", 450})
End With
Dim dr As DataRow = GetDataRow(dt, "Sally")
Dim id As Integer = -1
If Not TypeOf (dr("Id")) Is DBNull Then
id = CInt(dr("Id"))
End If
Try
Label1.Text = String.Format("ID = {0}{4}Name = {1}{4}Address = {2}{4}Salary = {3}", id.ToString,
dr("Name").ToString, dr("Address").ToString, dr("Salary").ToString, vbCrLf)
Catch ex As Exception
End Try
Label2.Text = String.Format("Field 0 contains: {0}", dr(0).GetType)
If (TypeOf (dr("Id")) Is DBNull) Then
Label3.Text = "DBNull in Field 0"
End If
End Sub
Private Function GetDataRow(ByVal dt As DataTable, ByVal name As String) As DataRow
Dim sStringTemp2 = "Name = '" + name + "'"
Dim tRow As DataRow() = dt.Select(sStringTemp2)
Return tRow(0)
End Function
End Class
Notice that I used TypeOf to check the DataType in the Field and I used GetType() to return the Type.
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|

|
I looked over the example. It's not quite my situation. In my case I'm generating a new record. I want to be able to check and make sure the Name isn't already used in the datatable. So when I go to save Information for 'Sally' it checks if there is a record for her. If there is a record her it will update that record. If there isn't a record for her it will save it as a new record.
Thanks again for your time and help
|
|
|
|

|
JRHibner wrote: I want to be able to check and make sure the Name isn't already used in the
datatable
In that case it sounds like you want to check whether a row is returned from the Select method?
If tRow.Count > 0 Then
Else
End If
I don't speak Idiot - please talk slowly and clearly
"I have sexdaily. I mean dyslexia. Fcuk!"
Driven to the arms of Heineken by the wife
|
|
|
|

|
So simple, so elegant. I'm completely overthinking that one. Thanks again!
|
|
|
|

|
Is it possible to change an external assembly's property using reflection; specifically the GUID? The reason I'm trying to do this is for when a customer logs into my website and purchases a plug-in for the application. The server would then change the GUID within the plug-in's DLL and then allow the custom to download it. When they then go to install the plug-in, the application check the assembly's GUID to see if it matches what it's supposed to. This is part of the security system I have designed (within my head at the moment) to ensure that the assembly is allowed to be used, and can only be used by that specific person. So is there anyway to change the GUID of an assembly through reflection?
Thanks
|
|
|
|

|
You can't make modifications using reflection; it's a read-only game. There are multiple ways to generate a new assembly; using the CompilerService[^] would be an option, but "modifying" an existing assembly would be easier using Mono's Cecil.
|
|
|
|

|
So if I understand correctly, based on my quick read of the link you provided, with the Mono's Cecil I could open up an assembly that I created, modify the GUID assembly attribute, and then save it to a new file and server it to the customer for download?
|
|
|
|

|
Yes
|
|
|
|

|
I am looking for an example of how to call MessageBeep in Visual Basic 8/net?
|
|
|
|

|
You can start with this[^].
And then move on to these[^].
Honestly, this was not very hard to find. You just Google for "MessageBeep VB.NET" and you come up with all kinds of examples.
|
|
|
|

|
Hi,
I am working on program to be used to process confidential data. That data must be well-encrypted. I have built method, that exports data from memory to XML, encrypts XMl document and saves it to file. But, what seems strange to me is, that encryption method doesn’t work. After its execution, file, which may contain encrypted data is created, but remains empty. I don’ t see any bug in the code. Could you help me to get it working, please?
Here is code used to encrypt and save XML.
Public Sub Save(ByVal carrier As DataCarrier, ByVal password As String, ByVal filename As String)
Try
Using sha As New SHA512Managed
Dim salt As Byte() = sha.ComputeHash(Encoding.Default.GetBytes(password))
Using pdb As New Rfc2898DeriveBytes(password, salt), aes As New RijndaelManaged, filestr As New FileStream(filename, FileMode.Create, FileAccess.Write)
Using cryptostr As New CryptoStream(filestr, aes.CreateEncryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Write)
ExportData(carrier).Save(cryptostr)
End Using
End Using
End Using
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Also, is that encryption algorithm OK, or there is some way to break it? I must be sure that there is no way to break encryption, that is used.
Stanislav Husár
|
|
|
|

|
Have you tried putting a breakpoint to see if an Exception is thrown?
After a brief glance, the code itself looks fine AFAICT, though the problem could be in the ExportData method, is there a reason you aren't calling the cryptostream's Write directly?
My knowledge about this is four years out of date, but Rijndael was considered secure. I vaguely recall reading they'd found a way to crack it in theory, but applying the crack it in practise hasn't happened yet and isn't likely to be feasible soon.
|
|
|
|

|
It does not throw any exception.
ExportData method only creates XML document with data to be encrypted. I have checked, that result of ExportData contains, what it should cotain.
I have also tried following, again, empty file is generated.
Public Sub Save(ByVal carrier As DataCarrier, ByVal password As String, ByVal filename As String)
Try
Using sha As New SHA512Managed
Dim salt As Byte() = sha.ComputeHash(Encoding.Default.GetBytes(password))
Using pdb As New Rfc2898DeriveBytes(password, salt), aes As New RijndaelManaged, filestr As New FileStream(filename, FileMode.Create, FileAccess.Write)
Using cryptostr As New CryptoStream(filestr, aes.CreateEncryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Write)
Dim str = ExportData(carrier).ToString()
Using w As New StreamWriter(cryptostr)
w.Write(str)
End Using
End Using
End Using
End Using
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Moreover, I have tried simply writing string literal to CryptoStream, this approach generates empty file too.
Strange is, that when I run this version:
Public Sub Save(ByVal carrier As DataCarrier, ByVal password As String, ByVal filename As String)
Try
Using sha As New SHA512Managed
Dim salt As Byte() = sha.ComputeHash(Encoding.Default.GetBytes(password))
Using pdb As New Rfc2898DeriveBytes(password, salt), aes As New RijndaelManaged, filestr As New MemoryStream() Using cryptostr As New CryptoStream(filestr, aes.CreateEncryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Write)
ExportData(carrier).Save(cryptostr)
Dim str = New String(Encoding.Default.GetChars(filestr.ToArray()))
Debugger.Break()
End Using
End Using
End Using
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Then at Debugger.Break statement str variable cotains data, which should be in the file.
While this and simmilar solutions generate empty file.
Public Sub Save(ByVal carrier As DataCarrier, ByVal password As String, ByVal filename As String)
Try
Using sha As New SHA512Managed
Dim salt As Byte() = sha.ComputeHash(Encoding.Default.GetBytes(password))
Using pdb As New Rfc2898DeriveBytes(password, salt), aes As New RijndaelManaged, filestr As New MemoryStream() Using cryptostr As New CryptoStream(filestr, aes.CreateEncryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Write)
ExportData(carrier).Save(cryptostr)
File.WriteAllBytes(filename, filestr.ToArray())
Debugger.Break()
End Using
End Using
End Using
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
I am really confused on what it does.
|
|
|
|

|
I'm not surprised at your confusion. The only thing I can suggest is to simplify as far as possible and re-factor back to what you want.
- Comment out the export line and perform the crypto-stream write directly.
- Create two byte arrays for the key and IV and make sure
pdb is creating a sensible key & IV, I would have thought that the if these were incorrect the encryption algorithm would throw. I've not used the derived bytes thing, so it is new to me
- If the above isn't working, hard-code the key and IV byte arrays
If all else fails, you could go back to square one, and write a console app that uses hard-coded byte arrays.
|
|
|
|

|
I think I may have figured it out!
The cryptostream writes to a filestream. The XML can't write to the same stream, and if you use a different stream you'll either overwrite (this is probably your situation) or it'll append the XML after the encrypted information. The other option is the XML is written first, then appended or overwitten with the encrypted information, neith seems to apply in your case.
In your position I'd replace the file stream with a memory stream for the cryptography stuff. I'd perform the write immediately, reset the position to 0 and pass the memory stream into the Export method. Then all the XML writer has to do is to read the Memory stream into the file stream when you've reached the correct point in the file (or set a property to its contents).
The other problem you might face is that you need to encode the encrypted bytes (e.g. into Hex characters), otherwise you'll get non-printing characters in the XML document, fouling it up.
|
|
|
|

|
Hmm, now it works, even with using the same code as the one that didn´t work.I di d nothing more, than copying binaries from bin/Debug/ and running them on another computer. I can´t understand this behaviour.
|
|
|
|

|
I think that is properly called a heisenbug[^].
That is odd behaviour. Something to do with a 64/32 bit compilation on a 32/64 bit machine (I mean really unsure)! The only other things that spring to mind immediately is the framework version or that restarting your machine might be a good idea, in case VS has screwed up. Hope you get it stable.
|
|
|
|

|
Maybe it is stable now. But there is new problem. I have tried decrypting encrypted file, but it fails to decrypt, decrypted data absolutely do not match data which was encrypted. I am using this code:
Public Sub Save(ByVal carrier As DataCarrier, ByVal password As String, ByVal filename As String)
Try
Using sha As New SHA512Managed
Dim hash = sha.ComputeHash(Encoding.Default.GetBytes(password))
Dim key As Byte() = New Byte(31) {}
Dim iv As Byte() = New Byte(15) {}
Array.Copy(hash, 0, key, 0, 32)
Array.Copy(hash, 32, iv, 0, 16)
Using aes As New RijndaelManaged, filestr As New FileStream(filename, FileMode.Create, FileAccess.Write)
Using cryptostr As New CryptoStream(filestr, aes.CreateEncryptor(key, iv), CryptoStreamMode.Write)
ExportData(carrier).Save(cryptostr)
End Using
End Using
End Using
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Function Load(ByVal password As String, ByVal filename As String) As XDocument
Dim sha As SHA512Managed
Dim aes As RijndaelManaged
Dim trans As ICryptoTransform
Dim cryptostr As CryptoStream
Dim filestr As FileStream
Try
sha = New SHA512Managed()
Dim hash = sha.ComputeHash(Encoding.Default.GetBytes(password))
aes = New RijndaelManaged()
Dim key As Byte() = New Byte(31) {}
Dim iv As Byte() = New Byte(15) {}
Array.Copy(hash, 0, key, 0, 32)
Array.Copy(hash, 32, iv, 0, 16)
trans = aes.CreateEncryptor(key, iv)
filestr = New FileStream(filename, FileMode.Open)
cryptostr = New CryptoStream(filestr, trans, CryptoStreamMode.Read)
Return XDocument.Load(cryptostr)
Catch ex As Exception
Logging.Instance.WriteException(ex, TraceEventType.Error)
MessageBox.Show(String.Format(My.Resources.UnhandledExceptionExString, ex.Message, ex.ToString), My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If cryptostr IsNot Nothing Then cryptostr.Dispose()
If filestr IsNot Nothing Then filestr.Dispose()
If trans IsNot Nothing Then trans.Dispose()
If aes IsNot Nothing Then aes.Dispose()
If sha IsNot Nothing Then sha.Dispose()
End Try
End Function
modified 17 Nov '12 - 11:23.
|
|
|
|

|
Can you post the code for the Export.Save method so we can see how you are using the cryptostream?
|
|
|
|

|
Do you mean ExportData(carrier).Save(cryptostr) ? That is System.Xml.Linq.Save method.
|
|
|
|

|
I've never tried encrypting something exactly as you are trying, but I believe the problem is that you're not calling the write method of the crypto stream. Check out the information on the write method of the crypto stream for for information. Below is a function I use to encrypt a string. As you can see I call the write method of the crypto stream and pass in a byte array of the data I want to encrypt. Hopefully the code below helps you.
Public Shared Function Encrypt(value As String, key() As Byte, iv() As Byte) As string
Dim bytValue() As Byte Dim bytEncoded() As Byte Dim rijndael As New Rijndael Managed
Dim ms As New MemoryStream
bytValue = Encoding.ASCII.GetBytes(value.ToCharArray) Using CryptoStream As New CryptoStream(ms, rijnadel.CreateEncryptor(key, iv), CryptoStreamMode.Write)
CryptoStream.Write(bytValue, 0, bytValue.Length)
CryptoStream.FlushFinalBlock()
bytEncoded = ms.ToArray
ms.Close()
End Using
Return Convert.ToBase64String(bytEncoded)
End Function
|
|
|
|

|
Why do you think, I do not call Write ? I call System.Xml.Linq.XDocument.Save.
It looks, that it is really a Heisenbug.
|
|
|
|

|
Hi,
My VB6 application has been developed long back using Access as back end. Now I am planning to migrate data from Access to sQL server 2008 .
1)Previously vb6 application was retrieving date from Access file in dd/MM/yyyy format which is the system format without any format function.(Uses RecordSet object) . After migrating to sQL server 2008 date retrieved in yyyy-MM-dd format which I have to format each time to my required format.
So it's creating issues at many places like inserting records to server, date comparison with date controls of vb6 etc. So I may have to apply format() function at many places. Can we use any once only setup to retrieve date in required format , so the application changes will be minimal. (at SQL Server side or at my application). ie the RecordSet.Open will always provide date data in dd/MM/yyyy format without any explicit formatting.
2)I am not able to use seek function with RecordSet object
Thanks in Advance
Johnson
|
|
|
|

|
If you're worried about "formats" of DateTime values in the Access database, you've been storing datetime data as strings, not datetime values.
You shouldn't be worried about those "formats" at all since a true datetime value is has no format in the database.
The only time you should be worried about the format of a datetime is when such values are presented in the UI or the user has to otherwise interact with them.
|
|
|
|

|
Hi all,
We have a financial system that writes a text file out that could be several 100 or even 1000 lines long. It writes the file into a txt file and can't be modified to be another file extension and then be renamed after the data has been loaded.
I have a service already written that notices that a txt file has shown up in this directory and fires off the application that needs to read this data.
I don't want to have the application which reads the data begin the process until after the financial system has written all data to the file.
I've searched all kinds of VB help sites and here is the code most refer to in various ways:
Public Function IsFileLocked(filename As String) As Boolean
Dim Locked As Boolean = False
Try
Dim fs As FileStream = File.Open(filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None)
fs.Close()
Catch ex As IOException
Locked = True
End Try
Return Locked
End Function
I have my file open in Notepad to test and have the file being accessed, but it falls straight through the code and does not hit the catch. I even opened the file in Excel and had the same result.
Any ideas?
Lost in the vast sea of .NET
|
|
|
|

|
This method will only work if the file being written by the financial system opens the file for exclusive write, meaning no shared readers or writers. Apparently, the financial system is allowing other processes to write to the file and the same time it's writing it.
The only other way I know of to determine if the file is completely written is to enumerate the system handle table, determine if the file is open currently open and:
1) Keep checking this handle every few seconds and wait for it to disappear. This should signal the end of the file write.
2) Depending on how the file is being written, you may find that the file is being opened, written, then closed, repeatedly. You may have to keep checking and waiting for an arbitrary amount of time to see if the file is again opened before considering the file complete.
|
|
|
|

|
I goofed... I was using notepad over and over to try and replicate the file being accessed. I found that notepad doesn't cause the file to show as open. When I tried Excel, right before doing my post, I goofed and opened my output file instead of my input file.
I still need to do some testing when the financial system is writing a file to make sure it works the same way or if I need to take your suggestion and look at the file handle.
Thanks!
Lost in the vast sea of .NET
|
|
|
|

|
I just did testing with the financial system and the code worked without having to go to the file handles.
Thanks again for your reply!
Lost in the vast sea of .NET
|
|
|
|

|
Hi all,
Please ignore my post. I was using notepad over and over to try and replicate the file being accessed. I found that notepad doesn't cause the file to show as open. When I tried Excel, right before doing my post, I goofed and opened my output file instead of my input file.
Code works... Thanks to anyone that started researching this issue...
Lost in the vast sea of .NET
|
|
|
|

|
That's because Notepad does not keep the file open as you are editing it. It opens the file, reads the contents, closes the file, then shows you the contents in the window.
Same thing with Excel and reading text files. Excel WILL however, keep a workbook file open for the life of the working session.
modified 14 Nov '12 - 7:53.
|
|
|
|

|
KreativeKai wrote: Any ideas?
A file being reported as "in use" may even vary on the file-system being used; there is no real way of testing, but trying and recovering if things go wrong.
For reading, that means simply putting up a message that the file is locked by another application which needs to be closed first. For writing, it means (in the ideal case) that one offers a SaveFileDialog to save the file under a new name.
"Testing and opening" is not an option, since it creates a race-condition; the file could be opened between the moment you checked it's status and the moment you're going to lock it.
|
|
|
|

|
I agree with everything you said in your reply because each situation you're trying to code for can vary.
In the situation I have however I won't need to worry about the file being re-locked. Basically the financial system writes a report file in text format and the code I posted in the original thread works to check if the file is currently open. Once the financial system has completed the output it will never be opened again except by my application that is picking it up and converting the report to PDF and then deleting the original text file.
My application is executed by a service I wrote that checks if a text file shows up in a certain directory. The service checks every minute. If it sees a text file it executes. My app then goes through the directory and starts reading files for conversion. I don't want to start this process if the financial system has not completed the output, so I'll basically skip if opened and catch it the next time the app executes (1 minute later).
My biggest mistake was assuming notepad would hold the file open for testing....
Lost in the vast sea of .NET
|
|
|
|

|
I had a similar problem and solved it using
Public Function FileInUse(ByVal sFile As String) As Boolean
If System.IO.File.Exists(sFile) Then
Try
Dim F As Short = FreeFile()
FileOpen(F, sFile, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.LockReadWrite)
FileClose(F)
Catch
Return True
End Try
End If
End Function
usage
Do While FileInUse(sSourcePath & "\" & sFileName & "." & sExtension)
System.Threading.Thread.Sleep(1000)
sTimeOut += 1
If sTimeOut = 15 Then
WriteLogLog("File " & sFile & " in use.")
Exit Sub
End If
Loop
Im testing each second if the file can be opened, if it can't then it is because it is in use. When the loop ends I know my file is no longer in use.
best regards
modified 19 Nov '12 - 10:20.
|
|
|
|
|

|
You're not going to get any code to do this as VBScritp can't do the things required to pull this off.
But, you can always use this[^].
|
|
|
|

|
I'd rather opt for a Group Policy which could be distributed in your domain (assuming that you want your setting to be used on all computers of your company).
|
|
|
|

|
Is there a way to determine the SQL Server configuration from vb.net?
I would like to be able to determine what the memory allocation is weather its an express or full version and what version it is.
Any information on this would be great,
|
|
|
|
|

|
Thanks for the reply, I will need to read about that stuff before i can attempt it but its a good starting point thank you
|
|
|
|

|
Log in as 'sa' and execute this command:
SELECT
(Physical_memory_in_bytes/1024.0)/1024.0 AS Physical_memory_in_Mb
FROM
sys.dm_os_sys_info
No special privileges for this command:
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
Please remember to vote if you find this helpful.
|
|
|
|

|
Thanks for your help, this has pointed me in the right direction once I develop the complete solution i will post.
|
|
|
|

|
How to write source code for Add, Delete, Update, Save, view in crystal report in VB.Net 2008
|
|
|
|

|
By coming up with a GOOD set of requirements (hint: FAR more than what you have in your post), designing a solution that fits those requirements and writing code to implement the solution.
|
|
|
|

|
I am trying to monitor network bandwidth usage on a per user basis and am new to vb.net. I have a list of users with their IP addresses already if that helps.
Basically trying to mimic the remote desktop service manager.
I am lost when it comes to this so any information about how to accomplish this would be greatly appreciated.
Is this even possible?
modified 13 Nov '12 - 11:54.
|
|
|
|
 |
|