以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请问使用OpenFileDialog如何获得选取文件的路径?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6410)

--  作者:xycn
--  发布时间:2010/3/31 10:57:00
--  [求助]请问使用OpenFileDialog如何获得选取文件的路径?
OpenFileDialog中有个filename可以获得选取文件的文件名,那如果连同路径也要改怎么写代码?谢谢
--  作者:smileboy
--  发布时间:2010/3/31 11:05:00
--  
ProjectPath
字符型,返回项目文件所在目录
例如:
Output.Show("项目目录:" & ProjectPath)
[此贴子已经被作者于2010-3-31 11:06:39编辑过]

--  作者:程兴刚
--  发布时间:2010/3/31 11:13:00
--  
我曾经的添加图片按钮代码:

Dim dlg As New OpenFileDialog \'定一个新的OpenFileDialog
dlg.Filter= "图形文件|*.bmp;*.jpg;*.gif" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
    Dim p As WinForm.Painter = e.Form.Controls("大视图")
    Dim g As Graphics = p.Graphics
    g.Clear(Color.Transparent)
    g.DrawImage(getImage(dlg.FileName),0,0,520,325)
    p.Repaint()
    For i As Integer = 1 To FileSys.GetFiles(GetConfigValue("系统路径",ProjectPath) & "Images").Count+1
        if FileSys.FileExists(GetConfigValue("系统路径",ProjectPath) & "Images\\T" & Format(i,"0000") & ".jpg") = false
            Vars("图源编号") = i
            Exit For
        end if
    next
    Vars("文件名称") = GetConfigValue("系统路径",ProjectPath) & "Images\\T" & Format(Vars("图源编号"),"0000") & ".jpg"
    p.Save(Vars("文件名称"))
    For i As Integer = 1 To FileSys.GetFiles(GetConfigValue("系统路径",ProjectPath) & "Images").Count
        if e.Form.ExistControl("文件列表" & i) = true
            e.Form.RemoveControl("文件列表" & i)
        end if
        if e.Form.ExistControl("图片列表" & i) = true
            e.Form.RemoveControl("图片列表" & i)
        end if
        Dim lbl As WinForm.Label
        lbl = e.Form.CreateControl("文件列表" & i, ControlTypeEnum.Label)
        lbl.Text =  FileSys.GetFiles(GetConfigValue("系统路径",ProjectPath) & "Images")(i-1)
        lbl.Width= 519
        lbl.Height=16
        lbl.BackColor=Color.White
        lbl.Left = 0
        lbl.Top = 16*(i-1)
        lbl.TopMost=true
        e.Form.Controls("Panel1").AddControl(lbl)
        Dim A As WinForm.Painter
        A = Forms("系统设置").CreateControl("图片列表" & i, ControlTypeEnum.Painter)
        A.Left =105*((i-1) mod 5)
        A.Top = 75*((i-1)\\5)
        A.Width =100
        A.Height =70
        Forms("系统设置").Controls("Panel2").AddControl(A)
        Forms("系统设置").controls("图片列表" & i).Cursor = Windows.Forms.Cursors.Hand
        Dim p1 As WinForm.Painter = e.Form.Controls("图片列表" & i)
        Dim g1 As Graphics = p1.Graphics
        g1.Clear(Color.Transparent)
        g1.DrawImage(getImage(lbl.Text),0,0,100,70)
        p1.Repaint()
    next
    e.Form.Controls("大视图").Visible = true
    MessageBox.Show("你选择的图片:" & dlg.FileName & "已被成功添加到系统,从下次开始即可以直接选用!","提示",MessageBoxButtons.ok, MessageBoxIcon.Information)
end if

--  作者:xycn
--  发布时间:2010/3/31 11:24:00
--  

ProjectPath是指当前foxtable文件所在的目录吗

我想要获得的目录是通过OpenFileDialog选取的文件所在的目录,这个目录是可以选择的,请问有什么办法可以实现?


--  作者:xycn
--  发布时间:2010/3/31 11:40:00
--  

我主要是想在foxtable里对图片文件进行重命名然后移动,目标目录已知,通过OpenFileDialog可以得到输入源文件名称,但源文件的目录却不知道该怎么获得。


--  作者:yangming
--  发布时间:2010/3/31 12:15:00
--  

MoveFile

将文件移到一个新的位置。

语法:

MoveFile(OldFile, NewFile)

OldFile: 要移动的文件。
NewFile:新的路径和文件名。

例如:

FileSys.MoveFile("C:\\TestDir1\\test.txt", "C:\\TestDir2\\test2.txt")

表示将文件Test.txt从TestDir1移到TestDir2,并将其重命名为Test2.txt。


--  作者:yangming
--  发布时间:2010/3/31 12:18:00
--  

RenameDirectory

重命名目录。

语法

RenameDirectory(Directory, NewName)

Directory:要重命名的目录
NewName:新的目录名,不用包括路径,只需指定新的名称。

例如:

FileSys.RenameDirectory("C:\\MyFolder", "YourFolder")

将C盘的MyFolder目录重命名为YourFolder.



 

RenameFile

重命名文件。

语法

RenameFile(File, NewName)

File:要重命名的文件。
NewName:新的文件名,不包括目录。

例如:

FileSys.RenameFile("c:\\data\\Test.txt", "SecondTest.txt")

将文件“c:\\data\\Test.txt”重命名为“SecondTest.txt”。


--  作者:xycn
--  发布时间:2010/3/31 14:53:00
--  

MoveFile参数中的oldfile如果要让它通过OpenFileDialog得到,要怎么写代码?


--  作者:yangming
--  发布时间:2010/3/31 16:25:00
--  
以下是引用xycn在2010-3-31 14:53:00的发言:

MoveFile参数中的oldfile如果要让它通过OpenFileDialog得到,要怎么写代码?

Dim dlg As New OpenFileDialog \'定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
  FileSys.MoveFile(dlg.FileName, "C:\\TestDir2\\test2.xls")
MessageBox.Show("你选择的是:" & dlg.FileName,"提示") \'提示用户选择的文件
End If


"C:\\TestDir2\\test2.xls  这个路径及文件名要你自己设定,或是通过文本框输入

[此贴子已经被作者于2010-3-31 16:26:32编辑过]

--  作者:xycn
--  发布时间:2010/3/31 16:50:00
--  
dlg.FileName返回的只是文件名,没有包括路径吧。这样写语句的话可以吗