[makecode]試玩~Microsoft MakeCode (PXT – Programming eXperience Toolkit) 離線版

參考網址:曾令燊Davis@Blog部落格

【micro:bit】自建Microsoft MakeCode 伺服器

太空猴子 自建 microbit 網頁編輯器

sudo apt-get install -y curl build-essential git
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get update
sudo apt-get install -y nodejs
sudo npm install -g jake
sudo npm install -g typings
mkdir makecode
cd makecode
git clone https://github.com/microsoft/pxt
cd pxt
git checkout v0
#無法鎖住特定版本
#git checkout v5.15.19
npm install
typings install
jake
cd ../
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
#git checkout v2.0.17
sudo npm install -g pxt
npm install
sudo npm link ../pxt
mkdir /home/microbit
cd /home/microbit
pxt target microbit

原文中用服務的方式啟動有問題sudo vi /etc/systemd/system/microbit.service
改用sh的方式啟動

 

#!/bin/sh
cd /home/microbit
/usr/bin/pxt serve --cloud --hostname 0.0.0.0 --port 3232

server預設跑3232 port
用nmap localhost 看不到port的連線狀況,需用netstat -tna 才行

用microsoft pxt 官網提供的安裝方式即可
https://github.com/microsoft/pxt-microbit

可以用 pxt help serve 查看pxt serve的參數說明

另一篇文章寫到指定IP的方法
谢作如的博客
如果局域网中的其他电脑也要访问这台服务器,需要修改系统所在目录中的serve.js文件。
serve.js文件在C:\Users\xiezuoru\node_modules\pxt-core\built目录中。
具体修改方法:搜索,将“serveOptions.hostname = "localhost";”换为“serveOptions.hostname = "*.*.*.*";”。“*.*.*.*”为电脑的IP地址,如192.168.1.100。
嘗試過後,用遠端連接時仍然無法正常執行 “分享” 功能
這種改法應和/usr/bin/pxt serve –cloud –hostname 0.0.0.0 –port 3232 是一樣的效果
 

function serveAsync(options) {
    serveOptions = options;
    if (!serveOptions.port)
        serveOptions.port = 3232;
    if (!serveOptions.wsPort)
        serveOptions.wsPort = 3233;
    if (!serveOptions.hostname)
        serveOptions.hostname = "localhost";


 

 

發表於 Windows系統, 軟體使用 | 發表迴響

[registry]RegShot 2.0.1.66 Unicode 免安裝中文版 – 登錄檔比對工具-自動安裝大易輸入法

參考網址:阿榮福利味

利用RegShot自動比對registry找出新增的部分,就可以自動安裝大易輸入法。


這是新增輸入法

[HKEY_CURRENT_USER\Control Panel\International\User Profile\zh-Hant-TW] 
"0404:{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}{037B2C25-480C-4D7F-B027-D6CA6B69788A}"=dword:00000002 

[HKEY_CURRENT_USER\Software\Microsoft\CTF\SortOrder\AssemblyItem\0x00000404\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000001] 
"CLSID"="{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}" 
"KeyboardLayout"=dword:00000000 
"Profile"="{037B2C25-480C-4D7F-B027-D6CA6B69788A}" 

[HKEY_CURRENT_USER\Software\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000404\{037B2C25-480C-4D7F-B027-D6CA6B69788A}] 
"Enable"=dword:00000001 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\ApplicationViewManagement\W32:00000000000202F2] 
"VirtualDesktop"=hex:10,00,00,00,30,30,44,56,00,00,00,00,00,00,00,00,00,00,00,\
   00,00,00,00,00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\ApplicationViewManagement\WRT:windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel+1+000000000008046E] 
"VirtualDesktop"=hex:10,00,00,00,30,30,44,56,00,00,00,00,00,00,00,00,00,00,00,\
   00,00,00,00,00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\JumplistData] 
"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"=hex(b):9c,\
   f9,b0,1b,99,fa,d5,01 

 

這是取消相關字詞功能
 

[HKEY_CURRENT_USER\Software\Microsoft\TableTextService\0x00000404\{037B2C25-480C-4D7F-B027-D6CA6B69788A}]
"EnableAssociatePhrase"=dword:00000000

 

整合起來
 

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\International\User Profile\zh-Hant-TW] 
"0404:{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}{037B2C25-480C-4D7F-B027-D6CA6B69788A}"=dword:00000002 

