|
Hi all
I have a listview with checkboxes which populates correctly
I want to be able to select items and have the actual file saved to any location using sfd
The items in listview are populated from TIF and are files such as *.swf, *.flv...etc
I want to be able to save the items(files) that are checked
The form has 2 buttons...button1 does the searching and button2 invokes the sfd
The listview has columns for number, filename, size and location
I am not able to accomplish this so any help is appreciated.
Thanks
sao
|
|
|
|
|
siralphaomega wrote: have the actual file saved to any location using sfd
And "sfd" is what???
siralphaomega wrote: The items in listview are populated from TIF
What do you mean by "TIF"??
siralphaomega wrote: I want to be able to save the items(files) that are checked
Are you talking about the strings in the CheckBoxList or are you talking about getting the files from a source location and saving them to a folder on the local machine??
|
|
|
|
|
Hi Dave
"And "sfd" is what???"
sfd is savefiledialog
"What do you mean by "TIF"??"
TIF is temporary internet files
"Are you talking about the strings in the CheckBoxList or are you talking about getting the files from a source location and saving them to a folder on the local machine??"
No not the strings but as you mentioned getting the files from a source location (tif) and saving them to a folder by using the savefiledialog.
The listview populates correctly fetching all *.swf for example
The user then places a checkmark next to items and clicks button2 to save the files...not the strings
I have the savefiledialog configured correctly and know how to call it but i don't know how to get the program to only save checked files.
Thanks for taking a look
sao
|
|
|
|
|
Dave...I'm posting the entire code
Button1 works perfectly. I need help with Button2 to link checked items to the savefiledialog
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' button 1 searches for items
' get cache path from registry in case it has been moved...
Dim path As String = My.Computer.Registry.GetValue _
("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Cache", Nothing)
If RadioButton1.Checked = True Then ' radio button 1 for *.swf
Me.ListView1.Items.Clear()
Dim fileSize As Integer = 0
Dim i As Integer ' counts items
i = 0
For Each foundFile As String In My.Computer.FileSystem.GetFiles(path, FileIO.SearchOption.SearchAllSubDirectories, "*.swf")
i = i + 1
fileSize = My.Computer.FileSystem.GetFileInfo(foundFile).Length
With ListView1.Items.Add(i) 'i is item number
.SubItems.Add(foundFile.Substring(foundFile.LastIndexOf("\") + 1)) ' Remove Path From Name
.SubItems.Add(FormatNumber(fileSize / 1024, 2, TriState.UseDefault)) ' convert to KB
.SubItems.Add(foundFile.ToString) ' path + filename
End With
Next foundFile
Label1.Text = "total =" & " " & i & " " & "items" ' displays total # of items
End If
''''''''''''''''
If RadioButton2.Checked = True Then ' radio button 2 for *.ico
Me.ListView1.Items.Clear()
Dim fileSize As Integer = 0
Dim i As Integer
i = 0
For Each foundFile As String In My.Computer.FileSystem.GetFiles(path, FileIO.SearchOption.SearchAllSubDirectories, "*.ico")
i = i + 1
fileSize = My.Computer.FileSystem.GetFileInfo(foundFile).Length
With ListView1.Items.Add(i)
.SubItems.Add(foundFile.Substring(foundFile.LastIndexOf("\") + 1)) ' Remove Path From Name
.SubItems.Add(FormatNumber(fileSize / 1024, 2, TriState.UseDefault))
.SubItems.Add(foundFile.ToString)
End With
Next foundFile
Label1.Text = "total =" & " " & i & " " & "items"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
' Open SaveFileDialog box
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
For Each checkeditem In ListView1.CheckedItems
My.Computer.FileSystem.CopyFile(SaveFileDialog1.FileNam, True)
Next
End If
End Sub
End Class
|
|
|
|
|
loop through each item in the listview and test the checked property, process the item appropriately using the text and subitem information from the item.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi RAH
I have posted the entire code...Please take a look
sao
|
|
|
|
|
Instead of the savefiledialog try getting the target folder using the directory browser, then concat the target folder to the filename from the listview and use fileinfo.copy
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Hi,
i have an html file in Webserver..and when i invoke it from client it should create a registry in the client machine...im able to achieve this using Wshell.Regwrite but as shell is an activeX control it depends upon internet options and I should write registry without depending upon internet options....
Pls let me know regarding the same...
|
|
|
|
|
See this[^] thread on limitations and restrictions between a client and webserver. It is literally located about 2/17ths of an inch under this word. Stupid signature, about 1.5 inches under this word.
|
|
|
|
|
Basically, any code running inside of a web browser, under default security restrictions, cannot access the registry at all.
|
|
|
|
|
Just stop what you doing and Imagine if someone could write some code and access your registry....
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
Hi,
im using Wshell.Run(Vb script) in html page to run a command but as Shell is an ActiveX control it depends on Internet options which may not be similar in all machines...
So please let me know how can i run a command without using Shell object.....
|
|
|
|
|
You can't. Resources local to the machine the browser is running on are off-limits if security is tightened up enough. Running an artibtrary executable on the client machine is a high security risk, so it's not recommended your website depend on it. JavaScript has the same limitations.
|
|
|
|
|
Thanks for ur reply....
But our requirement is like that ie..i have a link on my html and when i click on that it should run an msi using a command like
strPath="http:/"/(servername)/(virualdirectoryname)/test.msi"
strPa="ALLUSERS=1
WshShell.Run "msiexec /i "& strPath & strPa
So pls let me know how can i achieve this without WshShell or should i go for asp.net....
|
|
|
|
|
Implementing this behavior as described will get you marked as a "virus". Why are you trying to bypass the user, shouldn't he/she give permission first?
I are troll
|
|
|
|
|
Thanks for ur reply....and our requirement is like that i can"t change that and our
application will be running in intranet...
Please help me out....
|
|
|
|
|
pradeep455 wrote: our requirement is like that i can"t change that
You can't install something on a computer without the owners' permission. In your case perhaps not the end-user, but there's a network admin responsible for that intranet, somewhere. Find that network admin and ask him to distribute it over the domain
Anything done to a PC without the owners' consent could be considered a crime in some countries. I'd suggest you get the opinion of a lawyer before proceeding.
I are troll
|
|
|
|
|
may be im not clear.....
im using ...
i have a link on my html and when i click on that im trying to run an msi which is in webserver using a command like
ie onclick(link) im calling the below function
Function f1()
strPath="http:/"/(servername)/(virualdirectoryname)/test.msi"
strPa="ALLUSERS=1
WshShell.Run "msiexec /i "& strPath &strPa
end Function
and it works fine only when the option "Initialize and script ActiveX controls not marked as safe" under Tools\internet options/Security/Customlevel/ActiveX controls and plugIns is set to prompt.....and if we set to any other option ie(disable) it fails ie it shows error when i click on the link like .. ActiveX component cannot create object "Wscript.shell"...
but our requirement is user does"nt want to to make any changes in the internet options...
So pls let me know how can i achieve this without WshShell....
|
|
|
|
|
The answer is no, take a hint. God.
|
|
|
|
|
p_1960 wrote: So pls let me know how can i achieve this without WshShell....
I'm sorry, there are no possibilities that I am aware of
I are troll
|
|
|
|
|
MSIEXEC will not get a file from a web server over HTTP. That command line is not going to work at all.
The only reason is works when you click on the link for an .MSI in a web browser is because the browser first downloads the file to the local machine, then launches the .MSI from the temporary location.
|
|
|
|
|
Thanks for ur reply....
May i know that is it possible to cretae our own ActiveX control(signed) with certificate and use it....instead of using WShell..If yes pls let me know how to do the same.....
pls correct me if im wrong...
|
|
|
|
|
VB.NET and C# don't target building true ActiveX controls. They built .NET assemblies that can LOOK like ActiveX controls (Com-exposed), but they can't be signed in the same manner a normal ActiveX control would be, and therefore cannot be used as such.
|
|
|
|
|
Thanks for ur reply....
So pls suggest me any other alternative to achieve the same......
|
|
|
|
|
For the last time. You cannot do what you want without modifying relaxing the browsers security settings and practically turning off all security. And no, you cannot do that from code running inside the browser...
|
|
|
|