|
In your C# code you pass fmt by reference. This allows the OS to alter it. In VB.Net, you pass it by value; this doesn't. The OS will probably try to alter it, then when it finds it can't, will throw an AccessViolationException. To fix it, pass the fmt variable by reference, using ByRef
Between the idea
And the reality
Between the motion
And the act
Falls the Shadow
|
|
|
|
|
Computafreak wrote: The OS will probably try to alter it, then when it finds it can't, will throw an AccessViolationException.
More importantly, the size will be all wrong because the structure is much larger than a reference.
|
|
|
|
|
I tried using "ByRef fmt" but it gives error saying "Expression required". Am i missing smthg?
P.S: Sorry i hav never b4 worked with "SendMessages"
|
|
|
|
|
I hav done it. thnx to u all.
|
|
|
|
|
hi,
i have to insert string like HELLO's
but this string shoes some error.
i want to insert single quote in ms access DB.
NOTE : i have to insert dynamic string through textbox
thanks in advance
Yours,
KaNNaN
-----------------------------------------------------------------
"Success is When Ur Signature Becomes An Autograph"
Mail To : foreverkans@gmail.com
|
|
|
|
|
you can use '' to do a quote. Of course, you'd do better to use parameterised querys, and not leave yourself open to SQL injection
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Hi All,
Regarding SMS, through VB6 application, how can we send the SMS where a SMS device is Connected to USB Port. Anybody having the information please let me know.
Regards,
Jay.
|
|
|
|
|
you will almost certainly need a third party library. I doubt anyone still writes or supports those for VB6 tho, given how out of date and obsolete it is
If VB6 can talk to a webservice, you may find a webservice you can use. I doubt it would be free.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
Hi Experts,
After my validation my control goes to the next cell..I have written the code to focus the current cell.But could not get the same....
code is --->
Private Sub dgvstock_CellValidating(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles dgvstock.CellValidating
Dim cell As DataGridViewCell = dgvstock.Item(e.ColumnIndex, e.RowIndex)
Dim ret As Integer
If cell.IsInEditMode Then
Dim c As Control = dgvstock.EditingControl
Select Case dgvstock.Columns(e.ColumnIndex).Name
Case "Sr No.", "Amount"
c.Text = CleanInputNumber(c.Text)
If c.Text = "" Then
ret = MessageBox.Show("Enter Only Numbers", "Invalid Input")
If ret = 1 Then
dgvstock.CurrentCell = dgvstock(e.ColumnIndex, e.RowIndex)
//Here i want the focus on current cell
End If
End If
End Select
End If
End Sub
Private Function CleanInputAlphabet(ByVal str As String) As String
Return System.Text.RegularExpressions.Regex.Replace(str, "[0-9\b\s-]", "")
End Function
|
|
|
|
|
//This will written in the EditingControlShowing event of datagridview
If TypeOf e.Control Is TextBox Then
DirectCast(e.Control, TextBox).CharacterCasing = CharacterCasing.Upper
End If
|
|
|
|
|
Datagridview1.CurrentCell = Datagridview1('Your column index', Datagridview1.NewRowIndex)
Datagridview1.BeginEdit(True)
|
|
|
|
|
Dim cn As New OleDbConnection
Dim adapter As New OleDbDataAdapter
Dim dtset As New DataSet
Dim dt As New DataTable
Dim cmd As New OleDbCommand
Dim sqlconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & sourceDirectory & ";" & _
"Extended Properties=""Text;HDR=No;"""
cn.ConnectionString = sqlconnectionString
'Open the Jet connection to read the CSV file
Try
cn.Open()
Catch e As Exception
End Try
Try
'Connection to the csv file and dump the data into a dataset
cmd.Connection = cn
cmd.CommandText = "Select * from " & sourceFile
'Attempt to fill a Datatable with the data from the CSV
adapter.SelectCommand = cmd
adapter.Fill(dtset, "CSVdata")
dt = dtset.Tables("CSVdata")
cn.Close
I am trying to read a csv file without any headers but I am getting one record short of actual no of rows. Is there something I am missing. The HDR option isn't really helpful.
Thanks in advance
|
|
|
|
|
I want to be able to determine the drive letter of an external USB device. If I use DriveInfo, the device is rarely, if ever, detected. If I use Scripting.Drive it sees the external device each time. Why is this?
Code that does NOT work:
Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
Dim uutDrive As String
Dim drive As DriveInfo
For Each drive In allDrives
If drive.IsReady = True Then
If drive.VolumeLabel = WaffleVolumeLabel Then
uutDrive = drive.Name
Exit For
End If
End If
Next
Code that WORKS:
Dim fso As New Scripting.FileSystemObject
Dim drv As Scripting.Drive
Dim string_builder As New System.Text.StringBuilder
For Each drv In fso.Drives
If drv.IsReady Then
If drv.VolumeName = WaffleVolumeLabel Then
uutDrive = drv.DriveLetter & ":\"
End If
End If
Next
|
|
|
|
|
Hi,
There is quite a difference between "rarely" and "if ever" and without a crystal ball I'm not sure what "does not work" actually means.
It would be helpful to step through your code with the debugger to locate the point of failure.
I would initally find out if :
1) The code is being called at all
2) The allDrives array contain an entry for the USB drive
If allDrives is OK then step forward into the loop and figure out why your volume label is not being detected.
Is string comparison in VB.Net via the = operator case sensitive?
Alan.
|
|
|
|
|
Thanks for the response Alan!
What I mean by rarely is the any information on the attached external usb device is detected about 5% of the time that I run the code with the allDrives whereas as with the scripting.drives, the external usb device is detected each time. I am able to see all of other drives on my machine except the external USB device when stepping through the code. If I open file explorer, the external USB device is also shown. When I step through the code, most of the time no information on this device is seen (I've tried reading the drive name, the drive Format as well as the volume) and since none of this information is detected, I have concluded that for some reason, the allDrives isn't able to detect the device on a consistent basis.
So
(1) The code is being called as I can see other device
(2) The allDrives array does not contain entry for the desired device, but it does for another USB device (so an indication that the code can detect USB devices).
I do think the string comparison is case sensitive, but I have determined that this is not the problem as the block of code that works is able to make the match (and I also copied the volume name from file explorer to make sure the case would match).
|
|
|
|
|
Hi
I searched google for encryption algorithms to use
in vb 2008 and got one listed in CodeProject listed at
Making TripleDES Simple in Visual Basic .NET[^]
It encrypts the string fine but is not able to decrypt it
and shows the following message.
Length of the data to decrypt is invalid.
I searched google for the solution but not got any satisfying one.
what to do now?
TheMrProgrammer
http://www.icbse.com/2009/funny-exam-answers-school-students
http://download.cnet.com/TheCalcMan/3000-2094_4-10958266.html
|
|
|
|
|
Prankur Rusia wrote: what to do now?
fix the bug in your code. Make sure what the encryption generated is entered into the decryptor without any change. without any details, noone can help you.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
Hi Luc,
Can you please tell me what details you want?
My code is exactly as listed in the article shown above.
The string to encrypt is: encryptitman
The key I use is: 123456789012345678901234
The iv I use is : 12345678
The encryption goes on fine but the code is not able to decrypt the encrypted string.
I supply the encrypted string exactly to the decrypt function.
TheMrProgrammer
http://www.icbse.com/2009/funny-exam-answers-school-students
http://download.cnet.com/TheCalcMan/3000-2094_4-10958266.html
|
|
|
|
|
The article is followed by some discussions, where one of the participants is having the problems you're having, and he came up with a solution for it.
If it still would not work, you'd better post there.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
have created function in class file.
Public Shared Function dsCntrctET() As DataSet
Dim sqlCntrct As String = "Select * from CNTRCT_ET where CNTRCT_ID=" & CISCNO
Dim cmdCISContract As New OracleCommand
Dim daCISCntrct As New OracleDataAdapter
Dim dsCISCntrct As New DataSet
Dim cmdCISBuilder As New OracleCommandBuilder
Try
With cmdCISContract
.Transaction = myTransCIS
.CommandText = sqlCntrct
.Connection = cnCIS
End With
daCISCntrct = New OracleDataAdapter(cmdCISContract)
daCISCntrct.FillSchema(dsCISCntrct, SchemaType.Source)
cmdCISBuilder = New OracleCommandBuilder(daCISCntrct)
With daCISCntrct
.TableMappings.Add("Table", "CNTRCT_ET")
.Fill(dsCISCntrct)
.SelectCommand = cmdCISContract
.InsertCommand = cmdCISBuilder.GetInsertCommand
.UpdateCommand = cmdCISBuilder.GetUpdateCommand
.DeleteCommand = cmdCISBuilder.GetDeleteCommand
End With
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Return (dsCISCntrct)
End Function
it returns dataset that i can use for getting value from table.
but while saving data, i have to use dataadapter for da.update(ds,"table") and ds.acceptchanges.
this i have to use in multiple forms as this data comes from 3rd party so i dont want to write this in every form . so i thought how to return data adapter and dataset from the same function. as i wanted to use daCISCntrct and dsCISCntrct.
|
|
|
|
|
Pass any other objects you want to return in as an out parameter.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
i didnt really get you.
can you please provide some small example.
|
|
|
|
|
Hi Can someone please help, I am New to vb2005 Codeing so please be gentle.
Here is my code, I can only move forward or goto first but the .MovePrevious() and .Movelast()last give me an error.
Public Class Form1
Dim MyConnObj As New ADODB.Connection 'ADODB Connection Object
Dim myRecSet As New ADODB.Recordset 'Recordset Object
Dim sqlStr As String ' String variable to store sql command
Dim c As String
Dim tot As Long
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MyConnObj.Open( _
"Provider = sqloledb;" & _
"Data Source=LINK-2927;" & _
"Initial Catalog=Sage200_DemoData;" & _
"User ID=sa;" & _
"Password=link12?;")
sqlStr = "select * from SLCustomerAccount"
myRecSet.Open(sqlStr, MyConnObj)
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
myRecSet.MoveFirst()
End Sub
Private Sub NextButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextButton.Click
With myRecSet
.MoveNext()
If .EOF() = False Then
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
Else
.MoveFirst()
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
End If
End With
End Sub
Private Sub LastButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LastButton.Click
With myRecSet
.MoveLast()
If .EOF() = False Then
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
Else
.MoveLast()
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
End If
End With
End Sub
Private Sub previousButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles previousButton.Click
With myRecSet
.MovePrevious()
If .EOF() = False Then
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
Else
.MoveFirst()
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
End If
End With
End Sub
Private Sub FirstButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FirstButton.Click
With myRecSet
.MoveFirst()
If .BOF() = False Then
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
Else
.MoveFirst()
TextBox1.Text = "" & myRecSet.Fields!CustomerAccountName.Value
TextBox2.Text = "" & myRecSet.Fields!CustomerAccountNumber.Value
End If
End With
End Sub
End Class
Help
Thanks
Stephen
|
|
|
|
|
By the look of things, you are used to vb6. Welcome to vb.net.
Aside from the fact that you can do a lot of things much easier in vb.net / Visual Studio, the very first thing is error handling.
To find out what the error is, enclose the code in each sub in a try catch clause:
Private Sub FirstButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FirstButton.Click
Try
'your code here
Catch ex as Exception
MsgBox(ex.tostring)
End Try
End Sub
This will tell you what the error is, and exactly on which line it occurs (you can turn on line numbers in Visual Studio to make it easier).
My advice is free, and you may get what you paid for.
|
|
|
|
|
Thanks for the promt reply.
Stephen
|
|
|
|