[HKEY_CURRENT_USER\Software\Microsoft\CTF\SortOrder\AssemblyItem\0x00000404\{34745C63-B2F0-4784-8B67-5E12C8701A31}\00000001] 
"CLSID"="{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}" 
"KeyboardLayout"=dword:00000000 
"Profile"="{037B2C25-480C-4D7F-B027-D6CA6B69788A}" 

[HKEY_CURRENT_USER\Software\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000404\{037B2C25-480C-4D7F-B027-D6CA6B69788A}] 
"Enable"=dword:00000001 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\ApplicationViewManagement\W32:00000000000202F2] 
"VirtualDesktop"=hex:10,00,00,00,30,30,44,56,00,00,00,00,00,00,00,00,00,00,00,\
   00,00,00,00,00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\1\ApplicationViewManagement\WRT:windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel+1+000000000008046E] 
"VirtualDesktop"=hex:10,00,00,00,30,30,44,56,00,00,00,00,00,00,00,00,00,00,00,\
   00,00,00,00,00 

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search\JumplistData] 
"windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel"=hex(b):9c,\
   f9,b0,1b,99,fa,d5,01 

[HKEY_CURRENT_USER\Software\Microsoft\TableTextService\0x00000404\{037B2C25-480C-4D7F-B027-D6CA6B69788A}]
"EnableAssociatePhrase"=dword:00000000

 

發表於 Windows系統, 軟體使用 | 發表迴響

[microbit]下載.appx 離線安裝

參考網址:https://store.rg-adguard.net/

線上版  APP  離線版

microbit離線版的makecode有兩種版本
一種是exe檔:這個版本無法讀取線上版產生的HEX,可能是離線版的程式太舊了。
另一種是UWP(APP):這個版本可以讀取線上版產生的HEX
APPX安裝時必需透過windows store,
要如何才能把APPX下載到本機變成一個檔案,答案是透過https://store.rg-adguard.net/ 處理
把store 的APPX 鏈結輸入https://www.microsoft.com/zh-tw/p/makecode-for-micro-bit/9pjc7sv48lcx?ocid=badge&rtc=1&activetab=pivot%3Aoverviewtab
就可以得到MicrobitEducationalFounda.196216C47839B_1.1.0.0_neutral___e88r6s0b2swar.AppxBundle
但這個檔案只有1108KB,顯然太小。
經測試原來它只是一個框架,本質上還是線上版。

安裝appx的另一種方式是透過powershell,指令如下:
 

PowerShell Add-AppxPackage -Path d:\soft\microbit\MicrobitEducationalFounda.196216C47839B_1.1.0.0_neutral___e88r6s0b2swar.AppxBundle
pause

makecode 的 appx版會像瀏器一樣,把瀏覽過的程式放入cache中,執行起來就像是離線版。
這種執行方式的優點是程式的版本會與線上版同步,缺點是第一次執行會下載程式到cache,所以第一次會比較慢。

發表於 Windows系統, 軟體使用 | 發表迴響

[windows]Add Store to Windows 10 Enterprise LTSB

參考網址:

https://github.com/kkkgo/LTSB-Add-MicrosoftStore

为Windows 10 Enterprise LTSB增加应用商店

适用于Windows 10 Enterprise 2015 / 2016 LTSB 或 Windows Enterprise 2015 / 2016 LTSB N
下载地址

要开始安装, 请打包下载后用右键管理员运行 Add-Store.cmd

如果您不想安装App Installer / Purchase App / Xbox,请在运行安装之前删除对应的.appxbundle后缀的文件。但是,如果您计划安装游戏,或带有购买选项的应用,则不要删除。
如果装完之后商店仍然打不开,请先重启试试。如果仍然不行,请以管理员身份打开命令提示符并运行以下命令之后,然后再重启试试。
PowerShell -ExecutionPolicy Unrestricted -Command "& {$manifest = (Get-AppxPackage Microsoft.WindowsStore).InstallLocation + '\AppxManifest.xml' ; Add-AppxPackage -DisableDevelopmentMode -Register $manifest}"

商店修复

Win+R打开运行,输入WSReset.exe回车。
该命令会清空并重置Windows Store商店的所有缓存。

發表於 Windows系統 | 發表迴響

uniform server 只有localhost可以執行的問題

這個問題困擾了好久,一直以為是windows防火牆設定的問題,
原來在apache中access and passwords ->folder www access and passwod ->apache server access
可以有
Local Access
Local and Intranet Access
Local , Intranet and Internet Access
三種不同的選項

