以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在组合框里获得文件夹下的文件名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70923)

--  作者:zhangchi96
--  发布时间:2015/7/1 15:52:00
--  如何在组合框里获得文件夹下的文件名

1、在软件系统默认的路径下有个文件夹“个人信息”,文件夹下文件名为:

              (文件名分两种:在职信息、离退休信息,扩展名.xy为自定义的)

 

      刘大同在职信息.xy

      陈华在职信息.xy

      张强离退休信息.xy

      李芳在职信息.xy

      杨华在职信息.xy

      小红离退休信息.xy

      liuhai在职信息.xy

 

2、在窗体中建两个组合框ComboBox:在职人员、离退休人员

    想在“在职人员”中 出现列表为:                  “离退休人员”中,出现列表为:

                                             liuhua

                                              陈华                                            小红

                                              李芳                                             张强

                                              刘大同

                                              杨华

 

请教,如果写事件代码?(个人觉得很难,没信心研究了,请教高手!)

 

[此贴子已经被作者于2015/7/1 15:53:26编辑过]

--  作者:大红袍
--  发布时间:2015/7/1 15:56:00
--  

1、

 

Dim str As String = ""
For Each f As String In FileSys.GetFiles("d:\\")
    str &= FileSys.GetName(f) & "|"
Next

msgbox(str.Trim("|"))


--  作者:大红袍
--  发布时间:2015/7/1 15:58:00
--  

2、

 

Dim str As String = ""
Dim zz As String = ""
Dim lt As String = ""
For Each f As String In FileSys.GetFiles("d:\\")
    If f.Contains("离退") Then
        lt &= FileSys.GetName(f) & "|"
    ElseIf f.Contains("在职") Then
        zz &= FileSys.GetName(f) & "|"
    End If
    str &= FileSys.GetName(f) & "|"
Next

msgbox(str.Trim("|"))
msgbox(zz.Trim("|"))
msgbox(lt.Trim("|"))


--  作者:don
--  发布时间:2015/7/1 16:07:00
--  


Dim fls as string  = ProjectPath & "个人信息\\"

Dim zzs as string

Dim Lts as string

For Each File As string In FileSys.GetFiles(fls)

  if File.Contains("在职信息.xy") Then

    zzs =zzs & File.split("在")(0) & "|" 

  Elseif File.Contains("离退休信息.xy") Then

    Lts =Lts File.split("")(0) & "|" 

  End if
Next

zzs =zzs.trim("|")  \'在職列表

Lts =Lts.trim("|")   \'離退休列表



[此贴子已经被作者于2015/7/1 16:07:40编辑过]

--  作者:zhangchi96
--  发布时间:2015/7/2 10:33:00
--  

请教“don”,我的组合框是这样定义的:

 

Dim xingming As WinForm.ComboBox = e.Form.Controls("姓名")

xingming.ComboList =

 

这个后面怎么写呢?写成 xingming.ComboList = zzc 又不能,请指教!


--  作者:大红袍
--  发布时间:2015/7/2 10:51:00
--  

Dim str As String = ""
Dim zz As String = ""
Dim lt As String = ""
For Each f As String In FileSys.GetFiles("d:\\")
    If f.Contains("离退") Then
        lt &= FileSys.GetName(f).Replace("离退休信息.xy", "") & "|"
    ElseIf f.Contains("在职") Then
        zz &= FileSys.GetName(f).Replace("在职信息.xy", "") & "|"
    End If
    str &= FileSys.GetName(f) & "|"
Next

msgbox(str.Trim("|"))
msgbox(zz.Trim("|"))
msgbox(lt.Trim("|"))

 

Dim xingming As WinForm.ComboBox = e.Form.Controls("姓名")
xingming.ComboList = zz


--  作者:zhangchi96
--  发布时间:2015/7/2 16:11:00
--  

特别谢谢,有用了,我整理的一下,最后的代码如下:

 

\'----- 设置 选择姓名 控件的下拉菜单------
Dim str As String = ""
Dim zz As String = ""
Dim lt As String = ""
For Each f As String In FileSys.GetFiles( ProjectPath & "\\上报接受\\" )
    If f.Contains("离退") Then
        lt &= FileSys.GetName(f).Replace("离退信息.xh", "") & "|"
    ElseIf f.Contains("在职") Then
        zz &= FileSys.GetName(f).Replace("在职信息.xh", "") & "|"
    End If
    str &= FileSys.GetName(f) & "|"
Next
\'msgbox(str.Trim("|"))
\'msgbox(zz.Trim("|"))
\'msgbox(lt.Trim("|"))

Dim zjxingming As WinForm.ComboBox = e.Form.Controls("再选择增加人员姓名")
zjxingming.ComboList = zz
\'------------------------------------------------

 

 

 

如果能把获得的名字排序就更好了。


--  作者:大红袍
--  发布时间:2015/7/2 16:12:00
--  
 排序的规则是什么?
--  作者:zhangchi96
--  发布时间:2015/7/2 16:32:00
--  

我想是按姓名的拼音排序啊!不知能否可行?


--  作者:大红袍
--  发布时间:2015/7/2 16:49:00
--  

Dim str As new List(Of String)
Dim zz As new List(Of String)
Dim lt As new List(Of String)

For Each f As String In FileSys.GetFiles("D:\\")
    If f.Contains("离退") Then
        lt.add(FileSys.GetName(f).Replace("离退信息.xh", ""))
    ElseIf f.Contains("在职") Then
        zz.add( FileSys.GetName(f).Replace("在职信息.xh", ""))
    End If
    str.Add(FileSys.GetName(f))
Next
Dim azz() As String = zz.ToArray
Array.Sort(azz)
Dim szz As String = String.Join("|", azz)
msgbox(szz)
Dim alt() As String = lt.ToArray
Array.Sort(alt)
Dim slt As String = String.Join("|", alt)
msgbox(slt)
Dim astr() As String = str.ToArray
Array.Sort(str.ToArray)
Dim sstr As String = String.Join("|", astr)
msgbox(sstr )