標籤

2021年8月18日 星期三

JavaScript程式碼使用寫法

 

函式

建立函式

宣告函式

    function realcool()

宣告函式內的程式碼

    function reallycool()
    {
        JavaScript程式碼
    }

函式命名

  • 名稱大小寫有別
  • 使用合法字元及避免使用保留字
  • 取個有意義的名稱
        function print_bold_text()
        {
            document.write("This is a bold statement!");
        }
    

函式的參數

    function reallycool(coolcar, coolplace)
    {
        JavaScript程式碼
    }

函式參數的值

    function reallycool(coolcar, coolplace)
    {
        var mycar = coolcar;
    }
    function reallycool(coolcar, coolplace)
    {
        document.write("My car is a " + coolcar);
    }

使用多個參數

    function reallycool(coolcar, coolplace)
    {
        document.write("My car is a " + coolcar + " and I drive it to " + coolplace);
    }

函式內的 return 敘述

    function hello(name)
    {
        return "Hello, Mr. or Ms. " + name;
    }

在 script 中呼叫函式

    hello("Lee");

在 HEAD 區域呼叫函式

建立 JavaScript 訊息方塊
    window.alert("This is an alert!");
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
        window.alert("This is an alert!");
//-->
</SCRIPT>
</HEAD>
<BODY>
        HTML 碼
</BODY>
</HTML>
</PRE>

在函式中呼叫 JavaScript 訊息方塊
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
    function show_message()
    {
        window.alert("This is an alert!");
    }
    show_message();
//-->
</SCRIPT>
</HEAD>
<BODY>
        HTML 碼
</BODY>
</HTML>
</PRE>

在 BODY 區域呼叫函式

<HTML>
<HEAD>
<SCRIPT language="JavaScript">
<!--
    function print_text()
    {
        document.write("I came from a function!");
    }
//-->
</SCRIPT>
</HEAD>
<BODY>
<H4>在 BODY 區域呼叫函式</H4>
<SCRIPT language="JavaScript">
<!--
    print_text();
//-->
</SCRIPT>
<p>
<B>This is a bold statement!</B>
</BODY>
</HTML>

從一個函式呼叫另一個函式

<HEAD>
<SCRIPT language="JavaScript">
<!--
    function update_alert()
    {
        window.alert("Welcome! This site is updated daily!");
    }
    function call_alert()
    {
        update_alert();
    }
    call_alert();
//-->
</SCRIPT>
</HEAD>
另一例子:
<HEAD>
<SCRIPT language="JavaScript">
<!--
    function update_alert()
    {
        window.alert("Welcome! This site is updated daily!");
    }
    function section_alert()
    {
        window.alert("Please visit the picture section!");
    }
    function links_alert()
    {
        window.alert("Also, check out my links page!");
    }
    function get_message()
    {
        update_alert();
        section_alert();
        links_alert();
    }
    get_message();
//-->
</SCRIPT>
</HEAD>

呼叫有參數的函式

<HEAD>
<SCRIPT language="JavaScript">
<!--
    function alerts( message )
    {
        window.alert( message );
    }
    function get_message()
    {
        alerts("Welcome! This site is updated daily!");
        alerts("Please visit the picture section!");
        alerts("Also, check out my links page!");
    }
    get_message();
//-->
</SCRIPT>
</HEAD>
使用全域變數
<SCRIPT language="JavaScript">
<!--
    var mycar = "Honda";
    var paycheck = 1200;
    function new_car()
    {
        mycar = "Ferrari";          // 全域變數
        paycheck = 3500;            // 全域變數
        window.alert( "You need $" + paycheck + " to get a " + mycar );
    }
    new_car();
    window.alert( "You make $" + paycheck + " and have a " + mycar );
//-->
</SCRIPT>
使用區域變數
<SCRIPT language="JavaScript">
<!--
    var mycar = "Honda";
    var paycheck = 1200;
    function new_car()
    {
        var mycar = "Ferrari";      // 區域變數
        var paycheck = 3500;        // 區域變數
        window.alert( "You need $" + paycheck + " to get a " + mycar );
    }
    new_car();
    window.alert( "You make $" + paycheck + " and have a " + mycar );
//-->
</SCRIPT>

呼叫有 return 敘述的函式

<SCRIPT language="JavaScript">
<!--
    function get_added_text()
    {
        var text1 = "This is ";
        var text2 = "fun!";
        var added_text = text1 + text2;
        return added_text;
    }
    var alert_text = get_added_text();
    window.alert( alert_text );
//-->
</SCRIPT>
來源出處: https://www.csie.ntu.edu.tw/~sylee/courses/jscript/function.htm

2021年7月22日 星期四

如何刪除Windows 10/8/7/XP/Vista的EFI系統磁碟分割區

通常,在磁碟管理中可以輕易刪除分割區。但有時,您無法刪除Windows 10/8/7/XP/Vista的EFI系統磁碟分割區,因為「刪除磁碟區」選項是灰色的。


