LaTeX 的回憶

這些天因為每天使用的電腦,螢幕不斷地閃爍送修,取代的替用電腦只有 512KB 的記憶體,幾乎平日工作上常用的程式及電腦環境,都不能設定上去。使得有多餘上網的時間,查詢目前手中還未解決問題的答案;不料,無意間卻看到的早已塵封十幾年的東東 – LaTeX
記得,當年還在倚天資訊服務,由研發部門改編的中文版 LaTeX 軟體,因應當時中文化的需求而推出該產品。對於這玩意,初期我也是不知所云,只知道很多人在寫論文時,都會用到,是乎和排版有關。

從不懂的階段,到發時間、精神去使用及了解,到最後手中也建立的不少有關 LaTeX 的使用技術資料。真值得回憶,當時的一番辛苦。但是,隨著 Windows 環境的不斷變化,加上家中的空間不夠使用,心想 LaTeX 的排版遲早會被 Window 軟體給取代掉,所以心一橫就將那些寶貝(工具、程式、文件等)全拋棄了。
現今,再次看到網路上 LaTeX 相關軟體、資訊等,心中實在有說不出來的感慨 !!

DISPLAY 解析度 知多少?

解析度 專有名詞 說明
320 * 200 CGA Color Graphics Adapter
320 * 240 QVGA Quarter VGA
640 * 480 VGA Video Graphics Array
740 * 350 EGA Enhanced Graphics Adapter
800 * 600 SVGA Super VGA
1024 * 768 XGA / XVGA eXtended VGA
1280 * 800 WXGA Widescreen Extended Graphics Array
     

749px-Vector_Video_Standards2.svg

參考資料:http://en.wikipedia.org/wiki/XVGA

C# 程式語言的認識

C# 語言規格 3.0 [可下載 doc 檔]
統一的 C# 語言規格包含 C# 語言到 3.0 版為止的所有功能。

前置處理器指示詞 (Preprocessor Directive):

#if
#else
#elif
#endif
#define
#undef
#warning
#error
#line
#region
#endregion
#pragma
#pragma warning
#pragma checksum

雖然編譯器 (Compiler) 沒有獨立的前置處理器 (Preprocessor),但是本章節中所述的指示詞仍會以如同有獨立前置處理器存在進行處理;這些指示詞可用在協助條件式編譯。與 C 和 C++ 的指示詞不同,您不能用這些指示詞建立巨集。

前置處理器指示詞必須是每一行中唯一的指令。

資料來源:http://msdn.microsoft.com/zh-tw/vcsharp/aa336809.aspx

跛腳的 IT人員 (二)

實作 網路空間 的設定

跛腳的 IT人員 (一)

常在寫程式的 IT人員,尤其是需要抓取 SQL Server資料庫的資料或是連上公司內部網路主機,就會有這樣的困擾;人就像跛腳一樣,行動不便,或是癱瘓。

一定要在”公司”才能工作,一離開公司,就會因為無法連上SQL Server而停擺,程式寫不下去,或是無法使用公司內部網路的主機空間。

常常心想著,一定要這樣過日子麼?

經過多方研究後,發現的解決方法,使得我不再會是個跛腳 IT。

困擾一:無法使用公司內部網路的主機空間

一般來說,個人電腦啟動後,會因硬碟空間的分配才佔用的 C: / D:
加上VCD/DVD的設備,又會將 E: 用掉。
所以,網路空間的編號,大部份就會由 F: 起算。(這因個人喜好及設備多寡而不同)

起初的想法,就是即然網路是由 F: 編起,是不是在不連上公司網路的情況下,使用的電腦能有 F: 就可以解決?
沒錯,就是這樣,而且有行 !!

環境設定: (參考文件)
1. 假若你要用到 F:\TOOLS ,那就先要在 Local H/D 中,建一可以 共享 的子目錄,並將其共享目錄名稱設為 TOOLS
2. 架設網路環境,增設 Microsoft Lookback 通訊協定
3. 執行 NET USE F: \\電腦名稱\共享目錄名稱

困擾二:無法抓取 SQL Server資料庫的資料

想要不直接連上公司的 SQL Server,就要想到已建置在 Local 的 SQL,是不是可以用來取代之?

想法可行,所以就要將公司 SQL Server 的備份檔,回復到 Local SQL 中。
並做適當的環境設定。

設定步驟: (參考文件)
1. Restore Database
2. 增設 Login 帳號
3. 刪除原本回復資料庫的 owner ,並重新設定
4. 設定特定 資料庫 的使用權限。

跛腳的 IT人員 (三)

實作 Local SQL Server 的設定

PIA (Primary Interop Assemblies)

What is a PIA? (主要互通組件)

Like any other managed assembly, an interop assembly is a collection of types that are deployed, versioned, and configured as a single unit. However, unlike other managed assemblies, an interop assembly contains type definitions (not implementation) of types that have already been defined in COM. These type definitions allow managed applications to bind to the COM types at compile time and provide information to the common language runtime about how the types should be marshaled at run time.

While any number of interop assemblies may exist that describe a given COM type, only one interop assembly is labeled the PIA. The PIA contains the official description of the types as defined by the publisher of those types. The PIA may contain certain customizations that make the types easier to use from managed code. The PIA is always signed by the publisher of the original COM type.

Any interop assembly that is not provided by the publisher of the COM types is considered unofficial and should be avoided. Because the types defined in such an assembly are not to be signed by the publisher of the PIA, they are incompatible with the definitions provided in the PIA.

有關 PIA 說明的文章,可參考
http://msdn.microsoft.com/en-us/library/aa302338.aspx

UTF8 字串轉為 BIG5

    public static string ConvertUTF8toBIG5(string strInput)
    {
        byte[] strUTF8 = System.Text.Encoding.Unicode.GetBytes(strInput);
        byte[] strBIG5 = System.Text.Encoding.Convert(System.Text.Encoding.Unicode, System.Text.Encoding.Default, strUTF8);

        return System.Text.Encoding.Default.GetString(strBIG5);
    }

計算兩個日期間的天數、時數、分數、秒數

DateTime dt1 = new DateTime(2008, 12, 31);  
DateTime dt2 = new DateTime.Now;  
TimeSpan ts = new TimeSpan(dt2.Ticks - dt1.Ticks); 

//相差天數(未滿一天捨去,return int type)
Response.Write(Convert.ToString( ts.Days ));
//相差天數(未滿一天亦計入,return double type)
Response.Write(Convert.ToString( ts.TotalDays ));

//相差小時數(return double type)
Response.Write(Convert.ToString( ts.TotalHours ));

//相差分數(return double type)
Response.Write(Convert.ToString( ts.TotalMinutes ));

//相差秒數(return double type)
Response.Write(Convert.ToString( ts.TotalSeconds ));

OFFICE 2003 / 2007 的註冊碼

在 開始/執行/REGEDIT 中,查詢
HKEY_CURRENT_USER\Software\Microsoft\Office 看其子碼,
若是安裝 2003,則子碼為 11.0
若是安裝 2007,則子碼為 12.0

image

 


曾在部落格文章中,看到儲存到Excel 2003 程式功能,在有安裝 Office 2007 的環境中,就無法正常運作。

解決方法:save the file as 97-2003 format