|
Tell you what?
"As a programmer, it's YOUR responsibility to know how a file system works! To know how Absolute and Relative paths work! To know how to specify these things in your code and debug them!"
It's not the job of the VB documentation to teach you the basics of filesystem management. That's up to the O/S manual. And as a programmer, it's your job to know how the basic features of an operating system works before developing an application that uses them.
You sound like a lawyer who wants to put warning labels on everything to protect us from ourselves.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi Dave,
No, I'm not a lawyer. I will admit to tunnel vision when I'm concentrating on a specific problem.
I haven't used the FileSystemObject so I make assumptions. For example when I saw this on the VB help - object.FolderExists(folderspec). I assumed it was going to look on the drive I had selected for the 'folderspec'.
If it was shown like this: object.FolderExists(Drive + folderspec) I would have known it was looking for a drive letter along with a folder name.
Thanks for the wake-up call,
Quecumber256
|
|
|
|
|
Quecumber256 wrote: I assumed it was going to look on the drive I had selected for the 'folderspec'.
How do you mean that you selected a drive?
---
b { font-weight: normal; }
-- modified at 9:18 Saturday 4th February, 2006
|
|
|
|
|
Hello
I used a standard DriveList control to select the drive where I wanted the backup to go, and as I stated before I'm not used to the FileSystemObject. Since the drive wasn't specified in the object.FolderExists(folderspec) I assumed the FileSystemObject would already know which drive I selected.
Reading it like it stands says look and see if 'folderspec' exists. If it was written like this: object.FolderExists(Drive & folderspec) it would read to me like, "Look on the Drive variable I supplied and see if the folder exists on that drive.
A lot of the references are witten in a simular manner. The author assumes the person reading the help file will know what he means.
In the type of person who needs to know all the details on how something works.
Thank you,
Quecumber256
|
|
|
|
|
If it would have been written that way, it would say that a drive specification was required, and that is not at all true.
The method uses the current folder unless an absolute path is specified, just like every other I/O method that exists. If you never used any I/O methods at all, I can understand if you don't know how that works.
---
b { font-weight: normal; }
|
|
|
|
|
I've used I/O methods, but object oriented programming seems to add wrinkles I am not used too. There are more occasions than I care to admit where I have done something the old way like providing a drive letter and get an error because of some quirk in the object oriented syntax.
Quecumber256
|
|
|
|
|
File paths have nothing to do with, nor are the rules changed by, any object oriented syntax.
The rules you violated in your folderspec pre-date DOS! They've been around for, I don't know, 30 years!
ust dropping a drive selection box on the control doesn't change the current drive, nor the current path, nor does it affect any other control. All it does is return a string with the drive letter selected!
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Is it possible to create a Property Sheet in VB6? Maybe it's so obvious that I can't find them but I don't know how to add a property sheet into my project !!!
thanks in advance,
Marc Soleda
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|
|
You might want to Google for "vb6 property sheet"[^] for some examples and articles.
But, IIRC, VB6 didn't support Property Sheets. I could be wrong since it's been some 5 years since I've used VB6.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-- modified at 13:35 Friday 3rd February, 2006
|
|
|
|
|
Dave Kreskowiak wrote: You might want to Google for "vb6 property sheet"[^] for some examples and articles.
Of course I've already done it before posting it here and that's exactly what i'd found: there's no info for property sheets ...
Thanks Dave,
Marc Soleda
... she said you are the perfect stranger she said baby let's keep it like this... Dire Straits
|
|
|
|
|
Hi All,
I'm trying to connect to a MySQL db using vb.net and when install the project and keep getting the following error:
ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
I've tried various options but no luck, I've tried putting file Microsoft.Data.Odbc.dll in the /bin directory, adding <%@ Import Namespace="Microsoft.Data.Odbc" %> and
<%@ Import Namespace="System.Data.Odbc" %> to the code... I've also searched the internet for about a week now and can't seem to find an answer.
Here's my connection string (the XXXXXXXXX info is correct, I've triple checked this many, many times):
strConn = "DRIVER={MySQL ODBC 3.51.12 Driver};SERVER=XXXXXXXXXX;UID=XXXXXXXXXXX;PWD=XXXXXXXXX;DATABASE=XXXXXXXXXXXXXXXxx;OPTION=3;"
Please if any body knows the answer please let me know.
-- modified at 13:15 Friday 3rd February, 2006
|
|
|
|
|
1)By default mysql does not support remote access...
2) you will have to specify this in the server first, (ofcourse you will not be able to do this from a remote machine!!! unless you have remote desktop access)
3)To enable access from a client machine called nile, do the following after starting mysqld (or mysqld_safe) on the server, named delaware:
% mysql -u root -p
mysql> use mysql;
mysql> grant all privileges on *.* to usrname1@'%'
identified by 'test' with grant option;
mysql> insert into host values('nile', '%', 'Y', 'Y', 'Y', 'Y', 'Y',
'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
mysql> exit
Hope this helps you!
The user name, usrname1, and the password, test, should be replaced by the real value.
One can then run mysql on nile as follows:
% mysql --host=delaware --user=usrname1 -ptest
To restrict access to a user from a specific host, change '%' in the grant command to a valid hostname or ip address.
|
|
|
|
|
hellow to all ..
i am trying to run a report that i had created in Crystal ...
i recive this message "Cannot Find KeycodeV2.dll or invaild keycode"
i had run a search at google , i had found that it has to be something related to regestring the product , so i have done so ..
but i still recive the same error ..
anyhelp ?
|
|
|
|
|
Did you try looking around BusinessObjects site? I think you're looking for this[^] specific KB article.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
i had readed this artical and applied it , but i still got the same problem what could it be ?
|
|
|
|
|
No idea. I've only seen the problem once and it was corrected by that article.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi,
I want to find out least value and max value from an array variable. If variable contains Zero then it should be omitted. I hav sorted variable but i am getting value Zero.
Plz help me out.
Thanks & Regards,
Chandan Kumar.
|
|
|
|
|
Post the code for your function and we'll take a look.
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." (Translation: I'll show you the way, but not write the code for you.) I read that somewhere once
|
|
|
|
|
Thanks for replying steve!
I am working on MAP control. I wrote this code in MouseDown event to store X and Y value of 8 map points.
If iVar > 7 Then Exit Sub
ReDim Preserve arrXVal(intCounter)
ReDim Preserve arrYVal(intCounter)
arrXVal(intCounter) = MapX
arrYVal(intCounter) = MapY
intCounter = intCounter + 1
iVar = iVar + 1
What I want to do is I need to retreive Least and Max value of X and Y so that I can set boundry of map & take snapshot. But suppose if any of variable contains value zero then least value would be 0. As a least value I want value other then 0.
plz give me idea how to solve this.
Chandan
|
|
|
|
|
This is one way. Using a Procedure to determine the min and max values. You could also code this as a Function and pass back the min and max values via an array or separate variable.
The restriction on the minimum values of X and Y (in this case non-zero) are handled by setting the min and max values to constants defined in the procedure. Note that if legitimate zero values are recorded, they will be changed to whatever MinXValue and MinXValue are set.
Private Sub MinXY(ByVal arrXVal() As Integer, ByVal arrYVal() As Integer)
'
' MinXY will determine the minimum and maximum X and Y values from the
' arrXVal and arrYVal arrays.
'
' The mimimum values must be greater than zero. The default mimimum and
' maximum values are determined by the constants at the start of this
' procedure.
'
Const MinXValue = 1 ' this is the minimum permitted value for X
Const MaxXValue = 9999 ' this is the maximum permitted value for X
Const MinYValue = 1
Const MaxYValue = 9999
Dim maxX As Integer = MinXValue
Dim minX As Integer = MaxXValue
Dim maxY As Integer = MinYValue
Dim minY As Integer = MaxYValue
For i As Integer = 0 To arrxval.GetUpperBound(0)
Select Case arrXVal(i)
Case MinXValue To MaxXValue
'
' If the value of arrXVal(i) is LESS than
' the currently stored mimimum X value in minX, then
' set minX to the value of arrXVal(i).
'
If arrXVal(i) < minX Then
minX = arrXVal(i)
End If
'
' If the value of arrXVal(i) is GREATER than
' the currently stored maximum X value in maxX, then
' set maxX to the value of arrXVal(i).
'
If arrXVal(i) > maxX Then
maxX = arrXVal(i)
End If
Case Else
'
' All other values of arrXVal() are ignored.
'
End Select
'
' Same process for maxY and minY values...
'
Select Case arrYVal(i)
Case MinYValue To MaxYValue
'
' If the value of arrYVal(i) is LESS than
' the currently stored mimimum X value in minX, then
' set minX to the value of arrYVal(i).
'
If arrYVal(i) < minY Then
minY = arrYVal(i)
End If
'
' If the value of arrYVal(i) is GREATER than
' the currently stored maximum X value in maxX, then
' set maxX to the value of arrYVal(i).
'
If arrYVal(i) > maxY Then
maxY = arrYVal(i)
End If
Case Else
'
' All other values of arrYVal() are ignored.
'
End Select
Next
'
' The variables minX, minY, maxX and maxY now contain the non-zero
' minimum and maximum values. You'll need to pass these back to the
' caller or via global variables (not recommended).
'
End Sub
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." (Translation: I'll show you the way, but not write the code for you.) I read that somewhere once
|
|
|
|
|
'****************************************
Try
'Do Something
Catch ex As Exception
Msgbox ex.Message
End Try
'****************************************
Try
'Do Something
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
'****************************************
Which is better and show me the best and explain why
!Thanks!
!alien!
|
|
|
|
|
alien viper wrote: Which is better and show me the best and explain why
The correct answer sepends what you want to achieve.
There are some good articles on The Code Project about structured exception handling. Have a squizz and all shall be revealed.
...Steve
"Give a man a fish and you've fed him for a day. Teach him how to fish and you've fed him for life." (Translation: I'll show you the way, but not write the code for you.) I read that somewhere once
|
|
|
|
|
First of all, you are using try/catch. So i'm assuming you're using VB.net. If so, then do not use legacy VB functions like "msgbox". Use "MessageBox.Show(..)".
Secondly, your first example displays the message to the user and will continue processing statements after the "End Try". Your second example, re-throws the exceptions back to the caller.
I think both of the examples are bad practice for error handling.
Alternate for Example 1:
Try<br />
'Do Something<br />
Catch ex As Exception<br />
Utilities.HandleError(ex)<br />
End Try
Advantages: You have a central error handling mecahnism. So if 2 weeks from today your boss tells you to start logging the errors to a text file, you wont have to change every "catch" statement but only the handler function. --> Refactoring
Alternate 1 for Example 2:
'Do Something
Advantages: In your example, you simply rethrow an exception without adding more information to it. By doing so, you actually lose critical error information -- such as inner exception and/or stack trace -- which is vital for finding the root of the problem. So simply remove try/catch block entirely.
Alternate 2 for Example 2:
Try<br />
'Do Something<br />
Catch ex As Exception<br />
Throw New Exception("Error opening your file", ex)<br />
End Try
Advantages: The advantage of this approach is that you mask the original exception message (which could be too technical for the user to understand) with your custom message without losing the original error. You're passing "ex" as an inner error so this way the caller can access both the user-friendly message and also the stacktrace of the original exception.
Hope this helps.
- Malhar
|
|
|
|
|
A class for convert HTML documet in Text (no HTML TAG bat only body text)
bay
Gaudenzio
|
|
|
|
|
be... sembra che funzioni
Public Function ConvertiHTML(ByVal html As String) As String
Dim out As String
Dim i As Integer
Dim j As Integer
Dim elenco As String()
Try
If html.Equals("") Then
Return ""
Exit Try
End If
elenco = html.Split(CChar(">"))
For i = 0 To elenco.Length - 1
j = elenco(i).LastIndexOf(CChar("<"))
If j > 0 Then
out = out & elenco(i).Substring(0, j)
End If
Next
elenco = Nothing
Return out
Catch ex As Exception
Throw ex
End Try
End Function
|
|
|
|