第1部分 — EFI系統磁碟分割區(ESP)是什麼

當您在電腦GPT磁碟上成功安裝Windows作業系統時,這時EFI系統分割區(簡稱ESP,EFI System Partition)也會被建立。它需要大約100M或200MB左右,無磁碟機代號。

EFI系統磁碟分割區是什麼?

根據維基百科,「EFI系統分割區是一個FAT或FAT32格式的磁碟分割區。UEFI固件可從ESP加載EFI啟動程式或者EFI應用程式」。

EFI分割區有什麼?它包含了4個主要部分:
啟動程式
裝置驅動程式
系統工具套件
資料檔




第2部分 — 刪除EFI系統分割區(ESP)會怎麼樣?

您知道為什麼不能刪除EFI系統磁碟分割區嗎?如果刪除了硬碟上的ESP會發生什麼事呢?

根據第1部分內容,EFI分割區類似於電腦啟動Windows的接口。這是在運作Windows分割區之前的一個預先步驟。沒有了EFI分割區,您的電腦將無法啟動到Windows。

總之,刪除EFI系統分割區將導致安裝的系統無法啟動。因此,EFI系統分割區通常被Windows作業系統保護和鎖定,防止和避免意外刪除。這就是為什麼在Windows檔案總管裡看不到EFI分割區及無法在Windows磁碟管理裡刪除的原因了。

重要
1. 如果您想讓Windows作業系統運作順暢,那就不要對EFI系統分割區做任何變更。
2. 如果您的硬碟已經滿了,接下來去了解是什麼正在佔用硬碟上的空間,並用正確的方式釋放空間。
3. 如果您想刪除EFI分割區並安裝一個新的Windows作業系統,您可以直接重新安裝作業系統。ESP將被自動移除。


第3部分 — 如何刪除EFI系統分割區(2種方法)

為了避免不必要的檔案丟失,請務必提前將ESP中的重要檔案備份到另一個安全的儲存裝置上。
方法1. 使用Diskpart指令刪除EFI系統分割區

作為指令行應用程式,Diskpart對於一般用戶來說有點複雜,因為該程式是非圖形界面。在操作下面的Diskpart指令行刪除EFI分割區時,請務必小心:

步驟1. 在PC上打開DiskPart

1. 按下「Windows+R鍵」打開執行視窗。
2. 輸入diskpart並點擊「確定」以打開命令提示字元視窗。

步驟2. 變更EFI系統分割區代號並將其設定為一個資料分割區

輸入以下指令並在每行結束時按下Enter鍵:
list disk
sel disk 0
list partition
sel partition1
SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7

  • 「list disk」(顯示電腦的所有磁碟。)
  • 「sel disk 0」(標識出您需要使用哪個磁碟。這裡的0代表磁碟代號。)
  • 「list partition」(顯示所選磁碟的所有分割區和EFI系統分割區。)
  • 「sel partition 1」(選擇要刪除的EFI分割區。1為EFI的磁碟區代號。)
  • 「SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7」




這樣做可以使EFI系統分割區變得可被刪除。繼續執行以下步驟移除硬碟上的EFI分割區。

步驟3. 用指令行刪除EFI分割區
輸入以下指令行並在每行結束時按下Enter鍵:
list partition
sel partition 1
delete partition override

  • 「list partition」(顯示硬碟上的所有磁碟區。)
  • 「sel partition 1」(標識您想要移除的分割區。這裡的1代表磁碟區代號。)
  • 「delete partition override」(從Windows磁碟上刪除EFI分割區。)


步驟4. 完成EFI刪除過程
最後,當您收到「DiskPart成功地刪除了選擇的磁碟分割」的訊息時,輸入「exit」關閉視窗。

 文章來源
https://tw.easeus.com/partition-manager-tips/delete-efi-system-partition.html

2021年6月2日 星期三

Microsoft.Office.Interop.Excel.ApplicationClass 報錯內容

 




無法將類型為“Microsoft.Office.Interop.Excel.ApplicationClass”的COM 對象強制轉換為接口類型“Microsoft.Office.Interop.Excel._Application”

報錯內容如下:
無法將類型為“Microsoft.Office.Interop.Excel.ApplicationClass”的COM對象強制轉換為接口類型“Microsoft.Office.Interop.Excel._Application”。此操作失敗的原因是對 IID 為“{000208D5-0000-0000-C000-000000000046}”的接口的COM組件調用QueryInterface因以下錯誤而失敗: 庫沒有注冊。(異常來自HRESULT:0x8002801D (TYPE_E_LIBNOTREGISTERED))。



原因分析:
可能是安裝Office時安裝過不同版本造成的

解決辦法:
打開設備本機的注冊表項,在注冊表中查詢,報錯信息,比如:上面的紅色字體代碼
找到該注冊表象後查看TypeLib下的值,如下圖:




