2021年7月23日 星期五

[Flutter] 變更執行檔的檔案資訊(版本、描述、著作權)

Change the information of executable file.

找到 flutter 專案底下 windows/runner/Runner.rc

變更版本

#define VERSION_AS_NUMBER 1,0,0
#define VERSION_AS_STRING "1.0.0"

變更其他資訊

BEGIN
   VALUE "CompanyName", "公司名稱" "\0"
   VALUE "FileDescription", "檔案描述" "\0"
   VALUE "FileVersion", VERSION_AS_STRING "\0"
   VALUE "InternalName", "檔案內部名稱" "\0"
   VALUE "LegalCopyright", "著作權" "\0"
   VALUE "OriginalFilename", "原始檔名" "\0"
   VALUE "ProductName", "產品名稱" "\0"
   VALUE "ProductVersion", VERSION_AS_STRING "\0"
END

[Flutter] 變更建立後的執行檔名稱 (windows)

Change the executable name.

在 flutter 專案底下 windows/CMakeLists.txt 檔案,檔案的最下面加入底下這一行

set_target_properties(${BINARY_NAME} PROPERTIES OUTPUT_NAME_RELEASE "New Name")

[Flutter] 變更視窗的大小,並讓他啟動時出現在畫面的正中央 (windows)

Change the form size and make the starting position in the center of the screen

在 flutter 專案底下 windows/runner/main.cpp 檔案,找到底下兩行

Win32Window::Point origin(10, 10);
Win32Window::Size size(1280, 720);
並將其變更如下
int width = 800; // 設定 Form 寬度
int height = 600;  // 設定 Form 高度
int x = (GetSystemMetrics(SM_CXSCREEN) - width) / 2;
int y = (GetSystemMetrics(SM_CYSCREEN) - height) / 2;
Win32Window::Point origin(x, y);
Win32Window::Size size(width, height);

2021年7月20日 星期二

[Flutter] 變更應用程式的視窗標題 (windows)

Change the form title of your Flutter application.

在 flutter 專案底下 windows/runner/main.cpp 檔案,找到並變更底下這一行

window.CreateAndShow(L"New Title", origin, size)

2020年3月26日 星期四

pythonnet 經過 cythonize 之後會出現 ModuleNotFoundError 錯誤

原先的標準寫法如下

import clr
clr.AddReference('MyDLL')
from MyDLL import MyClass
my_obj = MyClass()

但是因為 pythonnet 會去覆寫 __import__ 函式,而 cython 又有自己的一套方式來處理 __import__ 函式,因而導致程式在 cythonize 之後會出現 ModuleNotFoundError 的錯誤

如果要建立 MyClass 的 instance 的話還是可以使用 .net 的 CreateInstance 方法

import clr
asm = clr.AddReference("MyDLL")
my_obj = asm.CreateInstance('MyDLL.MyClass')

2016年9月10日 星期六

解決在ng-repeat中radio未更新ng-model

原先寫法如下,確發生不管怎麼點selectedArea都不會更新
<label ng-repeat="area in areas">
    <input type="radio" ng-model="selectedArea" ng-value="area.Code"> {{area.Name}}
</label>
因為ng-repeat會產生自己的scope所以須使用$parent
<label ng-repeat="area in areas">
    <input type="radio" ng-model="$parent.selectedArea" ng-value="area.Code"> {{area.Name}}
</label>

2016年7月21日 星期四

讓 Web Api 輸出 JSON 格式

Web Api預設會優先輸出XML
有個偷吃步的方法就是乾脆讓程式不支援XML輸出
只要在Global.asax.cs的Application_Start()中加入以下程式碼即可

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();