|
Hi..
hmm..You are correct,But if I need to change my username or password later,how can I do it.I need to create a seperate window to do it.I think I have to connect that window also for those database or file..Am I correct??
If you can please send me some codes for create it as your idea..
Thanks a lot..
Thanking you !!!
~ Sathish Chandimal ~
|
|
|
|
|
Hi.....
yes....you can use a saperate window or you can use input box to change your username and password.But it should be connected to your file or database at that time.
Do you know how to connect database with program? If yes then you can easily change your username and password fields.
Gagan
|
|
|
|
|
Dear..
Now I hope to do my project using VB.NET & I earlier start it by VB6.I know how to connect ACCESS DB in VB6,but I don't know how to connect ACCESS Db in .NET & I know little bit about connecting SQL in .NET.So if you can kindly tell me how can I connect ACCESS or any other DB in .NET correctly.If you can also tell me where can I have more information about those codes,do you know any other reference items???
Thanks a lot Dear...
Thanking you !!!
~ Sathish Chandimal ~
|
|
|
|
|
|
Hi, I am working on a VB project which needs to locate certain devices which, apart from the response they provide to a broadcast, can not be identified at runtime as the application is to be used by an end user with no knowledge of network comms.
These devices, on receiving a broadcast message on port 20034, automatically send a UDP datagram back to the source IP, also on port 20034, Prior to TCP comms being initiated.
This datagram contains the MAC address, IP address, and other info such as subnet mask, gateway etc..
At runtime, there will be an unknown number of devices on the network, between 0 and 32 devices
The relevant code is all listed below, and functions as expected, However the problem I am having is that due to the blocking nature of .NET UDP, unless I have 32 devices on the network, the program will hang whilst waiting for a datagram.
To this end, I want to make this section run in a seperate thread, terminated after a preset time interval using a timer on the main thread
I will be adding each datagram to the index of a rectangular array, which must be passed from the background thread to the main thread.
The problem I am having is in passing this array back, if the thread (which will be an infinite loop) is terminated by a timer.
This is also my first attempt at multithreading, and, although I have done a large amount of reading now, I must confess I am still struggling.
Thanks in adavnce for any help received,
Regards, Chris
Declarations/imports:
Imports System.Net.Sockets
Imports System.Text
Imports System.IO
Imports System.Net
Dim receiveBytes As [Byte]()
Dim LenBytes As Long = 0
Dim ReceiveArray As [Byte] (,)
Main:
Private Function Go() As Array
Broadcast()
For n = 1 To 32
Listen()
If LenBytes > 160 Then
For m = 1 To LenBytes
ReceiveArray(n - 1, m - 1) = receiveBytes(m - 1)
Next m
End If
Next n
Return ReceiveArray
End Function
Send Broacast message:
Private Sub Broadcast()
Dim broadcaster As New UDPClient(CType(MainForm.Text_UDP_Port.Text,Integer))
Dim bytes(1024) As Byte
bytes = System.Text.Encoding.ASCII.GetBytes("BURNR")
broadcaster.send(bytes, bytes.Length, "255.255.255.255, CType(MainForm.Text_UDP_Port.Text, Integer))
broadcaster.Close
End Sub
Listen for a response:
Dim RemoteIPEndPoint As New System.Net.IPEndPoint(System.Net.IPAddress.Any, 20034)
Dim Listener As New UdpClient(20034)
receiveBytes = Listener.Receive(RemoteIPEndPoint)
LenBytes = UBound(receiveBytes) - LBound(receiveBytes) - 1
Listener.Close()
End Sub
|
|
|
|
|
First of all, I'll just make a disclaimer that I'm a C# programmer, so my code and references will be in C#; but, of course, you can do the same in VB.NET I am just not 100% on the syntax.
You should use the UdpClient.BeginReceive method, as it is asynchronous and will not prevent the program execution from proceeding. The idea is that you'll invoke UpdClient.BeginReceive() and then your program will keep going from the next line. On a separate thread BeginReceive will be waiting for incoming data. In the BeginReceive handler or callback (when data arrives) you'll process it and then call BeginReceive again to wait for another device. You can have the handler keep invoking BeginReceive until you've accepted 32 devices or whatever condition will indicate that you don't want to accept any more incoming UDP data. Also, since it sounds like you'll be using an array that will be accessed by 2 separate threads, you should use locking to have safe access to the array. In C#, locking can be accomplished with the lock keyword, not sure what the equivalent is in VB.NET. However, the idea is that you create a new object (I usually name it 'locker') whose only purpose is to control the locking and access to the cross thread item. Then, when accessing the array from inside the BeginReceive handler you'll lock the locker object and access the array, this will ensure that only that portion of code accesses the array. You'll do the same in the main thread to access the array. Here's a quick sample of some C# code I use; there are some private members and 2 public methods from a class that should give you the idea of how to use the BeginReceive method and locking on an object:
private UdpClient listeningClient = null;
private IPEndPoint localEndPoint = null;
private bool acceptingConnections = false;
private object locker = new object();
public void Start()
{
lock (locker)
{
acceptingConnections = true;
listeningClient = new UdpClient(localEndPoint);
listeningClient.BeginReceive(new AsyncCallback(ReceiveCallback), listeningClient);
}
}
private void ReceiveCallback(IAsyncResult ar)
{
UdpClient client = (UdpClient)ar.AsyncState;
IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] receivedBytes = client.EndReceive(ar, ref endPoint);
if(acceptingConnections)
listeningClient.BeginReceive(new AsyncCallback(ReceiveCallback), listeningClient);
}
Keep It Simple Stupid! (KISS)
|
|
|
|
|
Thanks for the help
I ended up going pretty much along the lines you suggested, only I kept the blocking receive method.
I have the whole process in a different thread, and after each receive, it checks a flag to see if it should loop or end the thread.
From the main thread, to stop the process, i simply set the flag and then send a udp message from the main thread which is filtered out in the receive thread
Thanks again for getting me on the right lines, Chris
|
|
|
|
|
how make vb directory treeview checkbox with vb 6....?thank...
24
|
|
|
|
|
imka24 wrote: how make vb directory treeview checkbox with vb 6....?thank...
IIRC, there is a "Checkbox" property in the regular VB6 TreeView control.
All Christian said in response to your earlier post is still valid.
|
|
|
|
|
For sending and receiving ARP request to all connected PC in the LAN Network
|
|
|
|
|
Wrong site. Try rentacoder.com.
Bob
Ashfield Consultants Ltd
|
|
|
|
|
Sure - email me so I can give you my paypal. I'll do this for $1500.
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
Christian Graus wrote: Sure - email me so I can give you my paypal. I'll do this for $1500.
Ill do it for $1400 and a cookie.
Chocolate chip.
|
|
|
|
|
ROTFL !!!
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
This is probably more of a beginner issue, but Im trying to populate a treeview based off the Northwind Database. The Top level is a list of countries, second level is a list of customers from that country, and 3rd level is supposed to be orderids from that country but it isnt populating. I know its stopping at my 'FillOrderIDs' but I cant seem to figure out why.
I appreciate any advice,
Private Sub FillCountries()
Dim tcountry As String
Dim tnode As TreeNode
Dim tCountryTable As NorthwindDataSet.CountriesDataTable
tCountryTable = Me.CountriesTableAdapter.GetCountriesData
For Each trow As NorthwindDataSet.CountriesRow In tCountryTable
tcountry = trow.Country
tnode = New TreeNode
tnode.Name = "Country"
tnode.Text = tcountry
Me.TreeView1.TopNode.Nodes.Add(tnode)
FillCompanyNames(tcountry, tnode)
Next
End Sub
Private Sub FillCompanyNames(ByVal country As String, ByVal parentnode As TreeNode)
Dim tCompany As String
Dim tnode As TreeNode
Dim CustTable As NorthwindDataSet.CompanyNamesDataTable
CustTable = Me.CompanyNamesTableAdapter.GetCustomersByCountry(country)
For Each trow As NorthwindDataSet.CompanyNamesRow In CustTable
tCompany = trow.CompanyName
tnode = New TreeNode
tnode.Name = "CompanyName"
tnode.Text = trow.CompanyName
tnode.Tag = trow.CompanyName
parentnode.Nodes.Add(tnode)
FillOrderIDs(tCompany, tnode)
Next
End Sub
Private Sub FillOrderIDs(ByVal orderid As String, ByVal parentnode As TreeNode)
Dim tnode As TreeNode
Dim OrdTable As NorthwindDataSet.OrderIdsDataTable
OrdTable = Me.OrderIdsTableAdapter.GetOrderIds(CompanyName)
For Each trow As NorthwindDataSet.OrderIdsRow In OrdTable
tnode = New TreeNode
tnode.Name = "OrderID"
tnode.Text = trow.OrderID
tnode.Tag = trow.OrderID
parentnode.Nodes.Add(tnode)
Next
End Sub
Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click
TreeView1.Nodes.Add("Countries")
FillCountries()
End Sub
|
|
|
|
|
I have compiled a release version of a DLL and installed the .msi on my computer and the DLL resides in C:\Program Files\ etc etc
In another project I have set a reference to the compiled and installed DLL - not to the DLLs in Bin from the DLL project.
Now I am single stepping through a routine in the new project and when I hit the call to the compiled DLL, it brings up a code page from the project for that DLL. Is this normal? How can it happen?
I am very confused about this as surely if I am referencing a DLL in c:\Program Files\etc, how can it be showing me a code page from C:\Work\DasWork\etc etc?
What would happen if I gave this DLL to someone else? What would they see?
|
|
|
|
|
This is because Visual Studio still knows where the source for the project is.
TheComputerMan wrote: What would happen if I gave this DLL to someone else? What would they see?
Nothing. The debugger would step right over the method calls.
|
|
|
|
|
Thanks Dave. Had me worried for a moment!
|
|
|
|
|
Hi,
your exe file (whether managed or unmanaged, debug or release build) contains the absolute path of your PDB file, and that file contains the absolute paths to all the source files.
So just moving your EXE to another location on the same machine does not hide the internal information; you would have to (re)move the PDB file, or switch to another PC.
|
|
|
|
|
Thanks Luc. It seems strange that it should contain that info.
|
|
|
|
|
You're welcome.
|
|
|
|
|
how make checkbox treeview with vb 6......thank....
24
|
|
|
|
|
Why on earth are you using an unsupported language that is dead, and was useless when it was alive ?
I am sure you can do what you want, but I suspect you'd be looking to buy a third party control to do it. I recommend moving to VB.NET as soon as possible. You'll only be 5 years too late.,
Christian Graus
Driven to the arms of OSX by Vista.
|
|
|
|
|
|
Hi Gurus,
Here is one that MUST be done the service way...
I'm administering a workgroup in which everybody is an admin, and PCs count is higher than 150!!
I can hear you: How do you survive? Here are the facts...
1- A company in a developing country, which means low resources
(i.e. A domain or any kind of whole-control is NEVER AFFORDABLE)
2- We live on imaging solutions.
3- But that would be too much imaging!! Not really, since we partially
depend on users' will not to lose hours of work, waiting for a restored
PC!!
4- Users MUST be admins, because of many legacy software that WON'T
run restricted. It is no shame to admit this, otherwise, what was Russinovich's
Protection Manager doing, until M$ swallowed him to cover its own embarrassment?
So what do I want?
Windows Updates are essential, and are causing nightmares, specially with
many RCE (Remote Code Execution) vulnerabilities discovered recently.
I need to have my self-update, WSUS replacement service PROTECTED from
being killed. I know how to disable MMC controls, but not a KILL signal.
Is there a way to intercept the kill signal, or disable it for a certain service?
This should be something like the way Terminal Services is run, or otherwise,
like many antivirus software do with their realtime scanners.
(i.e. Either enclosed into an SVCHOST instance, or self-protected by other means)
I heard something about embedding a "required-password" into the assembly
which would eventually cause the KILL signal to fail.
Any help PLEASE?!!
BR,
Khallaf
|
|
|
|
|