作者porridge (魚罐頭)
看板BBSmovie
標題Re: [問題] 控制碼使用
時間Sun Feb 25 15:16:03 2007
I 根據推文的結果
D 我實際去裝了PCMan來看,也是無法正確顯示結果
:
目前確定的是KKMan和Telnet是正常的
--
看了這一篇控制碼的例子
我那該死的壞習慣又跑出來了
所以就花了一些時間去研究控制碼
並且弄了這篇教學
在學校有這麼認真就好囉~囧
下面的內容會說明
直立ID怎麼來的
有興趣的再往下看吧
此外對於沒接觸過
控制碼與
位移碼的人
這些內容可能不容易了解
建議逛一下精華區的相關內容
PS:
1.因為剛學控制碼,可能會有錯誤的地方,或有更好的方法,歡迎指正
2.我只測試過8個字元的ID,其他的靠大家測試囉
--
以下內容要說明如何將
控制碼產生的ID
以
直立的方式顯示,如下圖所示:
───────────────── 顯示結果 ─────────────────
p I h n y 督
o D a e e 嚕
r p w a 督
r p r 嚕
i y 督
d 嚕
g 督
e 嚕
督
大
大
大← 12個字的範例XD
────────────────────────────────────────
--
介面說明:
顯示結果 ─ 我們一般看到的畫面
原始碼 ─ 編輯文章時要輸入的內容(* 要用 Ctrl+U 來產生)
───────────────── 顯示結果 ─────────────────
───────────────── 原始碼 ─────────────────
────────────────────────────────────────
--
我們以porridge這個ID為例子來說明
不同行會以不同顏色來區分
───────────────── 顯示結果 ─────────────────
_
───────────────── 原始碼 ─────────────────
//第一行開始
────────────────────────────────────────
--
首先我們來處理第一行的p
1.先記錄目前游標的位置(
*[s)
也就是第一行的最左的位置,以後會用到
───────────────── 顯示結果 ─────────────────
_
───────────────── 原始碼 ─────────────────
*[s
────────────────────────────────────────
--
2.然後就是產生ID啦(
**s)
這裡的第一個*是 Ctrl+U
第二個*是 Shift+8
───────────────── 顯示結果 ─────────────────
porridge_
───────────────── 原始碼 ─────────────────
*[s**s
────────────────────────────────────────
--
3.將ID輸出出來後,因為我們只要第一個字元p
我們先把游標移到最左邊(
*[u)
(也就是之前記錄的游標位置)
───────────────── 顯示結果 ─────────────────
porridge
───────────────── 原始碼 ─────────────────
*[s**s*[u
────────────────────────────────────────
--
4.接著我們把游標往右移一格(
*[1C)
───────────────── 顯示結果 ─────────────────
porridge
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C
────────────────────────────────────────
--
5.再把第二個字元(游標)後面的內容刪除(
*[K)
這樣就得到了第一行要的p
───────────────── 顯示結果 ─────────────────
p_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
────────────────────────────────────────
--
第一行結束後
游標會移到第二行
接著我們來處理第二個字元o
───────────────── 顯示結果 ─────────────────
p
_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
//第二行開始
────────────────────────────────────────
--
這時要用點技巧
1.首先先記錄目前游標的位置(
*[s)
也就是第二行的最左的位置,以後會用到
───────────────── 顯示結果 ─────────────────
p
_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s
────────────────────────────────────────
--
2.接著將游標移到上一行的最後一格(
*[1A*[79C)
*[1A 將游標向上移1格
*[79C 將游標向右移79格
───────────────── 顯示結果 ─────────────────
p _
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C
────────────────────────────────────────
--
3.然後就是產生ID啦(
**s)
因為一行超出80個字元時就會擠到下一行
相信大家這麼聰明,看了顯示結果就會知道為什麼要將游標移到上一行的最後面
───────────────── 顯示結果 ─────────────────
p p
orridge_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s
────────────────────────────────────────
--
4.接下來就是把不要的字元刪除(保留第二個字元o)
這跟第一行的處理一樣
游標移到之前記錄的位置(
*[u),右移一格(
*[1C),刪除游標後的內容(
*[K)
───────────────── 顯示結果 ─────────────────
p p
o_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K
────────────────────────────────────────
--
5.這時別忘了第一行還有一個p沒刪掉
所以要將游標移到上一行的最後一格(
*[1A*[78C)
───────────────── 顯示結果 ─────────────────
p p
o
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K*[1A*[78C
────────────────────────────────────────
--
6.然後一樣刪除游標後的內容(
*[K),現在游標是在第一行
如果這樣子結束第二行的話(每行結束游標會換行)
游標會移到第二行開始,也就是的三行的內容會從第二行開始(也就是會蓋掉第二行)
───────────────── 顯示結果 ─────────────────
p _
o
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K*[1A*[78C*[K
────────────────────────────────────────
--
7.所以我們要把游標往下移一格(
*[1B)
到此第二行就結束了
也得到我們要的第二個字元
───────────────── 顯示結果 ─────────────────
p
o _
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K*[1A*[78C*[K*[1B
────────────────────────────────────────
--
之後的每一行就跟第二個字元的處理方式差不多
差別在於要的字元不同
還有要注意游標的位置、位移的大小
───────────────── 顯示結果 ─────────────────
p
o
_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K*[1A*[78C*[K*[1B
//第三行開始
────────────────────────────────────────
--
因為ID是由2-12個字元組成的
所以直立的ID顯示實用性我覺得好像不高啦XD
至於有沒有其他變化就看大家的智慧了
───────────────── 顯示結果 ─────────────────
p
o po
rridge_
───────────────── 原始碼 ─────────────────
*[s**s*[u*[1C*[K
*[s*[1A*[79C**s*[u*[1C*[K*[1A*[78C*[K*[1B
*[s*[1A*[78C**s...
────────────────────────────────────────
用PHJCI作動畫騙不到P幣 囧
--
--
◤ ◥ ◤ ◥← ◤ ◥ ◤ ◥
● ● ● ● ● ●← ● ●
◣ ▃ ◢ ◣ ▃ ◢ ◣ ▃ ◢ ◣ ▃ ◢
<有> <錢> <真> <好←
∥↖ ∥ ∥ ∥
If this is empty, this this this doesn't matter.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.55.93
推 cerement:推這篇,雖然我看不懂ˊwˋ 02/25 15:20
※ 編輯: porridge 來自: 203.73.55.93 (02/25 15:25)
→ Kenqr:我在第一頁只有看到"ID: K" @@ 02/25 15:32
→ porridge:測試中...難道只能去申請10個帳號來測試這個辦法嗎XD 02/25 15:36
推 raysilence:我看得到全部 02/25 15:41
→ porridge:沒辦法註冊新帳號...總之希望這篇對有興趣的人有幫助 02/25 15:50
推 pnt:push 02/25 16:08
推 sleepdevil:十個ok. 不過能不能教一下*[K.*[s*[1C之類的要怎麼打? 02/25 16:58
推 SansWord:強者! 不過這種作法還是無法達到最後的泛用型... 02/25 17:05
→ sleepdevil:測試...成功了!!!(驚嚇中...) 02/25 17:23
推 STOryM75613:竟然可以利用換行..真是太厲害了... 02/25 18:05
推 dalflower:怎麼辦到的? 02/25 18:15
→ Kinra:我還是只能看到K 02/25 18:35
推 Kinra:嗯 telnet可以看到正確的直行ID 02/25 19:10
推 siriusu:我也只能到s 開telnet看看好了QQ 恩telnet可以手邊沒kk.. 02/25 19:20
推 siriusu:剛剛稍微研究了一下pcman不適用可能是不會自動換行? 02/25 19:26
推 lizhg:好強 我的直立ID是完整的 ^^ 02/25 19:26
→ siriusu:(最近才換kkman 所以有請高人指教 @@) 02/25 19:26
推 siriusu:更正 換pcman... )最後推一個^_^ 02/25 19:30
推 ForSinSoKing:我只看得到F... 02/25 19:54
推 rebecca1226:我只看得到r 02/25 22:19
※ 編輯: porridge 來自: 203.73.55.93 (02/25 22:41)
※ 編輯: porridge 來自: 203.73.55.93 (02/25 22:43)
→ porridge:我想大概就是siriusu說的那樣吧 02/25 22:44
→ porridge:所以說如果我用PCMan大概就沒有這一篇了吧XD 02/25 22:45
推 ingui11:真的耶...剛剛開KK有顯示全部@@ 02/25 22:50
推 siriusu:pcman裡面 選項 修改pcman各項設定 站台選項 02/25 23:05
→ siriusu:終端機設定 那邊有一個「文字超出畫面自動換行」 02/25 23:06
→ siriusu:唯一的問題是預設是關閉 不然就要在動畫最前面提醒打開 02/25 23:07
感謝熱心的siriusu解決了這個問題
依siriusu上述的方法改完,重新啟動PCMan,就可以正常顯示直立ID了
所以我的作法還是不適合,不可能為了看控制碼要大家去改設定吧...
※ 編輯: porridge 來自: 203.73.55.93 (02/25 23:52)
推 Cypresslin:用Firefox的PCMAN看到的全部都是我的ID XD 03/06 20:03