帶有腳本調用功能的記事本軟件CalcNotepad的下載和使用


CalcNotepad是我開發的一款具有計算功能的記事本工具。其界面由如下4部分構成:

  • 菜單欄
  • 文本區
  • 結果區
  • 狀態欄

 

 

首先介紹一下菜單系統

【文件菜單】里面的命令與Windows內置記事本的命令相似,但是當另存為為文件時,可以選擇編碼

 

【編輯菜單】

 

 

其中,查找和替換支持正則表達式。

  

【格式菜單】可以設置字體格式和文本區的背景格式,這些設置保存於注冊表中,下次啟動會記憶。

 

 

【計算菜單】用於設置語言,本工具支持VBScript和JavaScript語法。

 

在文本區中選擇一部分代碼,然后按下【F8】可以把表達式的值計算出來,並且顯示在左下角。

注意:F8只把選擇了的文本作為計算根據,和它周圍的文字無關。但是F5是以全部文本作為計算根據的。

 

例如,書寫一個不帶參數的Function,函數名稱可以任意起。按下【F5】,會計算所有代碼,彈出對話框中顯示變量c的值。

然后左下角會給出該函數的返回值Test,應該是36

  如果計算菜單中勾選的是JavaScript,就需要書寫JS代碼了。

如下計算100除以7的余數,左下角顯示結果。

  

同樣,也可以從一個不帶參數的function開始運行。

下面的程序Area是帶參數函數,ABC是不帶參數的,因此首先調用ABC函數。計算結果為90。

 【幫助菜單】可以設置txt擴展名的默認程序,如果設置為本工具,那么雙擊TXT文件,會默認以本工具打開。

 

 

 【狀態欄】分為3部分,分別顯示的是當前文件的編碼、文件的完整路徑、光標所處的位置。

如圖所示,光標顯示處於“戰斗”兩個字之間,因此是12行5列。並且斗字是整個文件的第202個字,一共選中了28個字。

  多國語言版

 英文

  

2020/05/04 更新

從各方面考慮,把已有的VBScript、JavaScript計算功能去掉了,現在換成了腳本調用功能。可以調用任何exe文件及其對應的腳本。

基本用法:

解壓縮后,會看到CalcNotepad.exe這個主文件。其余文件都是示例代碼文件,作為學習參考用。

點擊【調用】、【設置】

 

 

打開設置對話框。該對話框包括4項設置:

當前工作目錄:需要輸入一個文件夾的路徑,設置了此項后,在命令行參數中就可以使用相對路徑。

例如"Sample_BAT.bat"就等價於"E:\baidu player\Sample_BAT.bat"

可執行文件:此項是必須輸入。

命令行參數:可選。

標准輸入參數:可選。

 

 

Sample_BAT.bat腳本用於計算5個數字之和,內容如下:

 

@echo off
set /p c=c:
echo;
set /p d=d:
echo;
set /p e=e:
echo;
set /a result=%1+%2+%c%+%d%+%e%
echo %result%
exit

 

設置完畢后,按下ESC關閉設置對話框,在CalcNotepad界面中按下【F5】,即可在底部看到計算結果是15。

 調用cmd.exe時,要求命令行參數中必須有 /c

例如:

 

 

 我用十來種語言編寫了5個數字之和的示例代碼,其中變量a、b來自於命令行參數,變量c、d、e來自於標准輸入。

VBS版

Sample_VBS.vbs代碼如下

Main
Sub Main()
    Dim a,b,c,d,e
    a=WScript.Arguments(0)
    b=WScript.Arguments(1)    
    c=WScript.StdIn.ReadLine
    WScript.StdOut.WriteLine c
    d=WScript.StdIn.ReadLine
    WScript.StdOut.WriteLine d
    e=WScript.StdIn.ReadLine
    WScript.StdOut.WriteLine e
    WScript.StdOut.WriteLine CInt(a)+CInt(b)+CInt(c)+CInt(d)+CInt(e)
End Sub

VBS腳本使用系統文件夾的cscript.exe來解釋執行,設置畫面為:

 

 

 PowerShell版

Sample_Powershell.ps1代碼如下:

$a=$args[0]
$b=$args[1]
$c=Read-Host("c")
$d=Read-Host("d")
$e=Read-Host("e")
Write-Host $a,$b,$c,$d,$e,`n
Write-Host $([System.Int32]$a+[System.Int32]$b+[System.Int32]$c+[System.Int32]$d+[System.Int32]$e)

Powershell的參數較多。命令行參數的內容為

-NoLogo -ExecutionPolicy RemoteSigned -File Sample_Powershell.ps1 1 2

 

 

 另外,也支持調用PowerShell的單行命令。例如:

 

 

 注意是 -Command,而不是 -File。

運行結果為:

 

 

如果參數中有錯誤,或者運行出錯,本工具會輸出為StandardError。

假設不小心寫成了GetProcess

 

 

 是不是有點愛上了PS呢。

Python版

Sample_Python.py內容如下

import sys
a = sys.argv[1]
b = sys.argv[2]
c=input("c:\n")
d=input("d:\n")
e=input("e:\n")
print(a,b,c,d,e)
print(int(a)+int(b)+int(c)+int(d)+int(e))

設置畫面為:

 

 

 打印結果同樣是15。

如果你想自己做一個支持命令行參數和標准輸入的可執行文件,可以試一下C#或VB.NET,示例代碼如下。

C#

using System;

static class Module1
{
    public static void Main(string[] args)
    {
        var a, b, c, d, e;
        a = args[0];
        b = args[1];
        c = Console.ReadLine();
        d = Console.ReadLine();
        e = Console.ReadLine();
        Console.WriteLine(System.Convert.ToInt32(a) + System.Convert.ToInt32(b) + System.Convert.ToInt32(c) + System.Convert.ToInt32(d) + System.Convert.ToInt32(e));
    }
}

VB.NET

Module Module1

    Sub Main(args As String())
        Dim a, b, c, d, e
        a = args(0)
        b = args(1)
        c = Console.ReadLine()
        d = Console.ReadLine()
        e = Console.ReadLine()
        Console.WriteLine(CInt(a) + CInt(b) + CInt(c) + CInt(d) + CInt(e))
    End Sub

End Module

最后,本工具還支持XML、帶有VBScript和JavaScript的HTML網頁的預覽功能。

首先在工具中打開Sample_JavaScript.html這個示例文件,然后點擊菜單“WebBrowser”

 

 

 彈出的瀏覽器中,可以看到網頁上的兩個按鈕。

 

 

關閉瀏覽器,在CalcNotepad中繼續編輯網頁或Script,再次啟動瀏覽器,這樣就可以調試了。

XML也是這樣的做法,大家自己試一下。

其他重要提示

  • 文本區按下{Tab}輸入制表位
  • 文本區中雙擊鼠標可以選中整行
  • 查找到最后一處彈出的MsgBox對話框,3秒后自動消失
  • 支持文件拖放,可以從文件夾中拖放一個TXT文件到文本區,快速打開
  • 左手按住Ctrl,右手滾動鼠標滾輪,可以改變字體大小

 下載地址:https://share.weiyun.com/5dpcNqx

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM