台灣最大程式設計社群網站
線上人數
1761
 
會員總數:241165
討論主題:186825
歡迎您免費加入會員
討論區列表 >> VB.NET >> VB txt打入關鍵字後讀出那一行的資料
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
VB txt打入關鍵字後讀出那一行的資料
價值 : 100 QP  點閱數:198 回應數:16

樓主

Mark Huang
門外漢
0 3
58 15
發送站內信

我的txt檔案如下

DIP-20171031.xlsm
DIP-20171101.xlsm
DIP-20171103.xlsm

我目前是用VB來寫程式
我想只輸入關鍵字例如:20171031
就可以讀出DIP-20171031.xlsm這樣
可以用Msgbox先表示出來就好

請問是否有VB的工具或是怎麼寫出來
麻煩大家了><

搜尋相關Tags的文章: [ VB ] , [ 關鍵字 ] ,
本篇文章發表於2017-11-09 14:52
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
請問一下 目前卡在那?要如何協助你

1.你現在不會開 txt 檔案
2.讀不到檔案
3.不會分割
4.找不到
5.顯示不出來

本篇文章回覆於2017-11-10 00:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Mark Huang
檢舉此回應
已經可以開txt檔
可以將三個檔案名讀到txt中
這是我用的contains來做比較




但是它一直只能讀第一行
輸入第二行的文字就都是false
想請問如何能夠讓它第一行false後讀第二行
並且能用msgbox來讓它顯示出全部檔名
謝謝
本篇文章回覆於2017-11-10 01:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
你沒有跑廻圈,當然只會一次而己

do
stringReader = fileReader.ReadLine()

'如果沒有資料則要結束 exit do

i = stringReader.Contains(number1)
MsgBox("The first line of the file is " & i )


loop
本篇文章回覆於2017-11-10 07:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Mark Huang
檢舉此回應
迴圈是ok的~
它可以判斷true or false

可是我需要把true的值帶出來
而不是只是讓它顯示出true而已

請問應該要怎麼做呢?
本篇文章回覆於2017-11-10 08:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Mark Huang
檢舉此回應
就是如果我輸入20171101
那DIP-20171101.xlsm這一行就是true

我想要它顯示出The first line of the file is "DIP-20171101.xlsm"
而不是The first line of the file is "true"

請問應該要怎麼做呢?
謝謝您
本篇文章回覆於2017-11-10 08:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
MsgBox("The first line of the file is " & keyword.text & ".xlsm" )

本篇文章回覆於2017-11-10 09:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

Mark Huang
檢舉此回應
不好意思沒說清楚...
因為我還有一些檔案它可能是
DIM-20171102-12345.xlsm
也就是說我還是希望打20171102的時候
它能完全顯現出來

我現在就是卡在它可以判斷true or false
但true的值要怎麼完全顯示得出來......

謝謝大家
本篇文章回覆於2017-11-10 09:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
最有價值解答

P陳
檢舉此回應
那就要在Do look 之間比對了

do
stringReader = fileReader.ReadLine()

'如果沒有資料則要結束 exit do

if instr(stringreader,"20171102")>0 then
msgbox (stringreader)
end if

loop
本篇文章回覆於2017-11-10 11:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

P陳
檢舉此回應
你原本的寫法
do
stringReader = fileReader.ReadLine()
'exit do
i = stringReader.Contains(number1)
if i=true then
MsgBox("The first line of the file is " & i )
end if
loop
本篇文章回覆於2017-11-10 11:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Mark Huang
檢舉此回應
就是這個!!!!!!
成功了!!!
謝謝P大!!!!!!
本篇文章回覆於2017-11-10 11:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

Mark Huang
檢舉此回應
請問要怎麼表示沒有資料了呢?
因為可能會有兩筆以上的資料我想通通帶出
貸出完才exit do
本篇文章回覆於2017-11-10 12:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

P陳
檢舉此回應
再加個計數器即可

dim Icount as integer=0
do
stringReader = fileReader.ReadLine()
'exit do
i = stringReader.Contains(number1)
if i=true then
MsgBox("The first line of the file is " & i )
Icount+=1
end if
loop
msgbox ("共有 " & Icount & "筆資料")

本篇文章回覆於2017-11-10 12:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

Mark Huang
檢舉此回應
可是他沒有跳出來的條件ㄟ~
這樣會不會卡住呢?
能用剛才P大你說的比較的方法示範一次嗎~

do
stringReader = fileReader.ReadLine()

'如果沒有資料則要結束 exit do

if instr(stringreader,"20171102")>0 then
msgbox (stringreader)
end if

loop


謝謝您~
本篇文章回覆於2017-11-10 13:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

P陳
檢舉此回應
stringReader = fileReader.ReadLine()
'如果沒有資料則要結束 exit do
-----------------------------

stringReader = fileReader.ReadLine()
if stringreader.tostring="" then exit do

本篇文章回覆於2017-11-11 22:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

Mark Huang
檢舉此回應
並未將物件參考設定為物件的執行個體。

跳出這個東西ㄟ...是怎麼回事呢?
本篇文章回覆於2017-11-12 10:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

回覆
如要回應,請先登入.