|
can you tell me how ... please
|
|
|
|
|
|
not writing driver .. just using existing one
for example 'Realtek RTL8168D/8111D Family'
sure with Visual Basic .
|
|
|
|
|
Then you need to get a copy of the driver documentation which will explain it. I would suggest using Google to search for sample programs or tutorials on this subject.
Veni, vidi, abiit domum
|
|
|
|
|
Considering what you're doing is very much outside the functionality exposed by those drivers, this is not an option for you. You MUST write a custom driver for this.
Like I said in my first reply, it is FAR easier to do this with a microcontroller.
|
|
|
|
|
Here need use specialy chip like ft232rl. For exsamlple Look : http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf
|
|
|
|
|
Code the click event of the Play Game button to do the following
i. Generate a random integer between 1 and 100
ii. Code a loop that will end when the user guesses the number or 10 guesses have failed to find the number.
iii. Use an inputbox function so that the user can enter each guess.
iv. If the user does not enter an integer number display an error messagebox, show the answer, and exit the loop. If the user enters a number outside the range of 0 – 100 display an error messagebox, show the answer, and exit the loop.
v. Show each guess in the Guesses Label using concatenation.
vi. If the guess is incorrect change the message portion of the InputBox function to “Guess Higher” or “Guess Lower”. Hint: Only use one InputBox – not three different ones.
vii. Use a messagebox to inform the user that the correct number has been guessed or that ten guesses have failed to guess the number.
|
|
|
|
|
Please do not dump your homework assignments here in the hope that someone else is going to do your work for you.
Veni, vidi, abiit domum
|
|
|
|
|
Is that a contribution to the "Training Questions for Students (Beginner Level)" section (which is still missing on CodeProject)?
|
|
|
|
|
Here more than couple of ways to learn anything in Internet.
Education Needed[^]
thatrajaNobody remains a virgin, Life screws everyone
|
|
|
|
|
Hi,
I posted this in general questions and then realized I should have posted it here. I have a large vb6 app that I turned into a dll so I could run it from vb .net. When I run the vb6 & .net projects in debug everything works fine. If I open the forms non modally everything works fine all the time.
However when I compile the vb6 into a dll the vb6 forms are not being placed in the .Net container form when I open them modally (non modal is OK). The vb6 form just sits in the upper left of the screen.
I came up with this solution based on an article by Eduardo Campano on embedding vb6 forms in .Net applications from July 2007. Great article and a good idea if you have a million lines of code to convert to .net.
I have sample code but don't see how to upload it to the forum.
The code for loading the vb6 into the container is from the container load event in .net:
SetParent(mintFormHandle, Me.Handle.ToInt32)
SendMessage(Me.Handle.ToInt32, WM_NCACTIVATE, 1, 0)
SetForegroundWindow(Me.Handle.ToInt32)
LockWindowUpdate(0)
Such a Larry
modified 24-Oct-13 11:17am.
|
|
|
|
|
larry118 wrote: Great article and a good idea if you have a million lines of code to convert to .net. Calling VB6 code from VB.NET is not a conversion. It's merely building another layer on something that should have been retired a few years ago.
What does "sit there" mean? Does it still process messages? You can test if it is by dragging another application over it - if a white smear appears, then the paint handler is no longer being called. I suggest you turn your DLL back into an executable; that's the easiest way.
Outside of that, the recommended way to use legacy code would be by using the InterOp Form Toolkit[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Yes of course the best thing would be to convert the code but its not going to happen right away when there is so much code and so many customers and users (100's).
By stripping the vb6 forms borders and putting them in a .net wrapper we get a really nice look in Windows 7 & 8 and now we have more time to properly analyze and convert the remaining code and marketing can demo an upgraded look and feel to the application.
As far as sit there. The vb6 form is frozen but you can drag stuff over it without a paint problem.
I wish I could upload the code.
Larry
Such a Larry
|
|
|
|
|
larry118 wrote: I wish I could upload the code. VB6 has been dead to me for a few years.
larry118 wrote: and now we have more time to properly analyze and convert the remaining code and marketing can demo an upgraded look and feel to the application Microsoft extended support ended in 1998. Your excuse was valid until 2007.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Larry you have my sincere sympathies, imagine working for an organisation so forward thinking that they don't plan for an end of life on their development platform. Then wait 6 YEARS after the end of support to attempt to remedy the situation.
To top it off the development is now being driven by the marketing departments need to show of a new look and feel. You really should submit your situation to WTF it sounds like a classic to me!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
These are really good people. I like them and don't mind being responsible for converting the code. I have made some progress on this issue. The setparent now seems to be working. The vb6 form is now appearing in the .net container. The problem was passing the parent from vb6 and that is now handled.
So setparent works now but it's followed by a send message, setforegroundwindow and lockwindowupdate which appear not to be working. My declarations are as follows:
<system.runtime.interopservices.dllimport("user32.dll")> _
Private Shared Function SetParent(ByVal hWndChild As IntPtr, ByVal hWndNewParent As IntPtr) As Int32
End Function
Public Declare Auto Function SendMessage Lib "user32.dll" ( _
ByVal hWnd As IntPtr, _
ByVal wMsg As Int32, _
ByVal wParam As Int32, _
ByVal s As String _
) As Int32
<system.runtime.interopservices.dllimport("user32.dll")> _
Private Shared Function SetForegroundWindow(ByVal hwnd As IntPtr) As IntPtr
End Function
<system.runtime.interopservices.dllimport("user32.dll")> _
Private Shared Function LockWindowUpdate(ByVal hwndLock As IntPtr) As Boolean
End Function
and the code is:
SetParent(mintFormHandle, Me.Handle.ToInt32)
SendMessage(mintFormHandle, WM_ACTIVATE, 1, IntPtr.Zero)
SetForegroundWindow(mintFormHandle)
LockWindowUpdate(0)
Me.Refresh()
Any suggestions?
Such a Larry
|
|
|
|
|
larry118 wrote: Any suggestions? Both the SetForgroundWindow and the LockWindowUpdate should be superfluous. The parent would already be the foreground-window and thus active. Painting the window should not have been locked in the first place. If it is, then you'll probably need to send a WM_SETREDRAW to reactivate.
larry118 wrote: These are really good people. Them being kind does not make VB6 any less dead. Companies that keep building on outdated blocks tend to become outdated themselves.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thanks but that did not help the vb6 form is still frozen. As soon as I get this working I can begin the conversion.
Such a Larry
|
|
|
|
|
larry118 wrote: Thanks but that did not help the vb6 form is still frozen. The difference between an executable and a dll is an executing thread. The easy way is to turn it into an executable, the correct way is to google for the Interop Toolkit.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Sadly there is very little documentation on the interop toolkit the way I am using it. Ironically the answer was in the order of doing things. If I execute the setparent function before I open the vb .net form it works perfectly. Lots of time lost for a stupid problem.
Such a Larry
|
|
|
|
|
I WANT TO KNOW HOW TO READ THE DATA FROM BCP BARCODE SCANNER .ALL THE DATA ARE STORE IN BARCODE
AND WANT TO FILL ALL DATA IN DATAGRID VIEW...
IN VB.NET CODE
|
|
|
|
|
First, writing your post in all-caps makes it look like you're shouting. That's kinda unkind.
Member 10355332 wrote: HOW TO READ THE DATA FROM BCP BARCODE SCANNER BC scanners come with a driver that usually makes the scanner act like a keyboard - scan an item, and the code comes out as if typed using a keyboard. Means that you can use a textbox; give it focus, wait for the number.
Member 10355332 wrote: ALL THE DATA ARE STORE IN BARCODE AND WANT TO FILL ALL DATA IN DATAGRID VIEW... How to display data using the DataGridView is explained here[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi all,
I need to develop a small but rather advanced email app using vb.net
Up to now everything has been going smoothly until my lecturer asked me to include pictures in the email
I successfully managed to include the picture as attachment but he wanted the picture to be included in the email body itself and not as attachment
Now for 1 image I managed to do it by converting the email into html format and sending it
But now the real problem is when the user wishes to include several pictures in the email
How am i to detect the number of pictures and rewrite the equivalent email html??
I am using a richtextbox for the input of text and pictures
What I managed to do up till now is as follows
Imports System.Net.Mail
Imports System.Net.Mime
Public Class Form1
Dim picturePath As String
Dim pictureExt As String
Dim filePath As String = ""
Private Sub btnSend_Click(sender As System.Object, e As System.EventArgs) Handles btnSend.Click
Dim smtp As New SmtpClient
Dim avHtml As AlternateView
Dim mail As MailMessage = New MailMessage
Dim htmlBody As String
Dim pic1 As LinkedResource
Dim x() As String
x = txtBody.Text.Split(" ")
smtp.UseDefaultCredentials = False
smtp.Credentials = New Net.NetworkCredential("myEmail@yahoo.com", "myPassword")
smtp.Port = "25"
smtp.EnableSsl = True
smtp.Host = "smtp.live.com"
Try
htmlBody = "<html> "
htmlBody = htmlBody & "<body> "
If Not x(0) = Nothing Then htmlBody = htmlBody & x(0)
htmlBody = htmlBody & "<br /> "
htmlBody = htmlBody & "<img src='cid:Pic1'> "
htmlBody = htmlBody & "<br /> "
If Not x(1) = Nothing Then htmlBody = htmlBody & x(1)
htmlBody = htmlBody & "</body> "
htmlBody = htmlBody & "</html>"
avHtml = AlternateView.CreateAlternateViewFromString(htmlBody, Nothing, MediaTypeNames.Text.Html)
Select Case pictureExt
Case "jpg", "JPG", "jpeg", "JPEG"
pic1 = New LinkedResource(picturePath, MediaTypeNames.Image.Jpeg)
Case "gif", "GIF"
pic1 = New LinkedResource(picturePath, MediaTypeNames.Image.Gif)
Case "tiff", "tif", "TIFF", "TIF"
pic1 = New LinkedResource(picturePath, MediaTypeNames.Image.Tiff)
End Select
pic1.ContentId = "Pic1"
avHtml.LinkedResources.Add(pic1)
mail.From = New MailAddress("myEmail@yahoo.com")
mail.To.Add(txtTo.Text)
mail.Subject = txtSubject.Text
mail.IsBodyHtml = True
mail.Body = htmlBody
mail.AlternateViews.Add(avHtml)
If Not filePath = "" Then mail.Attachments.Add(New System.Net.Mail.Attachment(filePath))
smtp.Send(mail)
MsgBox("Email sent!")
txtBody.Text = ""
txtSubject.Text = ""
txtTo.Text = ""
picturePath = ""
pictureExt = ""
filePath = ""
Catch ex As Exception
MsgBox(ex.ToString)
Finally
End Try
End Sub
Private Sub btnAddImage_Click(sender As System.Object, e As System.EventArgs) Handles btnAddImage.Click
Dim openDlg As OpenFileDialog = New OpenFileDialog
Dim filter As String = openDlg.Filter
Dim tmp() As String
Dim img As Image
Dim orgData
openDlg.Filter = "Image File (*.tiff;*.jpg;*.gif)|*.tiff;*.jpg;*.gif"
openDlg.Title = "Open an image file"
If (openDlg.ShowDialog() = DialogResult.OK) Then
picturePath = openDlg.FileName
tmp = picturePath.Split(".")
pictureExt = tmp(1)
img = Image.FromFile(picturePath)
orgData = Clipboard.GetDataObject
Clipboard.SetImage(img)
txtBody.Paste()
End If
End Sub
Private Sub btnAddAttachement_Click(sender As System.Object, e As System.EventArgs) Handles btnAddAttachement.Click
Dim openDlg As OpenFileDialog = New OpenFileDialog
If (openDlg.ShowDialog() = DialogResult.OK) Then
filePath = openDlg.FileName
End If
End Sub
End Class
|
|
|
|
|
There's a content-id in your html, where you're referring to the image;
htmlBody = htmlBody & "<img src='cid:Pic1'>
How about adding more than one?
Dhanish Balloo wrote: How am i to detect the number of pictures and rewrite the equivalent email html?? Keep a List<> , and add each picture to the list when the user uses the opendialog. When generating the list, loop trough the list and add the content-id tag foreach picture.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
HI,
fanx 4 ur reply
must say i didnt fink abt the list
its a gud idea but 1 prb stil remains
wen i'll b creating the html, how to knw exactly where the user placed the picture?
|
|
|
|