撰文於銘 飄散隨風 心行無語 仰首蒼穹

C# 使用 Skin 套件讓程式更美觀 (上)

Iris Skin

 

首先建立一個專案,放上一堆元件。

 

image

 

在專案「參考」按右鍵,選取「管理 NuGet 套件」。

 

image

 

在 NuGet 套件管理員瀏覽頁上方的搜尋框中輸入「irisskin」,會找到 HiNetCloud.IrisSkin4,選擇它並在右方選擇安裝,就會安裝到專案中。

 

重要度:
文章分類:

Google雲端硬碟更改檔名變成上傳的陷阱

最近在 Google 串流版的雲端硬碟進行更名時,發現一個奇怪的現象,寫出來給大家參考,免得日後踩到同樣的地雷 。 :)

假設我有五個檔案。

 

121-0001.jpg

121-0002.jpg

121-0003.jpg

121-0004.jpg

121-0005.jpg

 

我想把它們改名,也就是把最後一個數字減一,理論上我只要寫這個批次檔就可以了,注意順序不可以錯誤。

 

ren 121-0001.jpg 121-0000.jpg

ren 121-0002.jpg 121-0001.jpg

ren 121-0003.jpg 121-0002.jpg

ren 121-0004.jpg 121-0003.jpg

ren 121-0005.jpg 121-0004.jpg

 

不過在實際執行後,檔案的確立刻改好了,但發現雲端硬碟程式在大量工作,一查才發現它在上傳檔案。

 

image

 

重要度:
文章分類:

C# WinForm 取得傳入的參數

C# WinForm 程式要取得使用者傳入的參數,可以使用

 

Environment.GetCommandLineArgs();

 

所取得的第一個元素就是執行檔的檔案名稱。

 

 

public MainForm()

{

    InitializeComponent();

    string[] args = Environment.GetCommandLineArgs();

    foreach(string s in args) {

        MessageBox.Show(s);

    }

}

 

另一種在網路上常看到的方法,就是手動在 Main 主程式的參數中加上 string[] args。

這個方式取得的參數,並不包含執行檔的檔案名稱,這是和上面方法不同的地方,在使用上要注意。

 

[STAThread]

static void Main(string[] args)

{

    foreach(string s in args) {

        MessageBox.Show(s);

    }

    Application.EnableVisualStyles();

    Application.SetCompatibleTextRenderingDefault(false);

    Application.Run(new MainForm());

}

 

 

重要度:
文章分類:
電腦標籤:

C# 單元測試

C# 單元測試

參考:

https://docs.microsoft.com/zh-tw/visualstudio/test/getting-started-with-unit-testing?view=vs-2019&tabs=mstest

 

建立測試程式

先建立測試程式

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace UnitTest {

    public class Sample {

 

        int a = 0;

        int b = 0;

 

        public Sample(int x, int y) {

            a = x;

            b = y;

        }

 

        public int Add() {

            return a + b;

        }

 

        public int Add2() {

            return a * 2 + b * 2;

        }

 

        public int AddAnother (int x) {

            return a + b + x;

        }

    }

}

 

建立測試單元

在程式視窗中按滑鼠右鍵,選擇「建立單元測試」

 

image

重要度:
文章分類:

在 Visual Studio 上使用 GitHub 進行版本控制

本文簡單示範 Visual Studio 建立 C# 專案並使用 GitHub 基本功能。

雖然 Windows 的 TortoiseGit 很好用,但如果可以直接在 Visual Studio 上直接操作,那還是比較方便。

建立專案

image

 

image

重要度:
文章分類:

論「慾境的當下即是涅槃」?

 
在瀚邦佛學研究中心看到蘇錦坤師兄貼出這篇討論
 
 
提到溫金柯依《雜阿含262經》提出「慾境的當下即是涅槃」。
 
看了一下他的理由,大概是出自這一句:
 
「一切諸行空、寂、不可得、愛盡、離欲、涅槃」
 
我想這裡應該是溫師兄對雜阿經這句有所誤解,誤以為一切諸行=空=寂=不可得=愛盡=離欲=涅槃。
 
