2021年10月27日 星期三

《【禪隱者】、【Visual Basic 2010 通識】》

 


Visual Studio 2010 Ultimate Free Download

https://onesoftwares.net/visual-studio-2010-ultimate-free-download/


101 VB.NET Samples download

https://101-vb-net-samples.software.informer.com/download/



Vb.net 程式語法:
  
Vb.net的資料形態:
變數
(1)        變數的宣告:  變數的宣告為暫時儲存資料的空間供程式使用
=> 變數必須以字母或為開頭
  => 變數僅為字母數字及底線字
  =>  不可visual basic 使用關鍵字
    => 不可在同一範圍中有相同的變數名稱
(2)        變數的宣告:
=> asp.net 中變數必須宣告才可使用  (asp 可不用宣告)
語法:
  Dim 變數名稱[,變數名稱…..] as 資料型態〔=初值 〕
=>(asp 只有一種資料型態故以  dim變數名稱)
例:
 Dim i
Dim I as integer
 Dim I,j as integer
 Dim I as integer=1,j as integer=12
Dim I,j as integer
 
(3)        vb.net 不區分大小寫
(4)        vb.net 注解 以 單引號 ’   開始
(5)        vb.net 宣告變數時可設定初值
(6)        vb.net宣告變數時未設定初值 若為物件初值為empty若為外部整數為0
若為外部整數為為empty
 
  Option 宣告:
1.      共有三種 option 宣告  
a)      明確宣告: 要求所有的變數使用之前必須宣告
b)  嚴格宣告: 要求所有的變數的宣告必須宣告資料型態
c) 比較宣告: 作字串比較時選用binary 或是text比較
    2. 所有的option 宣告必須在其它敘述及 imports之前
    3. option explicit,  option strict ,option text
    4. option explicit / on|off ,option strict /on|off, option compare / binary|text
    5. option 宣告不可使用於單一檔案中
 
範例:  (code behide) 
Option Explicit On
Option Strict On
Option Compare Text
Imports System
Partial Class _Default
    Inherits System.Web.UI.Page
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       Dim x as integer
    End Sub
End Class
 
