2018年10月18日 星期四

更改 Google 的設定讓 Outlook 可以收發信

更改 Google 的設定讓 Outlook 可以收發信


要讓 Outlook 可以收 Gmail,要先設定 Google 的設定。設定分為兩部分,一為[Google 帳戶],另一為[Gmail],分別敘述如下。

設定 Google 帳戶
  1. 首先前往 Google 網站且登入自己的 Google 帳號。
  2. 點擊右上角的應用程式圖示(9個小框框),選擇[Google帳戶]
  3. [登入和安全性]設定中點擊[具有帳戶存取權的應用程式]
  4. 開啟[允許安全性較低的應用程式]設定處於啟用狀態

設定 Gmail
  1. 一樣先前往 Google 網站且登入自己的 Google 帳號。當然已經登入的就不用再次登入了。
  2. 點擊右上角的應用程式圖示(圖案像 9 個小框框),選擇[Gmail]
  3. 點擊設定圖示(圖案像小齒輪),選擇[設定]
  4. 點擊[轉寄和POP/IMAP]頁面,在[POP下載:]項目中,選擇[對現在起所收到的郵件啟用 POP 功能]
  5. 移動到頁面最下面,點擊[儲存變更]
接著就可以去開啟 Outlook 來新增帳戶了。設定 Outlook 請參考此連結

設定 Outlook 接收 Google 的 E-Mail

設定 Outlook 接收 Google 的 E-Mail

注意:在此範例中使用 Outlook 2007 版本,如果是其他版本略有差異。
注意:如果 Google 尚未設定,請先參考此連結來設定。不確定有無設定也請參考此連結檢查一下。

  1. 點選[工具(T)] => [帳戶設定(A)...]來開啟帳戶設定視窗。
  2. 點選[新增(N)...]來啟動新增電子帳戶精靈。選擇[Microsoft Exchange、POP3、IMAP 或 HTTP(M)],再按[下一步(N)]
  3. 點選[手動設定伺服器設定或其他伺服器類型(M)],再按[下一步(N)]
  4. 點選[網際網路電子郵件(I)],再按[下一步(N)]
  5. 接著設定帳戶,依照下列設定後,勾選[記住密碼(R)],再按[其他設定(M)...]
    • 您的名稱(Y): 輸入自己的名稱
    • 電子郵件地址(E): 輸入自己的電子郵件地址
    • 帳戶類型(A): POP3
    • 內送郵件伺服器(I): pop.gmail.com
    • 外送郵件伺服器(SMTP)(O): smtp.gmail.com
    • 使用者名稱(U): 輸入自己的電子郵件地址
    • 密碼(P): 輸入自己的電子郵件密碼
  6. 切到[外寄伺服器],勾選[我的外寄伺服器(SMTP)需要驗證(O)],選擇[使用下列登入(L)],在[使用者名稱(N)]中輸入自己的電子郵件地址,在[密碼(P)]中輸入自己的電子郵件密碼,接著切換到[進階]
  7. [內送伺服器(POP3)(I):]中輸入995,並勾選[此伺服器需要加密連線(SSL)(E)],在[外寄伺服器(SMTP)(O):]中輸入465,在[使用下列加密連線類型(C):]中選擇[SSL],再按[確定]
  8. 接著按[測試帳戶設定(T)...]來測試有無設定錯誤,如果內送和傳送兩項都顯示[已完成]的話代表測試成功,接著按[關閉(C)]
  9. [下一步(N)]
  10. [完成]

2018年8月31日 星期五

如何在 Bolgger 發佈 Source Code 顯示的更清晰

Uese this
http://codeformatter.blogspot.tw/

Code:
 #ifdef SEND_TEST  
 if (getTestCmd())  
 {  
     ....
 }  
 #endif  

Other:
去版面設定,最下方點選 新增小工具,彈出視窗後在內容填入
<script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?lang=c&amp;skin=sons-of-obsidian"></script>

在文章編輯中加入CLASS,
<pre class="prettyprint linenums"> your code
...
</pre>

就是

單行點陣放大

因工作需要『放大單色點陣圖』的功能,原本想上網找了一下直接引用,但發現不好找。
與其花時間找,不如自己寫一段比較快。

點陣圖的資料,是每 1 個 bit 代表 1 個點,1 個 byte 8 個點,左上角為第一個點。
這裡的放大構想是這樣,

for (int i = 0; i < pixel_height; i++)
{
    if need scale on the x-axis
        // scale one line
    else
        // copy one line
    if need scale on the y-axis
        // copy line
}

如上所示,FOR LOOP 為原始圖片的高度,動作流程如下,
  1. 先判斷橫向 X 座標的放大倍率,需放大時放大,
  2. 不需要時只複製一行的大小。
  3. 再判斷縱向Y座標的放大倍率,需放大時利用已經完成的第一行來放大,不需要時維持原來的即可。
由上說明可知,最重要的函數是放大單行,其餘都很簡單。

需要的單行放大函數功能是這樣:
void line_scale(unsigned char *sour,
    unsigned int w_byte,
    unsigned char *dest,
    unsigned int magnification)

依序說明如下,
sour: 點陣圖的資料來源(by address),
w_byte: 圖片的寬占用幾個 Byte,
dest: 放大後的圖片資料空間(by address),
magnification: 放大倍率。

完整的原始碼如下:
void line_scale(unsigned char *sour,
    unsigned int w_byte,
    unsigned char *dest,
    unsigned int magnification)
{
    unsigned int i = 0;
    unsigned int k = 0;
    unsigned char cc = 0;
    unsigned char bit_mask = 0;
    unsigned char one_bit = 0;
    unsigned char bit_write_mask = 0;

    if (sour == 0 || dest == 0 || w_byte == 0 || magnification <= 1)
        return;
    bit_write_mask = 0x80; // set to first bit
    for (i = 0; i < w_byte; i++)
    {
        cc = sour[i]; // get one byte data
        for (bit_mask = 0x80; bit_mask > 0; bit_mask >>= 1)
        {
            one_bit = cc & bit_mask; // get one bit data
            for (k = 0; k < magnification; k++)
            {
                if (one_bit)
                    *dest |= bit_write_mask; // set
                else
                    *dest &= ~bit_write_mask; // clear
                bit_write_mask >>= 1; // right shift bit for next bit
                if (bit_write_mask == 0)
                {
                    dest++; // to next byte
                    bit_write_mask = 0x80; // set to first bit
                }
            }
        }
    }
}

後續:
這個方法只支援輸入圖片寬所佔的 Byte 數,所以寬度一定為 8 的倍數。對於非 8 的倍數的圖片,似乎沒這麼好用,即使將原始資料的右邊位元設為 0,意即圖片資料靠左位元,這樣的方式也花費了一些時間來處理非圖片資料的位元。這是個可以改進的地方,但是這範例已經足夠完成工作項目,所以就先不修改了。

就是