發表於 Windows系統, 程式設計 | 發表迴響

TWG Flash Uploader

參考網址:
V3.22  http://www.tinywebgallery.com/en/tfu/web_download.php

setup https://www.tinywebgallery.com/en/tfu/web_install.php

V3.2.2界面預設語系:改tfu.htm第255行
swfobject.embedSWF("tfu_3.2.swf?lang=tw", "flashcontent", "651", "340", "8.0.0", "", flashvars, params, attributes);

 

發表於 程式設計 | 發表迴響

[javascript]陣列排序

參考網址:
https://developer.mozilla.org  陣列的運用

UCAMC JavaScript陣列與物件元素順序重新排序sort()、array 排序、object排序

發表於 程式設計 | 發表迴響

[vb] Excel VBA 程式設計教學:陣列(Array)

參考網址:https://blog.gtwang.org/programming/excel-vba-array/

動態陣列

一般的陣列在宣告時就必須決定好陣列的大小,但是有的時候我們無法事先預知程式所需要的陣列大小,要等到實際執行時才會知道需要多少空間,這時候就可以使用動態陣列的方式來儲存資料。

動態陣列(dynamic arrays)的特點就是可以動態改變陣列的大小,在空間不足時可以擴增,而空間太大時也可以縮減,以下是動態陣列的使用方式:

' 宣告動態陣列
Dim MyDynArr() As Integer

' 調整陣列大小
ReDim MyDynArr(3)

MsgBox "LBound = " & LBound(MyDynArr) _
   & ", Ubound = " & UBound(MyDynArr)
MyDynArr(3) = 123

動態陣列的宣告方式就是在宣告陣列時不要指定索引範圍,然後在要使用陣列之前執行 ReDim 設定陣列的大小。

隨後如果需要改變動態陣列的大小,也是同樣呼叫 ReDim 並指定新的陣列大小,而在預設的狀況下使用 ReDim 改病陣列大小時,原本儲存於陣列中的資料會被刪除,如果想要保留舊資料,就要加上 Preserve,如果舊資料不需要保留的話,就可以將 Preserve 省略,這樣執行速度會比較快。

' 調整陣列大小,保留陣列內部資料
ReDim Preserve MyDynArr(10)

MsgBox "LBound = " & LBound(MyDynArr) _
   & ", Ubound = " & UBound(MyDynArr)
MyDynArr(7) = 456

MsgBox MyDynArr(3)
MsgBox MyDynArr(7)

這裡的 LBoundUBound 是用來查詢陣列索引下限與上限的函數。

當動態陣列使用完畢之後,我們可以使用 Erase 將系統配置給動態陣列的記憶體收回:

Erase MyDynArr

Erase 若用於一般性的陣列,則會將陣列內的每個元素重新初始化。

發表於 程式設計 | 發表迴響

[VB]將文字寫入或讀出文字檔案(VB .NET)

參考網址:程式設計者之春

以下程式碼範例示範將文字寫入文字檔案的簡易方法。

Imports System
Imports System.IO

Class Test
    Public Shared Sub Main()
        ' Create an instance of StreamWriter to write text to a file. 
        Dim sw As StreamWriter = New StreamWriter("TestFile.txt")
        ' Add some text to the file.
        sw.Write("This is the ")
        sw.WriteLine("header for the file.")
        sw.WriteLine("-------------------")
        ' Arbitrary objects can also be written to the file.
        sw.Write("The date is: ")
        sw.WriteLine(DateTime.Now)
        sw.Close()
    End Sub
End Class

 

以下程式碼範例示範從文字檔案讀取文字的簡易方法。

Imports System
Imports System.IO

Class Test
    Public Shared Sub Main()
        Try
            ' Create an instance of StreamReader to read from a file.
            Dim sr As StreamReader = New StreamReader("TestFile.txt")
            Dim line As String
            ' Read and display the lines from the file until the end 
            ' of the file is reached.
            Do
                line = sr.ReadLine()
                Console.WriteLine(Line)
            Loop Until line Is Nothing
            sr.Close()
        Catch E As Exception
            ' Let the user know what went wrong.
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(E.Message)
        End Try
    End Sub
End Class

 

發表於 程式設計 | 發表迴響

[sport]翔聆資訊有限公司

參考網址:http://www.shulink.com.tw/

發表於 程式設計 | 發表迴響