這里使用的是1.7的版本,然後在注冊表中查詢:{00020813-0000-0000-C000-000000000046}該值,查詢結果路徑,如下圖:

這里應該有兩個版本的值,將與上面步驟版本不一致的值刪除掉就可以解決該功能問題。下圖是修改後的結果:




可能是安裝Office時安裝過不同版本造成的,要到本機端的註冊區去刪機碼就可以
請參考下網址:
https://www.cnblogs.com/beginner-boy/p/7998017.html
https://home.gamer.com.tw/creationDetail.php?sn=4763231

2021年4月23日 星期五

已然連線到遠端電腦 使用者程式發生錯誤

 問題

【遠端桌面登入失敗】您已經連線到遠端電腦。不過在啟動使用者程式時發生錯誤,所以您已經被登出。請聯絡系統管理員以取得協助


解決方法

1. Open the registry key HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.
2. Right click on Image File Execution Options and select Permission.
3. Ensure System has Full Control permission
4. Ensure SERVER\Users group has Read permission.

Click OK and test again. If the problem continues, please check this:

1. Locate the Registry Path: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. Make sure the value of Shell is explorer.exe
2. SERVER\Users group should have "Read & execute" and "Read" permission on %windir%\explorer.exe file.
3. Turn off antivirus programs for a test.






2021年3月21日 星期日

無法建立連結伺服器 "(null)" 的 OLE DB 提供者 "Microsoft.ACE.OLEDB.12.0" 的執行個體

問題

Access Database Engine 2010:安裝 64 位元與 32 位元版本的驅動程式在同一作業系統上http://sharedderrick.blogspot.tw/2013/04/access-database-engine-2010-64-32.html


處理方式
1. 先下載 Microsoft Access Database Engine 2010 (2個版本)
2. 在命列提示列中,執行: AccessDatabaseEngine.exe /passive
3. 在命列提示列中,執行: AccessDatabaseEngine_X64.exe /passive

Windows 的系統管理主控台 (MMC) 程式

 Windows ; Windows Server

azman.msc - 授權管理員

certmgr.msc - 憑證

comexp.msc - 元件服務

compmgmt.msc - 電腦管理 *

devmgmp.msc - 裝置管理員 *

diskmgmt.msc - 磁碟管理 *

eventvwr.msc - 事件檢視器 *

fsmgmt.msc - 共用資料夾 *

gpedit.msc - 本機群組原則編輯器 *

lusrmgr.msc - 本機使用者和群組 *

napclcfg.msc - 網路存取保護設定

OptionalFeatures.exe - 開啟或關閉 Windows 功能

perfmon.msc - 可靠性和效能監視器

printmanagement.msc - 列印管理

rsop.msc - 原組結果組

secpol.msc - 本機安全性原則 *

帳戶原則/密碼原則

本機原則/安全性原則

services.msc - 服務 *

taskschd.msc - 工作排程器 *

tpm.msc - 信賴平台模組管理

WF.msc - 具有進階安全性的 Windows 防火牆

WmiMgmt.msc (mmc.exe) - 主控台根目錄



Windows Server Only

fxsadmin.msc - 傳真服務管理員

ServerManager.msc - 伺服器管理員

SQLServerManager.msc - SQL Server Configuration Manager

StorageMgmt.msc - 共用與存放管理

StorExpl.msc - 存放裝置總管

tapimgmt.msc - 電話語音

tsadmin.msc - 終端機服務管理員

tsconfig.msc - 終端機服務設定

tsmmc.msc - 遠端桌面

wbadmin.msc - Windows Server Backup

控制台工具 命令

協助工具選項 control access.cpl

加入新的硬體 control sysdm.cpl add new hardware

新增/移除程式 control appwiz.cpl

日期/時間內容 control timedate.cpl

顯示內容 control desk.cpl

FindFast control findfast.cpl

字型資料夾 control fonts

網際網路內容 control inetcpl.cpl

搖桿內容 control joy.cpl

鍵盤內容 control main.cpl keyboard

Microsoft Exchange control mlcfg32.cpl(或 Windows Messaging)

Microsoft Mail 郵局 control wgpocpl.cpl

數據機內容 control modem.cpl

滑鼠內容 control main.cpl

多媒體內容 control mmsys.cpl

網路內容 control netcpl.cpl

注意:在 Windows NT 4.0 中,網路

內容是 Ncpa.cpl,不是 Netcpl.cpl

密碼內容 control password.cpl

PC 卡 control main.cpl pc card (PCMCIA)

電源管理 (Windows 95) control main.cpl power

電源管理 (Windows 98) control powercfg.cpl

印表機資料夾 control printers

地區設定 control intl.cpl

掃描器與數位相機 control sticpl.cpl

音效內容 control mmsys.cpl sounds

系統內容 control sysdm.cpl

智慧型應用程式控制

現象: 解法