Re: [閒聊] 近況 + JavaScript

看板mud_sanc (Sanctuary - 聖殿)作者 (揮淚斬馬雲)時間6年前 (2018/10/19 23:23), 6年前編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串2/10 (看更多)
繼續,最近依舊忙,大概至少忙到下禮拜五,新設備通常要運轉一 段時間才會穩定,我剛好是趁這時間把操作手冊全部編完。 ==== 最近最常使用到的兩個 javascript ActiveX 物件是 var fso = new ActiveXObject("Scripting.FileSystemObject") var wsh = new ActiveXObject("WScript.Shell") 前者是處理檔案的,當 new 了一個 fso 物件出來時,它就有幾種 方法(屬性)可使用: fso.FileExists("檔名") 判斷檔案是否存在 var fs = fso.OpenTextFile("檔名",參數..); 當 open 出了一個 fs 檔案物件時,這個物件就能做以下事情: var str = fs.ReadAll(); // 相當於 read_file("檔名"); 那因為我"那時候"發現讀進來的東西似乎沒辦法在網頁上正確地分 行顯示,所以我用了另一種讀取方式: str=""; while(!fs.AtEndOfStream) // 直到檔案的盡頭 { tmp=fs.ReadLine(); // 一行一行將資料讀出來 . . str+=tmp+"<BR>"; // 自己加 <BR>分行 } 後來知道了有 str.replace 可用後又簡單多了。 那既然有 ReadLine 自然就有 WriteLine,我因為試 .Write 試 了老半天都失敗,就決定用 WriteLine(這個則會成功),我的做 法是: 1.OpenTextFile() + ReadAll() 把檔案讀進來 2.再用 OpenTextFile 帶特殊參數去重新開啟一個 ForWriting 的檔案 3.然後把原始檔案的內容再加上我欲新增的內容 4.最後用 WriteLine 的方式將檔案寫進去 上面其實用 ForAppending 的開啟方式就行了,之所以沒這麼做 ,是因為我希望每次附加的內容都在檔案的最前頭。 (山不轉路轉的改法) wsh 物件則簡單多了我通常只做以下的事 wsh.Run("cmd.exe /c 指令內容",0); wsh.Run("cmd.exe /c 指令內容 > d:\\cmd.txt",0); 簡單的說就是可以叫出小黑窗去執行某個指令或批次檔,而且這 個小黑窗一閃即逝,上面第二行的意思,是將指令的執行結果存 成 d:\cmd.txt 檔,然後我再 ReadLine() 進來為每一行加上分 行的 <BR>,就可以把執行結果顯示在網頁上的意思。 目前則還不需要用到 Dictionary 物件,這物件我在寫 asp 網頁 時期還蠻常用的,很好用,因為它相當於 mudlib 的 mapping 變 數格式。 string 則用到了以下幾種: str.replace(" ","_"); 將 str 字串中的 空格 替換成 底線 str.replace(/ /gi,"_"); 將 str 字串中所有的空格替換成底線 strs=str.split("\n"); 相當於 strs=explode(str,"\n"); if(!str.indexOf("end")) 相當於 if(strsrch(str,"end")) 最後就是越積越多的 html 標籤複習,很多東西我以前都寫過 用過但是都忘光,剛好趁這次機會全部總複習,目前已用到: <table 畫表格 <input type=text 請輸入名稱: <input type=buttom 確定 取消 送出 等按紐 <textarea 請輸入一段文字 <select 下拉式選單 <h2> 想要簡單呈現比較大的文字時 <frameset 規劃首頁編排 我猜再過不久我就會使用到跑馬燈、以及選取按鈕,以及當游 標移動到超連結或按鈕時會先跳出的說明文字那個。 我預計最慢下禮拜二可以完成設備資料查詢網頁,最慢下禮拜 五可以編完所有操作手冊的內容,然後,我就要轉移到下一個 據點繼續忙其它事了。(10 月起大概就是這樣的工作型態) 以下是在網頁編一顆叫出本機控制台的按鈕的簡單例子 <html> <script type="text/javascript"> function call_cmd(cmd_string) { var wsh; wsh = new ActiveXObject("Wscript.Shell"); wsh.Run("cmd.exe /c "+cmd_string,0); wsh.Quit(); } </script> <input type=button value='叫出控制台' onclick='call_cmd("control")'> </html> 網頁就是長這樣 ┌──────────────────── │ │ 叫出控制台 <= 按鈕 │ │ 按這顆按鈕→觸發onclick→呼叫 call_cmd 函數→叫出小黑窗執行 control 指令 使用 cmd.exe /c 以及後面參數帶 0,用意是讓小黑窗一閃即逝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.106.224 ※ 文章網址: https://www.ptt.cc/bbs/mud_sanc/M.1539962582.A.684.html ※ 編輯: laechan (122.117.106.224), 10/19/2018 23:26:56

10/22 21:01, 6年前 , 1F
推一下 好久沒登了...
10/22 21:01, 1F
文章代碼(AID): #1RoVRMQ4 (mud_sanc)
文章代碼(AID): #1RoVRMQ4 (mud_sanc)