|
Checking for the connection to the internet is difficult because there is no way to know what is on the other side of your gateway address. You could have a live connection, but it might no be the internet.
The simplest way to do it is to try and resolve the DNS name of the mail server before you try to send a message.
Imports System.Net
.
.
.
Try
' Try and resolve the address of the mail server.
Dim hostEntry As IPHostEntry = Dns.GetHostByName(myMailServer.myISP.com)
' If we get here, then the DNS Resolve worked and
'we must be connected to the 'Net.
Try
' Code to send your email message...
Catch ex As Exception
' Send message failed for some reason...
End Try
Catch ex As Exception
' DNS Resolve failed. We can't send the message...
End Try
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
In my app I allow users to search text, and I'm trying to add a wildcard option. The users would supply both the string to be searched and the "search for" string, which can include wildcards * (0 or many characters), ? (single character), [] (character list), and [~] (character not in list). I've tried using the "like" operator, but it doesn't seem to work in all cases when I use more than two asterisks.
Seems to me this is a pretty standard feature that has probably already been written, but I seem to be looking in the wrong places. Can anyone point me to some code that does something similar to this? Maybe there's a regular expression someone has already written to convert a string with wildcards into a regex search?
Thanks
David
|
|
|
|
|
I'm using the VB.Net Data Form Wizard to create a data form to
show the information in my Access database. Trouble is, the Wizard
has a mind of it's own when it comes to the order in which it
shows the records in the database. I would like, for example, to
show the records in alphabetical order of people's names. Or, in
numerical order of something called a case number. But I see no way
to change the order that the Wizard created. In fact, I am unable to
tell what system the Wizard used to display the records. Maybe it is
in the same order that the records were added to the Access database.
Tom Barta
|
|
|
|
|
We'd need to see the code the Wizard generated so we can see what your dealing with and how to modify it.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
In case anyone is interested, I answered my own question after a couple
of additional days investigation. The answer is to change the SELECT
statement created by the Data Form Wizard in the Data Adapter. I added a
ORDER BY clause to the SELECT to put the records returned from the
database in alphabetical order by name. The SELECT statement now reads:
SELECT * from CASES ORDER BY compname.
|
|
|
|
|
I have hyperlink inside of my body, however whenever I launch outlook in the following way I don't have hyperlink but just simple text. I don't know if it is the function i am using for encoding or just shellexecute doesn't support.
strmail = "mailto:" & URLEncode(strEmailAddress) & "?Subject=" URLEncode(strsubject) & "&Body=" & URLEncode(strBody)
ShellExecute 0, "open", strmail , vbNull, vbNull, SW_SHOWNORMAL
Public Function URLEncode(URL As String) As String
Dim i As Long
For i = 1 To Len(URL)
Select Case Asc(UCase(Mid(URL, i, 1)))
Case Asc("A") To Asc("Z")
URLEncode = URLEncode & Mid(URL, i, 1)
Case Else
URLEncode = URLEncode & "%" & _
Right("00" & Hex(Asc(Mid(URL, i, 1))), 2)
End Select
Next
End Function
After the launching and see the source code I have <> converted to < and >. I think this is problem but i don't know how to fix this.
shin
|
|
|
|
|
I have succesfully serialized and array of objects into an xml-file. But I haven't successed in doing the reverse, deserializing - reading the xml-file and put it back into an array.
---
Here is the class, simplified without properties:
<serializable()> Public Class Job
' main settings
Private strName As String
Private strDescription As String
Private strCmdLine As String
End Class Job
---
Here is my array declared along with a hashtable I use:
Public Jobs As New Hashtable
Public JobArray() As Job
---
Here is my serialize-function:
'Call BinarySerialize()
Dim myArray() As Job
ReDim myArray(Jobs.Count - 1)
Dim objStreamWriter As New StreamWriter("job.xml")
Dim x As New XmlSerializer(myArray.GetType)
Dim i As Integer
' looping through a datagrid and loading the array
For i = 0 To lVirtualTable.Rows.Count - 1
Dim j As Job = DirectCast(Jobs(lVirtualTable.Rows(i).Item(0)), Job)
myArray(i) = j
Next
Try
x.Serialize(objStreamWriter, myArray)
Catch e As Exception
MsgBox(e.Message.ToString)
End Try
objStreamWriter.Close()
---
The above function works and saves the xml-file correctly. I just need help with a function that fílls the array from the xml-file. Any ideas?
Thanks / Henrik
--- neteject.com - Internet Solutions ---
|
|
|
|
|
I have no idea what your doing wrong, because I can't test the code and play with it here at work.
But, you could try this article on MSDN first: Troubleshooting Common Problems with the XmlSerializer
[^]
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I have read alot but to not understand. Here is an easy simplified example of my problem with deserializing. I would be very thankful if you looked at it!
http://neteject.com/example/serialize_example.zip
--- neteject.com - Internet Solutions ---
|
|
|
|
|
Ok, I have succesed without using Option Strict On but I would like some help to prevent having that Off. Here is the code:
Dim objStreamReader As New System.IO.StreamReader("jobs.xml")
Dim jobarray(0) As Job
Dim i As Integer
Dim x As New XmlSerializer(jobarray.GetType)
jobarray = x.Deserialize(objStreamReader)
The error is on the last line which says:
C:\Documents and Settings\Henrik Erlandsson\Skrivbord\VisualCron\2004-06-16\modMain.vb(74): Option Strict On disallows implicit conversions from 'System.Object' to '1-dimensional array of project.Job'.
Hope can I ctype or something to tell that jobarray is not 1-dimensional?
--- neteject.com - Internet Solutions ---
|
|
|
|
|
You night want to try something like this:
Dim objStreamReader As New System.IO.StreamReader("jobs.xml")
Dim jobarray() As Job
Dim i As Integer
Dim x As New XmlSerializer(jobarray.GetType)
jobarray = CType(x.Deserialize(objStreamReader), jobarray)
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I tried that but it says that jobarray is not defined (it won't show up in the list). I have no idea why because I just "dim:ed" it a few rows earlier.
any more ideas? thanks!
--- neteject.com - Internet Solutions ---
|
|
|
|
|
OK. Here's a quick little Console app that'll demonstrate what you looking for:
Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO
Module Module1
Public Jobs() As Job
Private NUMJOBS As Integer = 10
Sub Main()
ReDim Jobs(NUMJOBS)
FillJobs()
XMLSerialize()
ReDim Jobs(NUMJOBS)
XMLDeserialize()
End Sub
Public Sub FillJobs()
For x As Integer = 0 To NUMJOBS
Jobs(x) = New Job
Jobs(x).strCmdLine = "CommandLine" & x.ToString
Jobs(x).strDescription = "Description" & x.ToString
Jobs(x).strName = "Name" & x.ToString
Next
End Sub
Public Sub XMLSerialize()
Dim objStreamWriter As New StreamWriter("jobs.xml")
Dim x As New XmlSerializer(Jobs.GetType())
x.Serialize(objStreamWriter, Jobs)
objStreamWriter.Close()
End Sub
Public Sub XMLDeserialize()
Dim objStreamReader As New StreamReader("jobs.xml")
Dim x As New XmlSerializer(Jobs.GetType())
Jobs = CType(x.Deserialize(objStreamReader), Job())
End Sub
End Module
Public Class Job
' main settings
Public strName As String
Public strDescription As String
Public strCmdLine As String
End Class
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
thank you very much! I forgot to add () to Job!
/ regards Henrik
--- neteject.com - Internet Solutions ---
|
|
|
|
|
Hiya, I'm in the middle of Mike Halvorson's Visual Basic Step By Step and there was a simple debugging problem where the ap prompts the user for their age and based upon this age, identifies them as either a teenager or not a teenager.
The ap has a probem because one of the lines includes:
If Age > 13 and Age < 20 Then
Textbox2.Text = "Your'e a teenager."
This creates a logic error in the fact that 13 is not included in the range of acceptable numbers. I simply made it > 12, but the book took the >=13 approach.
Only wanted to know if there was any reason why my solution wouldn't be just as viable as the book's.
Thanks.
Still coaxing software out of the can after all these years...
|
|
|
|
|
So long as your using Integers only, no there is no difference. But, what if Age was 12.5? Your code would set return true, while the authors code would not.
Never trust user input. Validate, Validate, Validate, Validate, and check it again before you use it.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I understand. When I saw the problem, I instinctively thought of 12 and couldn't think of an exception where this would not work, but you are correct, if someone used a decimal, the logic error would recur.
Still coaxing software out of the can after all these years...
|
|
|
|
|
Assuming that Age is an integer, there is absolutely no difference.
In programming, there is almost never one single right answer
|
|
|
|
|
David pointed out the integer issue. I hadn't thought of that. I'll have to check the code and see if it would allow decimal increments, if it would, then perhaps the >=13 would be a better solution for eliminating a potential logic error. I think I'll suggest that it be pointed out in future editions. It can make a big difference.
Still coaxing software out of the can after all these years...
|
|
|
|
|
I've got an implementation of a FTP which ought to work. But when I try to run it through this URL: (b221=my mashine name) "http://b211/FtpBrowser.asp" it sayss that there's too many users on the site at the same time - though it's only me. Sometimes I get an error in the code, too. Why doesn't the site work?
(the code should list the substance of a directory where the user is able to go deeper down the hieracy and back again)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Sub skrivDrev()
set drv = fs.Drives
Response.Write "<IMG SRC=""folder_open.gif"" border=0 align=absmiddle vspace=3>" & f.path & "<br>"
for each d in drv
Response.Write d.Sharename
Response.Write "<a href=""FtpBrowser.asp?sti=" & d.DriveLetter & ":/"">" & d.DriveLetter & "</a> "
next
Response.Write "<a href=""FtpBrowser.asp?sti=" & server.MapPath("/") & """>ROOT</A> "
Response.write "<a href=""FtpBrowser.asp?sti="
if not f.IsRootFolder then
Response.write f.ParentFolder
end If
Response.Write """>[..]</a>"
End Sub
Sub skrivSubFolder()
i = 0
Response.Write "<table border=0 cellpadding=5><tr><td valign=top>"
For Each f1 in fc
if i mod 10 = 0 then
s = s & "</td><td valign=top>"
end If
i = i + 1
s = s & "<a href=""FtpBrowser.asp?sti=" & sti & "\" & f1.name & """><IMG SRC=""folder_closed.gif"" border=0 align=absmiddle vspace=3>" & f1.name & "</a>"
s = s & "<BR>"
Next
i = i - 1
while not i mod 10 = 0
s = s & "</TD><td></td>"
i = i + 1
wend
s = s & "</TR></TABLE>"
Response.write s
End Sub
Sub skrivfiler()
ReDim fileNames(f.files.count)
ReDim fileSize(f.files.count)
ReDim fileType(f.files.count)
ReDim fileDateLastModified(f.files.count)
i = 0
For Each fldr in f.files
fileNames(i) = fldr.name
fileSize(i) = fldr.size
fileType(i) = fldr.Type
fileDateLastModified(i) = fldr.DateLastModified
i = i + 1
Next
response.write "<table bgcolor=c3c3c3><TR class=buttons><td>Name:</TD><TD>Size</TD><TD>LastModified</TD><TD>Type</TD></TR>"
For i = f.files.count - 1 to 0 step -1
response.write "<TR><td bgcolor=FFFFFF>"
response.write fileNames(i) & "</TD>"
response.write "<TD class=buttons>" & fileSize(i) & "</TD>"
response.write "<TD bgcolor=FFFFFF>" & fileDateLastModified(i) & "</TD>"
response.write "<TD bgcolor=FFFFFF>" & fileType(i) & "</TD></TR>"
Next
response.write "</TABLE>"
end sub
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ftp</title>
<link rel="stylesheet" type="text/css" href="arkiv.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
abc
Testing!-
<%
'if Request.QueryString("sti") > "" then
' sti = Request.QueryString("sti")
'else
' sti = Server.MapPath(".")
'End IF
'Dim fs, f, fc ,sti
'set fs = CreateObject("Scripting.FileSystemObject")
'set f = fs.GetFolder(sti)
'Set fc = f.SubFolders
'skrivDrev
'skrivSubFolder
'Response.Write "</TD></TR></TABLE>"
'Response.Write "<p><table class=beskrivelse style=""font-size: 8px""><tr><TD>"
'skrivfiler
'Response.Write "</TD></TR></TABLE>"
%>
</body>
</html>
|
|
|
|
|
This question really belongs in the ASP.NET forum.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Are you able to run the code AT ALL? Are you able to run it, say 5-10 times, then it quits? Are you developing this on a 2000 Workstation or an XP machine? If so, you're probably running into the licensed connection limit. You're implementation is not using FTP, you're using the FileSystemObject, which is subject to the limitations of the machine's licensing, 10 connections maximum. Using ASP.NET, when you close the browser, your session (and connection) are still alive, and going to be alive for the next 20-30 minutes (I think), until the session times out on its own. Only then will your connection license be released.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Well...it's written in VB code - that's why I placed the question here.
I am able to run the code, but the only thing that gets out of it is the "testing"-string I put in the body-part. I have only put those strings there to debug the code, so I might find the problem myself...but no luck.
I'm using an XP Pro mashine. And I got this part of the code from another place where it (obviously) works fine.
|
|
|
|
|
hmshmsm wrote:
I am able to run the code, but the only thing that gets out of it is the "testing"-string I put in the body-part. I have only put those strings there to debug the code, so I might find the problem myself...but no luck.
You do realize that the code in the BODY tags is completely commented out?
hmshmsm wrote:
I'm using an XP Pro mashine. And I got this part of the code from another place where it (obviously) works fine.
You haven't answered all of my questions. If the comments in the BODY tags are removed, does the code run at all? Does it run about ten times, then quit? Does it not run at all? Does it work after a fresh reboot of the machine, then you try and run this?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
eh...it runs. But the only thing on the screen afterwards is:
abc
Testing!-
|
|
|
|