資料型態:  1. 基本資料型態=>數值與非數值     2. 組合資料型態: 陣列,結構,類別, 例舉常數
基本資料型態:  數值:  1. 整數 2. 浮點數 3. 字串 4. 其它
資料型態: .net 型別 說明
Byte(整) System.byte 1 byte(0~255)
sbyte System.sbyte 1 byte(-128~127)
short System.int16 2-byte(-32768~32767
ushort System.uint16 2-byte(0~32767)
Integer System.int32 4-byte
Uinteger System.uint32 4-byte
Long System.int64 8-byte
Ulong System.uint64 8=byte
Single(浮點有號) System.single 4-byte
Double System.double 8-byte
Decimal System.decimal 16-byte
Date System.datetime 8-byte(1/1/1~9999/12/31)#...#
Boolean System.boolean 2-byte(true|false)
Object System.object 4-byte(可為類別或是介面)
String System.string “ ”  , 可放至2的31次方
Char System.char “”c, unicode字元2-byte
 
#  資料型態的預設初始化的值:
    String = nothing
    數值=0
    Boolean=false
     Date=1/1/1 0:0:0
    Object= nothing
#   不指定的資料型態的變數為object(執行效果差)#整數執行效果比較好,decimal 精確度教高
#強制型別的轉換
#自動型別的轉換
 
 
範例:
 
   Dim y As Byte = 12
        Dim y1 As SByte = 110
        Dim x As Integer
        Dim x1 As ULong
        Dim x2 As UShort
        Dim x3 As Single = 1.0E+23
        Dim x4 As Double = 1
        Dim x5 As Double = 1.23
        Dim x6 As Decimal = 12
        Dim x7 As Date = #1/2/0003#
        Dim x8 As String = "ccck"
        Dim x9 As Char = "a"c
        Dim x10 As Boolean = False
        Dim x11 As Object
       Dim xx As Integer = CInt(1.23)
        Dim xx1 As Integer = 1
        Dim xx2 As String = 1 & "xx2"
 
 
Vb.net 的特殊符號

1.            冒號 : => 合併敘述,將兩行敘述合併為一行
2.            單引號 ‘  => 注解
3.            雙引號 “ => 字串符號
4.             &     =>字串連接符號
5.            _  =>行接序符號
6.            點運算子 .  => 物件與屬性從屬符號
7.            算數運算子= >  +, - , * , / ,\ ,mod , ^
8.            算術指定運算子 =>  +=,  -=,  *=,  /= ,  \=
9.            比較運算子=> >, <, >= ,<= ,= , <>
 
 
陣列: 
1.      為一相同資料型態所組成的組合資料
2.      可將此組合資料形成多維
3.      asp.net中宣告陣列可設定初值
4.      asp.net中宣告陣列其元素索引值從0 開始至  陣列末值
5.      asp.net 的宣告陣列亦可以以物件的方式宣告
 
 
陣列宣告的格式:
 
一維陣列:
(1)  dim 陣列名稱() as 資料型態 = {初值列,…..}
    Dim陣列名稱(陣列索引末值) as 資料型態
    dim 陣列名稱() as 資料型態 =new資料型態( ){初值列,…..}
     dim 陣列名稱() as 資料型態 =new資料型態(陣列索引末值){初值列,…..}
 
二維陣列:
(1)  dim 陣列名稱(,) as 資料型態 = {{初值列},{….}.}
    Dim陣列名稱(列索引末值, 行索引末值) as 資料型態
    dim 陣列名稱() as 資料型態 =new資料型態( ){{初值列} , {…..},..}
     dim 陣列名稱() as 資料型態 =new資料型態(列索引末值, 行索引末值){{初值列},{….},.}
 
 
三維陣列:
(1)  dim 陣列名稱() as 資料型態 = {{{初值列},{….},{...}}}
    Dim陣列名稱(深度索引末值, 列索引末值, 行索引末值) as 資料型態
    dim 陣列名稱() as 資料型態 =new資料型態( ) {{{初值列},{….},{...}}}
     dim 陣列名稱() as 資料型態 =new資料型態(深度索引末值, 列索引末值, 行索引末值) {{{初值列},{….},{...}}}
 
範例
 
        Dim arr(2) As Integer
        Dim arr1() As Integer = {1, 2, 3}
        Dim arr2(1, 2) As Integer
        Dim arr3(,) As Integer = {{1}, {2}}
        Dim arr4(1, 2, 3) As Integer
        Dim arr5(,) As Integer = {{1, 2}, {3, 4}}
        Dim arr6(,,) As Integer = {{{1}, {2}}, {{3}, {4}}}
        Dim arr7() As Integer = New Integer() {1, 2, 3}
Dim arr77() as integer=new integer(2){1,2,3}
        Dim arr8(,) As Integer = New Integer(,) {{1, 2}, {3, 4}}
        Dim arr9(,,) As Integer = New Integer(,,) {{{1}, {2}}, {{3}, {4}}}
      
 
集合物件:
1.    物件組合形成集合物件
2.    vb中可使用 arraylist 的類別建立一集合物件
3.    建立一集合物件
Dim 物件變數 as new arraylist
4.    集合物件常用的方法及屬性 add,clear,remove,insert,count,item,sort
5.    一般可用for each迴圈處理
 
範例
 
Dim custlist As New ArrayList
        custlist.Add(1)
        custlist.Add(1.23)
        custlist.Add("a")
        Response.Write(custlist(0))
        Response.Write(custlist(1))
        Response.Write(custlist.Item(2).ToString)
 
 
        Dim i As Integer
        For i = 0 To custlist.Count - 1
            Response.Write(custlist(i))
 
        Next
        Dim ele As Object
        For Each ele In custlist
            Response.Write(ele.ToString)
        Next
 
 
陣列及集合物件
1.   陣列亦為一集合物件亦可使用集合物件方式處理
2.   陣列除了使用回圈處理亦可使用for each 的結構
 
範例
 
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim arr() As Integer = {1, 2, 3}
        For Each ele As Integer In arr
            Response.Write(ele)
        Next
        Dim arr2(,) As Integer = New Integer(1, 1) {{1, 2}, {3, 4}}
        For Each ele As Integer In arr2
            Response.Write(ele)
        Next
 
    End Sub
 
 
 
組合資料型態(不同的資料型態):
 
     結構 structure:
a) 一般為靜態的資料組合,建立一結構變數
        b)  資料成員預設為一public 存取層級
        c)   資料成員宣告與一般變數宣告一樣
        d)   存取結構的成員資料使用點運算子
        e)    結構可形成巢狀結構
 
     結構宣告:
