|
i believe you should use a separate Connection for the separate thread. does that help?
Regards,
Serge (Logic Software)
|
|
|
|
|
can we build an audio player with vb.net?
example: software like winamp.
can we?please tell me.
|
|
|
|
|
nightmare01 wrote:
can we build an audio player with vb.net?
example: software like winamp.
can we?please tell me.
Uhh...yes. It sounds like your asking us for permission...
Any other questions?
RageInTheMachine9532
|
|
|
|
|
Let's say I have 3 columns: stock symbol, current price, last price. I want to be able to enter the stock symbol and then my app retrieves the current price and last price from, let's say, yahooFinance. In effect I am creating a database by entering ONLY the stock symbol, without access to or connecting with an external database per se (Oracle, SQL, etc). The app populates the remaining fields from the yahooFinance web site and refreshes that information within a predetermined amount of time.
I'm brand new to VB so I'd love some guidance with this problem. Also, curious about column sizing. The datagrid properties change each column to the identical size. How can I customize the size of each column seperately?
Thanks.
|
|
|
|
|
It sounds like your going to be scraping a web page for your data. It can be done, but be very careful about how you go about finding the data you want in the page. When, not if, when Yahoo or any other source, changes the page layout, it'll most likely break your app.
RageInTheMachine9532
|
|
|
|
|
Yes, that's it...I want to scrape a web page for my data. Fortunately the site is quite consistent so I do not anticipate having to change my code very often. However, how do I "scrape" a web site? Which method to I employ? What's the best?
|
|
|
|
|
"Scrape"ing is grabbing a page and searching through it looking for certain tags or other strings that either delineate the information you want or point to the information you want. In other words, you'll treat the page source (HTML) as a string and search that string for substrings that represents the data you want, or the tags around it. For example:
<td class="yfnc_tablehead1" width="48%">Last Trade:</td><td class="yfnc_tabledata1"><big>28.01</big></td></tr><tr><td class="yfnc_tablehead1" width="48%">Trade Time:</td><td
class="yfnc_tabledata1">4:00PM ET</td></tr><tr><td class="yfnc_tablehead1" width="48%">Change:</td><td
class="yfnc_tabledata1"><img width="10" height="14" border="0"
src="http://us.i1.yimg.com/us.yimg.com/i/us/fi/03rd/down_r.gif" alt="Down"> "color: rgba(204, 0, 0, 1)">0.29 (1.02%)</td></tr><tr>
This is just a few lines of the 38,000 characters returned by Yahoo Finance to display the data for a quote on Microsoft. There are 3 bits of useful information in this snippet. The "Last Trade", "Trade Time", and "Change". Find them... I'l wait.
Now, you can use the strings "Last Trade", "Trade Time", and "Change" to find where the information is, but it doesn't give you the information you want. Once you find the string "Last Trade", you have to skip a bunch of stuff before you can actually get to the data you need, 28.01. The problem is how do you RELIABLY skip to that piece of information? Hint: The web page isn't as stable as it appears!
You might want to look at this MSDN article[^] first before deciding whether or not this method is acceptable.
RageInTheMachine9532
|
|
|
|
|
Here is something I was playing around with last week. Give it a try. Just pass a list of comma delimited stock quotes to the function. It will return a list of all the quotes with each item having the details of the stock in a comma delimited format: symbol, last trade time, last value, open value, PE, etc...
The downside it is not in realtime.
Public Function GetQuote(ByVal symbols As String) As StockDetails
Dim url As String = "http://quote.yahoo.com/d/quotes.csv?s=" & symbols & "&d=t&f=sl1d1t1c1ohgvj1pp2wern" 'stores url of yahoo quote engine
Dim buffer As String
Dim webRequest As WebRequest
Dim webResponse As WebResponse
webRequest = HttpWebRequest.Create(url)
webResponse = webRequest.GetResponse()
Dim sr As StreamReader = New StreamReader(webResponse.GetResponseStream, System.Text.Encoding.ASCII)
buffer = sr.ReadToEnd()
sr.Close()
Return buffer
End Function
This should be much easier than obtaining values from an existing web page.
Michael
|
|
|
|
|
I'm writing a very simple VB .NET application that "monitors" a remote directory (via UNC paths) for a particular data file. The data file is created by a third-party program that creates or appends comma-delimited records to the file. (I think it opens the file, writes the record and then closes the file).
My application "wakes up" every few seconds and if this remote file exists, it does the following:
1) Rename the file on the remote directory to minimize possible conflicts.
2) Move the renamed file to the local PC.
3) Process the records in the local file.
4) Delete local file.
Pretty simple, I know. But for some reason, I'm getting random "corrupted" records in the file. The only explaination I know is that I'm moving the file while the other application is trying to write to it. The rename-move call is very quick, though. I've tried recreating the problem, but if I'm writing to a file from one process, it won't let me move it.
Has anyone else had this problem? If so, how did you solve it?
Thanks!
Barry Etter
|
|
|
|
|
Is it possible that the third-party program is itself just occasionally writing "corrupted" records in the file? Is it possible it has nothing to do with your app?
|
|
|
|
|
I've seen the same thing. Is this text file that is being written to on a Novell server?
I had cases where multiple machines writing to the same file at the same time would produce the problem your describing. There was no way around it because it was a problem in Client32 that wasn't fixed in the last 3 versions I saw. The problem NEVER appeared when I tested the clients in a purely Windows environment, including the server.
I ended up rewriting my data collection software that ran on each machine to its information directly to an SQL server instead of writing to a text file.
RageInTheMachine9532
|
|
|
|
|
Hi
I always use the function 'selecteditem' of a listview to check what the selected item is. This works fine when there is something selected in the list .. when there are for example no entries it crashes on it.
Code:
This crashes when there is no entries in listview:
msgbox lstArtikels.SelectedItem().Text
how can i check if there are still entries in the list?
|
|
|
|
|
Anonymous wrote:
msgbox lstArtikels.SelectedItem().Text
You can use SelectedItems.Count to see how many items are selected, then you can put up the Message Box:
If lstArtikels.SelectedItems.Count > 0 Then
For X = 0 to lstArtikels.SelectedItems.Count - 1
MsgBox lstArtikels.SelectedItem(X).Text
Next
End If
RageInTheMachine9532
|
|
|
|
|
One of the Best Software Consulting Company in New Jersey looking for IT Professionals to join the company on H1B and sponsor Green card immediately with labor is 3-4 months timeframe, and we have Offices in different locations.
We offer Best Billing rates to the consultants, if you have project in your hand you will get maximum portion of the Billing Rate completely negotiable. You will get Bonus when you refer a friend or associate to the company.
No Rejection/Query in the entire company history for H1/Greencard sponsorship.
We are direct vendors to IBM, Pearson Education, and Verizon etc.
We are also looking for consultants who have skilled in Data Warehousing, .NET & J2EE Technologies, SAP and Oracle Apps etc. We are ready to sponsor H1s and Green Cards.
YOU CAN CONTACT ME AT keith_002@hotmail.com.
|
|
|
|
|
Hi
I am a software consultant presently working on .NET technologies. Pls email me for further details.
Thanks,
Keshav.
|
|
|
|
|
Ok this is my first post here. So Im admitting im a new bee ok How would I allow my app to run behind a Firewall and NAT????
I am not able to turn it off and I fell others sould not have to also or port forward but lets say with a code like this as a example I got from here
Also how about set it up to use random port would that have to do with.. Private Shared port As Integer = 44 ????
Thank you for any help ZoodayZ...
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Class StateObject
Public workSocket As Socket = Nothing
Public BufferSize As Integer = 32767
Public buffer(32767) As Byte
Public sb As New StringBuilder()
End Class
Public Class SocketsClient
Public Event onConnect()
Public Event onError(ByVal Description As String)
Public Event onDataArrival(ByVal Data As Byte(), ByVal TotalBytes As Integer)
Public Event onDisconnect()
Public Event onSendComplete(ByVal DataSize As Integer)
Private Shared response As [String] = [String].Empty
Private Shared port As Integer = 44
Private Shared ipHostInfo As IPHostEntry = Dns.Resolve("localhost")
Private Shared ipAddress As ipAddress = ipHostInfo.AddressList(0)
Private Shared client As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Public Sub Connect(ByVal RemoteHostName As String, ByVal RemotePort As Integer)
Try
client = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
port = RemotePort
ipHostInfo = Dns.Resolve(RemoteHostName)
ipAddress = ipHostInfo.AddressList(0)
Dim remoteEP As New IPEndPoint(ipAddress, port)
client.BeginConnect(remoteEP, AddressOf sockConnected, client)
Catch
RaiseEvent onError(Err.Description)
Exit Sub
End Try
End Sub
Public Sub SendData(ByVal Data() As Byte)
Try
Dim byteData As Byte() = Data
client.BeginSend(byteData, 0, byteData.Length, 0, AddressOf sockSendEnd, client)
Catch
RaiseEvent onError(Err.Description)
Exit Sub
End Try
End Sub
Public Sub Disconnect()
Try
client.Shutdown(SocketShutdown.Both)
Catch
End Try
client.Close()
End Sub
Public Function StringToBytes(ByVal Data As String) As Byte()
StringToBytes = System.Text.ASCIIEncoding.ASCII.GetBytes(Data)
End Function
Public Function BytestoString(ByVal Data As Byte()) As String
BytestoString = System.Text.ASCIIEncoding.ASCII.GetString(Data)
End Function
Private Sub sockConnected(ByVal ar As IAsyncResult)
Try
If client.Connected = False Then RaiseEvent onError("Connection refused.") : Exit Sub
Dim state As New StateObject()
state.workSocket = client
client.BeginReceive(state.buffer, 0, state.BufferSize, 0, AddressOf sockDataArrival, state)
RaiseEvent onConnect()
Catch
RaiseEvent onError(Err.Description)
Exit Sub
End Try
End Sub
Private Sub sockDataArrival(ByVal ar As IAsyncResult)
Dim state As StateObject = CType(ar.AsyncState, StateObject)
Dim client As Socket = state.workSocket
Dim bytesRead As Integer
Try
bytesRead = client.EndReceive(ar)
Catch
Exit Sub
End Try
Try
Dim Data() As Byte = state.buffer
If bytesRead = 0 Then
client.Shutdown(SocketShutdown.Both)
client.Close()
RaiseEvent onDisconnect()
Exit Sub
End If
ReDim state.buffer(32767)
client.BeginReceive(state.buffer, 0, state.BufferSize, 0, AddressOf sockDataArrival, state)
RaiseEvent onDataArrival(Data, bytesRead)
Catch
RaiseEvent onError(Err.Description)
Exit Sub
End Try
End Sub
Private Sub sockSendEnd(ByVal ar As IAsyncResult)
Try
Dim client As Socket = CType(ar.AsyncState, Socket)
Dim bytesSent As Integer = client.EndSend(ar)
RaiseEvent onSendComplete(bytesSent)
Catch
RaiseEvent onError(Err.Description)
Exit Sub
End Try
End Sub
Public Function Connected() As Boolean
Try
Return client.Connected
Catch
RaiseEvent onError(Err.Description)
Exit Function
End Try
End Function
End Class
|
|
|
|
|
zoodayz wrote:
How would I allow my app to run behind a Firewall and NAT????
I am not able to turn it off and I fell others sould not have to also or port forward but lets say with a code like this as a example I got from here
Also how about set it up to use random port would that have to do with.. Private Shared port As Integer = 44 ????
Are you telling us that the code you included in your post is the server running behind the Firewall/NAT? If so, then you MUST use port forwarding to get to the server from the WAN side of your router. Since there is no direct IP route between the Internet and your local network, the router must be told what ports on the WAN side of the router to forward to which server (IP and port) on the local side. Therefore, you can't use a random port number, unless your app is going to reconfigure the router every time the port number changes.
RageInTheMachine9532
|
|
|
|
|
I am writing a vb.net windows app that can be called from a scheduler or run
as an application.
How do I set a return or exit code for the application.
i.e 0 if successfull or 1 if not.
Thank you
|
|
|
|
|
It is possible do this by setting the App Startup to Main startup, instead of a form. You can do this in the Project Properties. But, you must add a class to the project and add a main function something like this:
Function Main() as Integer
The this main must start the first form in your program, if you have one.
You can use the help in Visual Studio or on MSDN and search for "Structure of a Visual Basic Program" to find an example.
RageInTheMachine9532
|
|
|
|
|
Thanks I read this and picked up alot.
It works though if anyone is curious the VS.IDE debugger always
returns a 0 in that window. I had to use the windows scheduler
to see the return code.
Thats again
|
|
|
|
|
how can i developpe an client/server application with vb.net, the client and the server are a winform and may give and take some informations in "datatables" "dataset"....
is it like java ?? may i use port, sokets...
thanks
|
|
|
|
|
It sounds like you're starting brand new to VB.NET, yes?
If so, you may want to review the QuickStart tutorials for WinForms. It's a good place to start.
http://samples.gotdotnet.com/quickstart/winforms/[^]
If you're looking for socket-type programming, the .NET Framework contains classes in the System.Net namespace that you can investigate. If you're looking to create a Client/Server database application, you may be fine with the ADO.NET support in the Framework. The QuickStart tutorials introduces ADO.NET.
|
|
|
|
|
I have a listview in details mode, and I want to be able to double click on it and a varaiable return with the information that I click on.
Is this possible?
Thanks in advance
Code_Gopher
|
|
|
|
|
Would something like this work? (Assuming a control on the form called ListView1)
Private Sub ListView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles ListView1.DoubleClick
'-- get the item selected following the double-click
Dim sel As ListViewItem
sel = ListView1.SelectedItems(0)
'-- display the selected item text
If Not (sel Is Nothing) Then
MessageBox.Show(sel.Text)
End If
End Sub
|
|
|
|
|
Hi,
I'm relatively new to vb .net. Right now I'm working on a project where actual database is in SQL Server. But the "Access Project" file has been created to connect to SQL Server database.
I can not connect to SQL Server directly, basically no one has access to SQL Server directly. So if we need to access it we have to go thru the access project that have been created.
I'm using vb .net to create an application that involves this database, but I dont know how can I connect to "access project" file to access SQL Server database using vb .net???
Is it at all possible? can u guys help me with this?
shatru2k
|
|
|
|