設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 2226|回復(fù): 5
打印 上一主題 下一主題

[窗體] 新開一貼:怎樣把收到的多條短信按每條一行寫入文本框中?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2012-7-27 17:29:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 bjcompass 于 2012-7-27 17:32 編輯

聽todaynew老師的建議,新開一貼,繼續(xù)求教:
按yehf網(wǎng)友例子學(xué)做一窗體,窗體中有一個(gè)Microsoft Web Browser控件W1、一個(gè)文本框text1和一個(gè)命令按鈕Command1。代碼如下:
Private Sub Command1_Click()
Me.Text1 = Me.W1.Document.body.innertext
End Sub

Private Sub Form_Load()
Me.W1.Navigate "http://inolink.com/ws/Get.aspx?CorpID=******&Pwd=******"  '*號代表短信平臺(tái)的帳號和密碼.
End Sub
       現(xiàn)在已經(jīng)達(dá)到效果,窗體加載后在窗體中的控件W1中接收到不確定數(shù)量的回復(fù)短信,每條短信都是括號中的格式 ( ||回復(fù)手機(jī)號碼#回復(fù)內(nèi)容#回復(fù)的時(shí)間# ) 但是 每條短信之間不分行且沒有間隔。點(diǎn)擊命令按鈕這些短信寫入到text1中,仍然不分行,難以閱讀。
      我現(xiàn)在采取的辦法是設(shè)置字符串Dx=Me.W1.Document.body.innertext  ,然后用Replace命令把Dx中的“||”替換成回車符vbcrlf,然后把DX寫入Text1。這樣雖然可以實(shí)現(xiàn)每條短信一行了,但仍然存在2個(gè)問題:
      1、因?yàn)槊織l短信的內(nèi)容長短不一,內(nèi)容后面緊跟的回復(fù)i時(shí)間就不能上下對齊,不整齊美觀。
      2、因?yàn)槠脚_(tái)短信只能接收一次,如果把窗體關(guān)閉,再打開就收不到已經(jīng)看過的短信了。
請問各位老師:1、分行的辦法是否合理,還有其他更好的辦法嗎?2、是否可以把短信保存到一個(gè)表或者一個(gè)txt文本中?求代碼!


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2012-7-28 03:39:06 | 只看該作者
考慮用Split函數(shù)來進(jìn)行分割,大體代碼如下(剩下的修改工作由你自己完成啦):
  1. Sub test()
  2. s = "137****6214#我是Roych#4:30#"
  3. '按固定格式分成字符串?dāng)?shù)組。
  4. p = Split(s, "#")
  5. For i = 0 To UBound(p) - 1
  6. '按3取模。
  7.     Select Case (UBound(p) - 1) Mod 3
  8.         Case 0
  9.         Debug.Print "回復(fù)手機(jī)號碼:" & p(i)
  10.         Case 1
  11.         Debug.Print "回復(fù)內(nèi)容:" & p(i)
  12.         Case 2
  13.         Debug.Print "回復(fù)時(shí)間:" & p(i)
  14.     End Select
  15. Next
  16. End Sub
復(fù)制代碼
個(gè)人建議建立起一張表,將上面的代碼稍稍改進(jìn)一下,以ADO的形式寫入,比較便于數(shù)據(jù)的存取。
3#
 樓主| 發(fā)表于 2012-7-28 13:18:39 | 只看該作者
本帖最后由 bjcompass 于 2012-7-29 07:44 編輯

謝謝roych版主
      實(shí)際情況是接收到的短信可能0條或幾條或幾十條不固定,假如收到三條短信內(nèi)容就是括號里面的形式: ( ||手機(jī)號碼#回復(fù)內(nèi)容#回復(fù)的日期時(shí)間#||手機(jī)號碼#回復(fù)內(nèi)容#回復(fù)的日期時(shí)間#||手機(jī)號碼#回復(fù)內(nèi)容#回復(fù)的日期時(shí)間# )。各條短信之間沒有空格且不分行。
      我把接受內(nèi)容中的“||”置換為回車換行符,已經(jīng)可以按每條一行寫入文本框了。但是因?yàn)槭謾C(jī)號碼和日期時(shí)間格式長度固定而回復(fù)內(nèi)容長度不固定,所以造成寫入文本框后每條短信的“回復(fù)日期時(shí)間”部分不能上下對齊,可讀性差。
      我希望達(dá)到的效果是,給“回復(fù)內(nèi)容”部分固定一定數(shù)量的字符長度,比如40個(gè)字符。即使回復(fù)內(nèi)容只有一個(gè)字,后面也用空白補(bǔ)齊。這樣后面的日期時(shí)間就上下對齊了。如果能寫入到一個(gè)txt文本文件或保存到表里更好。
     
     
     
4#
發(fā)表于 2012-7-30 01:18:12 | 只看該作者
本帖最后由 roych 于 2012-7-30 01:20 編輯

以下是強(qiáng)制換行的代碼(沒有附件,只好一丁點(diǎn)一丁點(diǎn)地給出代碼了):
  1. Sub Test2()
  2. txt="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"
  3. For j = 0 To Len(txt) \ 20
  4.     s = s & Mid(txt, j * 20 + 1, 20) & Chr(13) & Chr(10)
  5. Next j
  6. debug.Print s
  7. End Sub
復(fù)制代碼
另外,自動(dòng)橫高部分可參考以下帖子:
http://www.mzhfr.cn/thread-106052-1-1.html
5#
 樓主| 發(fā)表于 2012-7-31 11:59:45 | 只看該作者
本帖最后由 bjcompass 于 2012-7-31 12:06 編輯

沒有例子很難表述,特制作實(shí)例上傳。
如例:打開“短信操作”窗體,如果填寫短信帳號和密碼后點(diǎn)擊“接收”按鈕,就可以在“Zshowmail”窗體接收短信。我希望在“Zshowmail”窗體的text4顯示的短信格式如下:即不管短信內(nèi)容長短。都能使每條短信的日期時(shí)間部分對齊。

13021123456--我們已經(jīng)完成了所有的工作,大家盡情的享受愉快的假期。--20120605 083012--
14232345678--信息已經(jīng)收到。                                                                  --20120506 083134--
13126666666--祝賀少年管弦樂團(tuán)取得優(yōu)異成績感謝輔導(dǎo)教師的努力。       --20120605 093012--
13888888888--近期暴雨頻繁,請各位員工出行注意安全。                        --20120605 093412--

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
6#
 樓主| 發(fā)表于 2012-8-5 16:57:07 | 只看該作者
感謝roych版主,您最后給的那個(gè)實(shí)例完美的達(dá)到我的預(yù)期,非常有用,收藏了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-17 05:20 , Processed in 0.093813 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表