=>
 
     Structure  結構名稱
  資料成員1
  資料成員2
  Dim 變數名稱 as 資料型態
   ….
End  structure
 
結構變數的宣告:
=>
Dim 結構變數名稱 as [new] 結構資料型態
 
 
範例1:
Structure man
        Dim age As Integer
        Dim weight As Integer
        Dim height As Integer
        Dim name As String
    End Structure
 
    Protected Sub page_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles mybase.load
        Dim redman As man
        redman.age = 1 : redman.weight = 2 : redman.height = 3 : redman.name = "chiang"
        Response.Write(redman.age & redman.weight & redman.height & redman.name)
  End Sub
 
範例1:
structure person
        Dim blueman As man
    End Structure
  ……
Dim blueperson As person
        blueperson.blueman.show(1)
        Response.Write(blueperson.blueman.age)
    ………
 
  類別(class): 物件的模板,亦為一資料組合型態其類別成員除為靜態的資料組合外亦包括方法
a) 成員一般為靜態的資料物件的方法,建立一物件實體才可參照成員
        b)  資料成員預設為一private 存取層級
        c)   靜態資料成員宣告與一般變數宣告一樣 ,方法為一sub 或是function程序
        d)   存取物件的成員使用點運算子
        e)   類別可形成巢狀結構或複合結構
 
    
 
類別宣告:
=>
 
     class 結構名稱
  資料成員1
  資料成員2
  Dim 變數名稱 as 資料型態
  Public sub 方法名稱(arglist….)
  …
   End sub
   ….
End  class
 
範例
Class man
        Public age As Integer
        Public weight As Integer
        Public height As Integer
        Public name As String
        Public Sub show(ByVal x As Integer)
            age = age + 212100
        End Sub
    End Class
    class person
        Dim blueman As new man
End class
 
 
物件實體的建立與成員的引用:
=>
Dim 結構變數名稱 as  new 結構資料型態
=web form. 無法使用動態新增控制項物件及web form
=> 因web form 是由html描述邏輯程式的物件類別由.net frame compile
=> 書出結果會在檔案的最前面
=>    dim obj as new system.web.ui.button
       Me.controls.add(obj)
       Dim obj1 as new system.web.ui.page
       Obj1.show( 不支援)
 
範例
 
Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        Dim redman As New man
        redman.age = 1 : redman.weight = 2 : redman.height = 3 : redman.name = "chiang"
 
        redman.show(12)
        Response.Write(redman.age & redman.weight & redman.height & redman.name)
 
        Dim blueperson As New person
        blueperson.blueman.show(1)
        Response.Write(blueperson.blueman.age)
           End Sub
 
 
 
Vb.net事件回應程式:(page_load,page_init)
1.         asp.net的事件回應程序必須為一sub 程序
2.         可作為asp.net的sub 程序必須至少包含兩個以上參數
3.         事件程序的呼叫( invoke)可利用handles
4.         事件回應程式名稱可自訂
5.      page_load事件於單檔案編輯中可可不用使用事件屬性
 