而慾境也是諸行,所以在一連串的相等之下,有了慾境=涅槃的推論,所以提出『慾境的當下即是涅槃』。
 
然而此處的經文真的是這樣解釋的嗎?
重要度:
文章分類:

HTML 標記 li 底下 span 指定文字格式的奇怪問題

有人發現一個 CSS 排版的問題,後來我發現,只要是這樣 

<ul><li><span class="abc">一堆文字....一堆文字....<a>一堆文字</a>....</span>

在 css 中指定 li 底下 span 的文字大小, 例如

.abc {font-size: 30px; }

而那一堆文字中若有一些標記,不只是 <a>, 我試過 <b> 甚至 <c>,標起來的文字都會上移,不過要夠長,捲到第二行之後才會看到。

底下是測試截圖,我加了下底線。

image

Chrome 和 Edge 都會如此,IE 則不會。

找了一些類似的資料,還不知真正的原因,但 css 這樣設定就可以解決

li span { display:block; }

結果截圖如下:

image

不過會不會有什麼副作用就不清楚了。

重要度:
文章分類:
電腦標籤:

第三世多杰羌佛義雲高背離佛法之處

 
最近又看到義雲高的信眾在網路上宣傳他們的上師,對於自稱是第三世多杰羌佛的義雲高,在此我引用一些基本教義來指出他們的問題。
 
*** ***
 
1 佛法教導中最重要的核心就是「涅槃」,在三法印中被描述為「涅槃寂靜」,意思也就是不再輪迴轉世、不再出生、不受後有。
 
在佛教中,有三類聖者皆是如此,即佛陀、辟支佛、阿羅漢,這三類聖者皆不可能再輪迴轉世。
 
也許有一種情況,就是佛陀可能會以本尊或分身至他方世界隨緣教化,或現出家身、或現居士身,但不可能是重新出生轉世,因為這已違反佛教根本教理。
 
所以號稱第三世多杰羌佛的義雲高應該算是附佛外道了,因為他的存在方式就違背佛教三法印了。
 
重要度:
文章分類:

Swift 使用 ZipArchive 解/壓縮檔案

工作中有需要使用到壓縮與解壓縮 zip 檔案,原本 Mac 以為內建的壓縮功能就可以做到,如下:

https://developer.apple.com/documentation/compression

結果試了半天,也查了一堆資料,好像都無法做到。在查詢資料的過程中,也看到很多人推薦 ZipArchive,我也就用它來測試了。

https://github.com/ZipArchive/ZipArchive

ZipArchive 是 Objective-C 寫的專案,我是要用 Swift 去執行,底下記錄了詳細過程。如果對於 Swift 連結 Objective-C 想多了解一點,可參考這篇:Swift 連結 Swift、Objective-C、C++

ZipArchive 的 Github 專案上有教導如何安裝使用,因為我沒有使用其他安裝工具,所以我採取手動安裝,它主要方法有四:

  1. Add the SSZipArchive and minizip folders to your project.

  2. Add the libz and libiconv libraries to your target.

  3. Add the Security framework to your target.

  4. Add the following GCC_PREPROCESSOR_DEFINITIONS: HAVE_INTTYPES_H HAVE_PKCRYPT HAVE_STDINT_H HAVE_WZAES HAVE_ZLIB $(inherited).

 

底下逐一記錄過程。

重要度:

Swift 連結 Swift、Objective-C、C++

本篇在說明 Swift 連結其他專案的 Swift、Objective-C、C++ 的方法與注意事項。

 

Swift 連結其他 Swift

 

假設有一個目錄 testClass,底下有三個程式 

 

main.swift

person.swift

year.swift

 

其中 person.swift 會使用 year.swift 的內容,現在新的專案需要用到 person.swift 與 year.swift。

 

要加入檔案或目錄時,要選擇 Xcode 功能表的

 

File -> Add Files to "myProject"...

 

此時有這些選擇,通常我都不選 Copy ites if needed,以免被引用的專案後來有更新時,引用的專案還是用已經複製進來的舊版資料。當然,這功能我也不清楚,也許未來真的有需要使用的機會。

 

image

重要度:
文章分類:
電腦標籤:

頁面

借我放一下廣告
訂閱 人生海海 RSS