|
I've a problem when using a command control in a form who is linked to a code that opens a executable program (Windows Media Player) and a Mp3's file. The Mp3's file is located in a folder that has spaces on it. The problem is the file doesn't open and the WMPlayer sends a message (file extension not recognized).
I know that the problem is in the spaces in the folder. Tanks a lot.
Here is the code:
Private Sub cmdPlay_Click()
On Error GoTo Err_cmdPlay_Click
Dim stAppName As String
Dim PlayFullName As String
PlayFullName = "G:\MP3\045- Mp3\test.mp3"
stAppName = "D:\Program Files\Windows Media Player\wmplayer.exe " & PlayFullName
Call Shell(stAppName, vbMinimizedFocus)
Exit_cmdPlay_Click:
Exit Sub
Err_cmdPlay_Click:
MsgBox Err.Description
Resume Exit_cmdPlay_Click
End Sub
|
|
|
|
|
The problem is the spaces, your right. But solution is also pretty easy. The problem comes because the spaces are seen as command-line argument seperators. This is the command-line your sending to Shell:
D:\...\wmplayer.exe g:\mp3\045- mp3\test.mp3
Your actually telling wmplayer that there are 2 command-line parameters:
'g:\mp3\045-' and 'mp3\test.mp3'
The solution is to put quotes around both parts of the command-line:
PlayFullName = chr$(34) & "G:\MP3\045- Mp3\test.mp3" & chr$(34)
stAppName = chr$(34) & "D:\Program Files\Windows Media Player\wmplayer.exe" & chr$(34) & " " & PlayFullName
Now your sending the command-line as:
"D:\...\wmplayer.exe" "G:\mp3\045- mp3\test.mp3"
The quotes will prevent the spaces from becoming argument seperators.
RageInTheMachine9532
|
|
|
|
|
I am chaning default printer using WshNetwork. In my project there is a printer pool and machine is Win2k. My code works fine on my machine(XP). But when i try to change the printer on Win2K it doesn't work, if one of the printer is turned off on the printer pool.
Here is the code:
Dim WshNetwork = CreateObject("WScript.Network")
WshNetwork.SetDefaultPrinter(cbobwprinter.Text)
MsgBox("Success")
Catch ex As Exception
MsgBox(ex.ToString)
MsgBox("Can't set the default printer!", MsgBoxStyle.Critical)
Any idea why it won't work in Win2K! .Net framework is installed on Win2K box. Thanks
Zulfikar Ali
|
|
|
|
|
Hello coders,
You know in VB6 there were some apis like
CreateREctRgn
CreateEllipticRgn
...
Is there any equivalent in VB.NET of one of those?
How do I use them?
Thank you
Have a nice day
Best Regards
Emre YAZICI
|
|
|
|
|
The following code can be used to change the shape of a control. It may give you some ideas about how to use regions:
Dim intDiameter As Integer = 200
Me.Height = intDiameter
Me.Width = intDiameter
Dim p As New Drawing2D.GraphicsPath()
p.AddEllipse(0, 0, intDiameter, intDiameter)
Me.Region = New Region(p)
Hope it helps
Regards
Wayne Phipps
|
|
|
|
|
Thank you very much..
I have another problem.
How can I combine two or more RGNs?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim intDiameter As Integer = 200
Me.Height = intDiameter
Me.Width = intDiameter
Dim p As New Drawing2D.GraphicsPath()
Dim r As New System.Drawing.Rectangle(0, 0, 80, 80)
p.AddRectangle(r)
p.AddEllipse(0, 0, intDiameter, intDiameter)
Me.Region = New Region(p)
End Sub
But there is a problem. It cuts off the region (which already created before)
There was an api called CombineRgn
in the api there was a mode that you can set the combining property
Best Regards
Emre YAZICI
|
|
|
|
|
It's been divided into 5 methods:
Region.Complement
Region.Xor
Region.Union
Region.Exclude
Region.Intersect
So instead of:
Me.Region = New Region(p)
do:
Me.Region.Complement(p)
"Do unto others as you would have them do unto you." - Jesus
"An eye for an eye only makes the whole world blind." - Mahatma Gandhi
|
|
|
|
|
THANK YOU
regards
Best Regards
Emre YAZICI
|
|
|
|
|
Hi....I have a datagrid that as the user finishes entering a row, a duplicate of the row will pop up. When the user saves (updates) sometimes the extra row is saved sometimes not. Very strange behavior. I found a post on another site where a developer expressed the same behavior and said that he "had to detach the grid prior to messing with the dataset". I don't understand what he means (I've asked him but haven't received a reply). Does anyone want to take a stab at what they thing this means and how you would detach a grid? Thanks in advance.
Thanks,
Mike
|
|
|
|
|
I tried to access MS insert data from my VB code... The following Sql String gives error.....
insert into table (name) values ('MyName')
Note - the select, other queries work right... The querry executed in the MS Access worked to insert a record....
Help
I was born intelligent Education ruined me!.
|
|
|
|
|
What was the error (exception) that you got back?
Can you show some code? The DB structure?
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Ray Cassick wrote:
Can you show some code
Dim db As Database
Dim rs As Recordset
Dim SQLString As String
Set db = OpenDatabase("c:\temp\home.mdb")
SQLString = "insert into expense (ExpName) values ('Hai')"
Set rs = db.OpenRecordset(SQLString)
If rs.BOF = True And rs.EOF = True Then
MsgBox ("No Data")
........
The DB structure is simple.. with PKey as a auto number, ExpName as a text. Thats it...
Any idea of my error....
Ray Cassick wrote:
What was the error (exception) that you got back
Run time error:3219
Invalid exception!!
I was born intelligent Education ruined me!.
|
|
|
|
|
Try using the Execute method of the dataabse object instead of the OpenRecordset method.
db.Execute(SQLString)
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Will give it a try...
Thanks
I was born intelligent Education ruined me!.
|
|
|
|
|
I can pass an ArrayList of myClassObjects to a DataGrid and it obligingly displays it but it shows all of the Columns at the default Width including the ID Column. It also labels the Columns with myVariable names.
myDataGrid.DataSource = myClass.myFunction
Where myFunction is returning an ArrayList of MyClassObjects.
I have tried using a DataGrid Table Style Object etc. to no avail. How can I hit those pesky Column Objects directly to set their Widths and Headings?
|
|
|
|
|
How do I check if the logged onm user is an administrator in VB.Net?
'--8<------------------------
Ex Datis:
Duncan Jones
Merrion Computing Ltd
|
|
|
|
|
Try something like:
Imports System.Security.Principal
...
Dim identity As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim principal As New WindowsPrincipal(identity)
Dim isAdmin As Boolean = principal.IsInRole(WindowsBuiltInRole.Administrator)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
|
|
|
|
|
Hi....
How do I set the number of lines in a RichTexxtboxControl or limmit the number of lines?
/Fleischen
|
|
|
|
|
Hi...
I am a beginer to VB.. and a basic question....
Any code or snippet for accessing MS access database from VB, on a button click action... I tried this....
Private Sub Command1_Click()
Dim DBCon As ADODB.Connection
Dim rsTemp As ADODB.Recordset
Dim objMail
Set DBCon = New ADODB.Connection
Set rsTemp = New ADODB.Recordset
On Error GoTo errhandle
DBCon.Open dsn.Text, username.Text, password.Text
rsTemp.CursorLocation = adUseClient
rsTemp.Open SQLstr.Text, DBCon, adOpenForwardOnly, adLockReadOnly
mailbody = body.Text
For i = 1 To CInt(paramnum.Text)
mailbody = Replace(mailbody, "[x" & i & "]", rsTemp.Fields("x" & i))
Next i
MsgBox "From = " & from_txt.Text & Chr(10) & Chr(13) & _
"To = " & rsTemp("toemail") & Chr(10) & Chr(13) & _
"Subject = " & subjfield.Text & Chr(10) & Chr(13) & _
"Body =" & mailbody
Exit Sub
errhandle:
MsgBox Err.Description
End Sub
But it says....
Compile Error, User defined type not defined in the very first line of the code. Should I make/modify any configurations??
Thanks
I was born intelligent Education ruined me!.
|
|
|
|
|
Did you add Microsoft ActiveX Data Objects to your references? To do this, Click Project | References on the menu, and check the check box beside it in the dialog box.
Do unto others as you would have them do unto you - Jesus
An eye for an eye only makes the whole world blind - Mahatma Gandhi
|
|
|
|
|
jdunlap wrote:
Did you add Microsoft ActiveX Data Objects to your references?
Ahhh!! I didnt do it... Thanks....
I was born intelligent Education ruined me!.
|
|
|
|
|
I am trying to watch for "n" number of folders. Do I have to create "n" number of FileSystemWatcher instance to do this? If anybody worked on this please advice. Thanks a lot.
Zulfikar Ali
|
|
|
|
|
Is more easy create one folder and five subfolders. You only watch for the parent folder or root folder and FilSystemWatcher, with "true" in watch subdirectories option, watch the six folders.
Victor
|
|
|
|
|
Thanks for your reply. But folders can't be sub folder in my project. Anyway i have figured out the solution. Here is the code if anybody is interested.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim strName As String
Dim strDBReject As String
Dim strParseReject As String
'Load the profile info from the setup XML file
Dim dsGetIni As New DataSet()
dsGetIni.ReadXml(Application.StartupPath & "\setup.xml")
Dim dtGetIni As DataTable = dsGetIni.Tables("Profile")
i = dtGetIni.Rows.Count
Dim objRow As DataRow()
For i = 0 To dsGetIni.Tables("Profile").Rows.Count - 1
strName = dtGetIni.Rows(i)("Name")
strDBReject = dtGetIni.Rows(i)("DBReject")
watcher(strDBReject)
strParseReject = dtGetIni.Rows(i)("ParseReject")
watcher(strParseReject)
Next
End Sub
Public Function watcher(ByVal strFolder As String)
Dim objWatcher As New System.IO.FileSystemWatcher()
'Folder to watch
objWatcher.Path = strFolder
'File extension to watch
objWatcher.Filter = "*.pdf"
'Create delegates to handle the events for the FileSystemWatcher
AddHandler objWatcher.Created, AddressOf OnFileCreated
'Exclude subdirectories from watching
objWatcher.IncludeSubdirectories = True
'Start watching folder
objWatcher.EnableRaisingEvents = True
End Function
Public Sub OnFileCreated(ByVal source As Object, ByVal e As System.IO.FileSystemEventArgs)
Try
'create new instance of importer
Dim FileInfo As New FileInformation(e.FullPath)
ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf ProcessFile), FileInfo)
Catch ex As Exception
End Try
End Sub
Private Function GetExclusiveAccess(ByVal FilePath As String) As Boolean
Try
Dim theFile As File
Dim strm As Stream = theFile.Open(FilePath, FileMode.Open)
'if we succeed, we can let it go
strm.Close()
GetExclusiveAccess = True
Catch e As Exception
GetExclusiveAccess = False
End Try
End Function
Public Sub ProcessFile(ByVal fileInfo As Object)
If Thread.CurrentThread.Name = "" Then
Thread.CurrentThread.Name = Thread.CurrentThread.GetHashCode().ToString
End If
'try to get exclusive access to the file first
Dim i As Integer
For i = 0 To 30
If GetExclusiveAccess(fileInfo.filepath) Then
Exit For
ElseIf i = 30 Then
Exit Sub
End If
Thread.Sleep(5000)
Next
Dim strFilePath As String
Dim strFileName As String
Dim strDirName As String
Dim strVendorName As String
Dim strReason As String
Dim x As Integer
Dim y As Integer
strFilePath = fileInfo.filepath
strFileName = Mid(strFilePath, InStrRev(strFilePath, "\") + 1, Len (strFilePath) - InStrRev(strFilePath, "\"))
MsgBox(strFilePath)
'Add Reject file info to the database
addtodb(strFileName, strVendorName, strFilePath, strReason)
End Sub
If anybody is interested try this code. Let me know if you have any questions. Thanks
Zulfikar Ali
|
|
|
|
|
Hi...
How do Change the location of, for example a textbox? I Know u Can do it when you place the textbox. But if you wat to do it during runtime, how do u do it?
Code used:
TextBox1.Location.X = 10
Error message:
Expression is a value and therefore cannot be the target of an assignment.
/Fleischen
|
|
|
|