web form 的常用的page(網頁)事件
1. page_load
2. page_preload
3. page_loadcomplete
4. page_init
5. page_preinti
6. page_initcomplete
#執行順序 page_preinit=>page_init=>page_initcomplete=>page_preload=>page_load=>page_loadcomplete
#一般網頁少使用網頁結束事件
 
 
Web_form的常用的form(網頁)事件
1.      form1_init
2.      form1_load
#執行順序 form_init會在 page的事件之前 form_load 會在 page的事件之後
 
 
範例:
1.
    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        Response.Write("pinit")
    End Sub
 
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Write("pload")
    End Sub
 
    Protected Sub form1_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Init
        Response.Write("finit")
    End Sub
 
    Protected Sub form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles form1.Load
        Response.Write("fload")
    End Sub
End Class
 
#  form1_init=>     page_init =>  form1_load  =>page_load
 
 
Vb.net 的顯式程式輸出,
ð       Response.write(輸出字串)
ð       於asp.net中一般使用 literal 代替 response.write
ð       輸出字串置放於最client網頁的最前端 (asp.net程式碼會最先執行)
 
Web form 回貼的動作  及 ispostback 屬性

範例位址介紹:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Samples\1033\VBSamples.zip


‎星期四 ‎2021年‎十月‎28日    上午 01:28:01


2021年10月21日 星期四

《禪隱者、【如何成功在視窗下載檔案】》


 1 .按視窗右下角四方型那個圖標。

2 .選取「所有設定」圖標。
3 .選取「更新與安全性」。
4 .選取左邊「indows 安全性」。
5 .選取「病毒與威脅防護」。
6 .選取「管理設定」。
7 .把「即時保護」關閉。


Mega 50GB 雲端免費服務。
https://mega.nz/
成功注冊之後以下是上下載快取。
https://mega.io/sync


《禪隱者、【黑洞數 ※ 6174】、檔案下載》
https://mega.nz/file/i44w3QSI#PsAlTtJKwNlAGWCamIJydw4p_c03ZM8o5q0hWV41vo4
《【禪隱者】、【Aspect_Ratio_縱橫比示範軟件】檔案下載》
(Aspect Ratio 縱橫比) That given Y to calculate X
https://mega.nz/file/LxAlWAYZ#-u1srA1i00NojY-nTeyQKM30zM6mmsuWcJHYTgMbucc

‎星期四 ‎2021年‎十月‎21日    下午 06:54:23


2021年10月19日 星期二

《【禪隱者】、【Aspect ratio 縱橫比】》


 【寬高比】(英語:Aspect ratio,也稱為【縱橫比】)是幾何形狀在不同尺寸的比值。 舉個例子,當矩形方向為橫向時的寬高比值,是其長邊與短邊的比率。 都是表示相同寬高比的方式。

視頻縱橫比為Square Pixele(1.0),致於螢幕縱橫比為4:3,這類源視頻素材尺寸為1280:800或1920:1080,HDTV


有關「黃金比例」,許多人都拿來亂用一通,動不動就說他的產品是根據「黃金比例」設計的,其實只要有一點了解的人都知道,真正的黃金比例又稱黃金分割,是一種數學上的比例關係。黃金分割具有嚴格的比例性、藝術性、和諧性,蘊藏著豐富的美學價值。應用時一般取0.618或1.618 ,其奇妙之處,在於其比例與其倒數是一樣的。例如:1.618的倒數是0.618,而1.618:1與1:0.618是一樣的。
數學家法布蘭斯在13世紀寫了一本書,關於一些奇異數字的組合。這些奇異數字的組合是1、1、2、3、5、8、13、21、34、55、89、144、233┅┅任何一個數字都是前面兩數字的總和2=1+1、3=2+1、5=3+2、8=5+3┅┅,如此類推。有人說這些數字是他從研究金字塔所得出。金字塔和上列奇異數字息息相關。金字塔的幾何形狀有五個面,八個邊,總數為十三個層面。由任何一邊看入去,都可以看到三個層面。金字塔的長度為5813寸(5-8-13),而高底和底面百分比率是 0.618,那即是上述神秘數字的任何兩個連續的比率,譬如 55/89 =0.618,89/144=0.618,144/233=0.618。另外,一個金字塔五角塔的任何一邊長度都等於這個五角型對角線(Diagonal)的0.618。還有,底部四個邊的總數是 36524.22 吋,這個數字等於一年天數的一百倍!這組數字十分有趣。0.618 的倒數是 1.618。譬如144/89=1.618、233/144=1.618,而 0.618×1.618 就約等於1。另外有人研究過向日葵,發現向日葵花有89個花辮,55個朝一方,34個朝向另一方。這組數字就叫做神秘數字。而 0.618,1.618 就叫做黃金分割線(Golden Section)。


《【禪隱者】、【Aspect_Ratio_縱橫比示範軟件】檔案下載》
(Aspect Ratio 縱橫比) That given Y to calculate X
https://mega.nz/file/LxAlWAYZ#-u1srA1i00NojY-nTeyQKM30zM6mmsuWcJHYTgMbucc

《【禪隱者】、【網際網路文章介紹】》
如何計算比率
https://zh.wikihow.com/%E8%AE%A1%E7%AE%97%E6%AF%94%E7%8E%87

《【禪隱者】、【影音介紹】》
how to cut a pentagon with paper/ cu't Pentágono papel/如何用纸剪五边形
https://www.youtube.com/watch?v=u02PGRffHUg&t=24s


Aspect ratio
https://www.bilibili.com/video/BV1HL411n7Ey
比例式
https://www.youtube.com/watch?v=75jh9AZFDVo


https://www.youtube.com/watch?v=egVydoZ-YQ8

‎星期二 ‎2021年‎十月‎19日    下午 09:47:49



2021年10月11日 星期一

《禪隱者、【黑洞數答案】》


黑洞數 6174<>4716 ?

答案:「9999 與 1111 之間的【等比中項】」。

別再像學生時代般睏,關燈休息吧!否則世界末日!


 

《【禪隱者】、【影音介紹】》

《End of the world》《世界末日》

https://www.youtube.com/watch?v=oY3vhA5d8iU

‎星期一 ‎2021年‎十月‎11日    下午 08:34:23


2021年10月9日 星期六

《禪隱者、【黑洞數 ※ 6174】》


 一、 甚麼是黑洞數?

黑洞數又稱陷阱數,是類具有奇特轉換特性的整數。 任何一個數字不全相
同整數,經有限〝重排求差〞操作,總是會得某一個或一些數,這些數即為黑洞
數。"重排求差"操作即組成該數得排後的最大數去重排的最小數。
1955 年,卡普耶卡(D.R.Kaprekar)研究了對四位數的一種變換:任給出四位數
k0,用它的四個數字由大到小重新排列成一個四位數m,再減去它的反序數 rev(m),
得出數 k1=m-rev(m),然後,繼續對 k1 重複上述變換,得數k2.如此進行下去,卡普耶
卡發現,無論 k0 是多大的四位數,只要四個數位不全相同,最多進行 7 次上述變換,就會出現四位數 6174.
二、 黑洞數的証明
隨便造一個四位數,如a=1628,先把組成部分1628的四個數字由大到小排列
得到 b=8621,再把 1628 的四個數字由小到大排列得 c=1268,用大的減去小的 
B-C=8621-1268=7353,把 7353 按上面的方法再作一遍,由大到小排列得 7533,
由小到大排列得 3357,相減 7533-3367=4176
把 4176 再重複一遍:7641-1467=6174。
如果再繼續操作下去,神奇的事情就發生了!7641-1467=6174,又回到 6174。
這是偶然的嗎?我們再隨便舉一個數 1331,按上面的方法連續去做:
3311-1133=2178, 8721-1278=7443, 7443-3447=3996, 9963-3699=6264
6624-2466=4158, 8541-1458=7083, 8730 – 378 = 8352, 8532-2358= 6174


我已經十年沒有使用 vb.net 了,弄得一頭煙霧水才完成!
‎2021‎年‎10‎月‎10‎日凌晨 2:50:25


《禪隱者、【黑洞數 ※ 6174】、檔案下載》