標籤: 軟體

管理軟體的重點實施效益(軟體開發、客製化軟體、ERP)

        網智數位成立到目前,幾乎大部分客戶都是來自不同領域產業的軟體客製化需求委託開發,也有很大比例是已有現成軟體導入或操作使用經驗、不乏市面上知名的套裝軟體,但一定是使用一段時間,真的發覺跟自己公司的營運作業流程不一致,導致事實上要需要很多人工費時費力的檢核,所以委外一個好的軟體開發團隊,一定必須深入該產業或公司進行深入流程觀察流程、文件以及目前所遇到最大的問題,希望系統管理軟體可以有效解決或提升人工的作業模式效率。

LINE_ALBUM_AI產生圖_240212_697

        企業決心實施ERP管理軟體前一個至關重要的命題,只有選對了、選準了才能更好的提高企業管理,不然就會適得其反,可是面對市場上林林總總、千差萬別的ERP廠商和各類系統套裝管理軟體,企業就會無從下手,更不知該如何選擇,所以我給出幾個想法與建議:

1、靈活嗎?
說到靈活性,有的人是不贊同的,以為靈活性不嚴肅,但客戶的需求必須靠靈活性來支持,舉個簡單的例子,任何一個企業的資薪政策都是隨營業情況而變的,也可能因組織機構改變而改變,也可能因考核方法不同而改變,那麼工資的計算方法就自然而變了,是不是要設死在軟件裡,當然不是,其實管理軟體中的薪資計算關係,傳遞關係很多很複雜,如果是一一寫在程序裡,客戶要改變時要找軟體公司改程序,這樣的軟體就缺乏靈活性,實施時會面對客戶層出不窮的新需求而無可奈何。
所以當你選型做技術考察時,一定要記得問:軟體支持計算公式的設置嗎?如果是,請要求設置,看你出的計算公式算的結果對不對。如果不能設,就可以判定此軟體不具有靈活性,實施失敗的可能性會升高很多,因為你的需要沒有被滿足,而如果這是關鍵的需求,那麼就嚴重了,非得二次開發不可,再舉例目前我在開發產業的ERP,目前事實上就遇到窗簾產業在計算產品價格的複雜性、不是一般軟體的所謂BOM表可以單純地解決成本、售價計算,以及產品零件的多組合型,所以開發了很多公式可以彈性應用。

 2、實用嗎?
那麼所謂的實用?實用就是輸入方便、不易出錯、查詢快速、多個條件查詢。那種要培訓N多還不能操作的軟體就說不上實用,因為簡單的東西容易學,複雜的東西記不住,軟體應該做得操作簡便,至於查詢方面,就最好不要使用者記什麼,隨便就可以看到他想要的關鍵字。


3、可擴展嗎?
一個ERP、管理軟體應該是要可以擴展的,為什麼?因為客戶的需要是擴展的,比如說,ERP中有這個報表好,但我還想要另外一種ERP中沒有的報表,怎麼辦?又要找開發商二次開發?如果這樣,就沒有擴展性,沒有擴展性,就支持不了客戶潛在的需求和未來的發展。有擴展性的ERP軟體是客戶可以根據自己的需要來擴充單據、報表的,並且能即時建立與原來數據的關係。
所以當你選型做技術考察時,一定要記得問:你們的軟件可以自己建新表,接入到已有的業務流程中去嗎?如果是,就要他做做看,ERP實施時這種事是經常有的,你的企業也不會例外;如果不是,實施失敗的可能性又會升高很多,因為你的需要沒有被滿足,而如果這是關鍵的需求,那麼就嚴重了,非得二次開發不可。
所以一個實用的、有靈活性的、可擴展的ERP軟體是實施成功的技術基礎,在這個基礎上再去談別的吧,否則失望就是回報,無論你付出多大努力。

 

(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) – 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] – 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
管理軟體的重點實施效益(軟體開發、客製化軟體、ERP)

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105

 

 

客戶案例-維修知識管理系統(軟體開發、軟件開發、程式設計)

       網智數位開發團隊去年協助台灣最大代理機械軸封及聯軸器的廠商,開發維修知識管理平台,結合了該產業的維修技能知識整理成數位資料,可以讓台灣、以及大陸、其他國家的經銷商,可以共同登入此平台,查閱維修技術知識、零件資料查閱、更重要的可以有智能地協助各地維修師傅,在上千個複雜零件,如遇到故障該如何進行維修排除建議的決策管理系統 ,導入這樣有效率的平台,也是委託企業的總經理非常有獨特的遠見,知道如何利用資訊軟體工具,把該公司多年來資深老員工多年來的隱形知識變成可以分享與傳遞的顯性知識,以利企業內部甚至是結合上下供應鏈、合作經銷商,充分地在AI與物聯網、雲端資訊化的浪潮下,更鞏固企業的競爭力。


image


image



網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)

       現在的企業競爭越來越激烈,更隨著資訊訊息化的普及,所有企業都處身於資訊與大數據分析的必要性,各行各業的企業不得不面對日益增長的海量資訊數據。可數卻又有許多企業卻無法充分交換、共享、利用各種數據來加以整合,使自身前後兩端成為各自獨立的資訊孤島,最終使企業在業務運營上出現盲點,以至於無法有效利用資訊數據來引導企業做策略分析。

thisisengineering-raeng-64YrPKiguAE-unsplash

 

       以往舊資訊管理思維,企業傳統的著眼點在後台,也就是在企業內部精益化管理和成本控制這部分,而對前台,也就是直接面對客戶的那一塊缺乏良好的科學管理思維,隨著資訊化、物聯網、雲端技術的普及發展,在以客戶為中心的市場經濟時代,企業關注的焦點逐漸由過去關注產品轉移到關注客戶上來,由於需要將更多的注意力集中到客戶身上,所以僅僅依靠的封閉式管理模式已難以適應激烈的競爭,企業必需同時運用內部流程數據與整合外部客戶的資訊,而為了彌補專注于企業內部ERP系統的不足,順應企業的需求,以方便與客戶的互動,所以企業必需具備在足夠的力量創造有用決策資訊,引進CRM系統,無疑是個捷徑來提升企業管理競爭力。

 

       所以企業導入 ERP系統 與CRM 系統非常具有天然的互補傾向,ERP系統得以將很多先進的管理思想變成現實中可實施應用的企業資源管理系統,但如果一味固守原有的管理思想,只停留在企業內部流程的管理上,將不能適應新時代資源優化及企業間協同發展的需要;CRM的價值在於突出了客戶服務與支持、和營運管理等方面的重要性,ERP和CRM的系統整合與導入並不是簡單地將二者進行加和,它們是按照業務模式和經營管理思想被合理地整合在一起,最終實現功能上的協同合作,兩者系統整合的基本思想主要是以模塊化趨勢為立足點,將CRM優勢部分有效融入ERP系統,兩者完全可以形成無縫的封閉系統,將企業內外部資源有效的整合起來,為企業發展提供新的機遇。

 

      把ERP與CRM整合已是大勢所趨。他們的無縫整理與資訊數據分享共用,勢必將帶來 一加一 大於二 的理想效果,企業的過程流線化、行政管理成本削減、更出色的庫存管理、在線定價與報價、交貨週期的自動化、更好的銷售成本控制,最大化地提高企業對市場的快速響應能力和滿足客戶個性化需求的能力,最終以實現為目標,使企業建立起適應網絡經濟的充分柔性的企業管理資訊系統。

(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) – 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] – 專案導入深入剖析
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

Java Script D3 資料過濾教學(軟體設計、軟體開發)

       我在網頁繪圖時,現在常使用 D3 來幫客戶做成統計視覺圖表,但一定會遇到客戶要求在使用者界面上可以進行某些條件的過濾篩選,例如根據勾選或者執行某個按鈕(Button)時,可以顯示或隱藏網頁部分元素圖表,而這樣需求條件,我們就可以利用 Java Script D3 支援的 Filter 函數來實作此需求案例。


案例執行畫面如下

2017-12-04_11-11-28


//完整程式碼如下:

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8″>
     <title>網智數位 Java Script D3 過濾資料技巧</title>
     <link rel="stylesheet" type="text/css" href="styles.css"/>
     http://d3.js
</head>


<body>



     var data = [ //          {price: 200, category: “捲簾"},
         {price: 300, category: “直立式軌道"},
         {price: 350, category: “木片百葉窗"},
         {price: 500, category: “木竹簾羅馬"},
         {price: 1000, category: “電動軌道"},
         {price: 800, category: “蜂巢簾"},
         {price: 900, category: “百葉窗"},
         {price: 500, category: “壁紙"},
         {price: 300, category: “耐磨地板"},
         {price: 700, category: “衛浴"},
         {price: 400, category: “馬桶"}
     ];


    function render(data, category) {
         d3.select(“body").selectAll(“div.h-bar") //                  .data(data)
             .enter()
             .append(“div")
                 .attr(“class", “h-bar")
             .append(“span");


        d3.select(“body").selectAll(“div.h-bar") //                  .data(data)
             .exit().remove();


        d3.select(“body").selectAll(“div.h-bar") //                  .data(data)
             .attr(“class", “h-bar")
             .style(“width", function (d) {
                 return (d.price) * 0.6 + “px";}
             )
             .select(“span")
                 .text(function (d) {
                     return d.category;
                 });


        d3.select(“body").selectAll(“div.h-bar")
                 .filter(function (d, i) { //                      return d.category == category;
                 })
                 .classed(“selected", true);
     }


    render(data);


    function select(category) {
         render(data, category);
     }


    
         耐磨地板
    
    
         電動軌道
    
    
         壁紙
    
    
         取消選取
    


</body>


</html>


重點程式碼講解:

1. 程式碼註解 A ,我在這邊宣告了 一個 data 變數,它存放了一系列 json 格式的物件,該物件 有 2個屬性 分別為 price(記錄價格)、category(記錄類型)。

    var data = [ // <- 程式碼註解 A
        {price: 200, category: “捲簾"},
        {price: 300, category: “直立式軌道"},
        {price: 350, category: “木片百葉窗"},
        {price: 500, category: “木竹簾羅馬"},
        {price: 1000, category: “電動軌道"},
        {price: 800, category: “蜂巢簾"},
        {price: 900, category: “百葉窗"},
         {price: 500, category: “壁紙"},
        {price: 300, category: “耐磨地板"},
         {price: 700, category: “衛浴"},
         {price: 400, category: “馬桶"}
     ];

2.程式碼註解 B,透過 D3 的選取方式

d3.select(“body").selectAll(“div.h-bar").data(data).enter()

這行程式碼,透將會將 所有數據與 網頁的 <div id=’h-bar’> ,做交集的動作,使得每個數據可以對應各自的 <div id=’h-bar’> 元素。

3.程式碼註解 D,將選取的  <div id=’h-bar’> ,根據 data 的 price 價格 用公式來設定長度,以及透過 text() 來設定文字。

d3.select(“body").selectAll(“div.h-bar") // <- 程式碼註解 D
                 .data(data)
             .attr(“class", “h-bar")
             .style(“width", function (d) {
                 return (d.price) * 0.6 + “px";}
             )
            .select(“span")
                 .text(function (d) {
                     return d.category;
                 });

4.程式碼註解 E,也是最重要的,我根據 d3 支援的 filter()函數,來過濾要選擇的資料。

d3.select(“body").selectAll(“div.h-bar")
                 .filter(function (d, i) { // <- 程式碼註解 E
                     return d.category == category;
                 })
                .classed(“selected", true);

其他參考文章
HTML CSS 動畫教學–【軟體開發(軟件開發)】
繪圖程式-折線圖、區域圖 實作一
產品報告與能源曲線分析系統
利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)
Java Script D3 資料過濾教學(軟體設計、軟體開發)
利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:
allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-5599-1310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

軟體對企業的價值(軟體開發、軟件開發、客制化軟體)

    這半年,我發覺委託我們開發軟體的客戶,幾乎都再次委託我們進行擴充功能,而且或許值得開心的,除了以往企業管理軟體系統(ERP、進銷存、CRM、POS)等,開始很多客戶為了創造原來產品的價值,開始重視軟體可以帶來的價值。

aa   

    例如,其中一個客戶工業設備空調大廠原本在自有的產品,具有一定的市場競爭性,但客戶董事長,認為如果可以透過軟體來提升使用設備的效益,所以再次委託我們開發軟體,來偵測使用設備的用電量趨勢圖、溫度的變化、散熱效果等,來產生各種圖表、趨勢圖,給客戶不止使用硬體設備,還可以因為使用硬體設備,透過軟體來增加附加價值,給客戶建議用電量使用狀況,而且可以透過軟體管理界面來管理大量的設備,例如批次關閉設備、開啟設備、設定警示音效,當達到某個電量數據、溫度數據,可以發出警報。

    上面我提客戶只是近來一個案例,這個客戶董事長非常有前瞻性思維,他把軟體直接附贈給購買設備的終端客戶,讓原本已經具有競爭性產品設備、更因為軟體的價值,來建立與競爭同業更大的產品優勢,其他競爭廠商還幾乎停留在設備跟價格定價的商業手法。


網智數位-軟體開發(軟件開發)

針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰

業務合作、軟體委外開發

業務窗口:allen@netqna.com

聯繫電話:0920-883-870

公司電話:02-55991310

公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓

skype: netqna

line:netqna

微信:netqna

黃先生 Allen

在.Net 透過 Parallel 類別操控多任務平行作業(一)【軟體開發、軟體設計、系統開發】

   此篇文章主要是延續之前的文章 【C#多工作業與平行處理技術講解】,講解與實作如何在利用強大的 透過 Parallel 類別支援的方法,撰寫非同步任務,這裡一樣我會透過簡單程式碼進行實作教學。


   在並行任務與建立一個新的執行緒過程來執行一個非同步作業的操作是非常相似地,但是在這邊的並行任務卻是可以更好地發揮多個CPU處理器或者多核心處理器的強大優勢,進而充分地利用CPU的可用資源來執行非同步作業任務,更方便地是,在 .Net 並行任務的操作過程被封裝地很好,身為程式開發人員只需要調用呼叫對應的類別與相關成員方法就可以很輕鬆地建立與執行並行任務了,至於任務是在那個CPU處理器執行,操作系統的底層會自動進行調用配置。


    在這邊我使用一個 WPF 的專案範例進行講解,來說明如何利用 .Net 的 Parallel 類別執行非同步作業。


步驟一 :

在 Visual Studio 2017 建立一個 WPF 專案,

wpf


步驟二:

在 主要的 MainWindow.xaml 畫面,用xaml 語法宣告了一下界面結果


2017-07-08_17-12-48


主要是有 提供 3 個讓使用者輸入整數值的 TextBox , 以及對應 3 個顯示執行結果的 TextBlock ,還有一個 Button (執行 Parallel 運算平行任務)的按鈕。


部分xaml 語法如下:

xaml

步驟三:

在 Button 的 Clieck 事件,進行撰寫主要的核心程式碼邏輯….

(Code)

private void OnClick(object sender, RoutedEventArgs e)
{
     int num1 = default(int);
     if (!int.TryParse(txtInput1.Text, out num1))
     {
         MessageBox.Show(“輸入第一個正整數值:");
         return;
     }
     int num2 = default(int);
     if (!int.TryParse(txtInput2.Text, out num2))
     {
         MessageBox.Show(“輸入第二個正整數值:");
         return;
     }
     int num3 = default(int);
     if (!int.TryParse(txtInput3.Text, out num3))
     {
         MessageBox.Show(“輸入第三個正整數值:");
         return;
     }


    //宣告第一個並行作業的委派實體
     Action act1 = () =>
         {
             int sum = 0;
             for (int x = 1; x <= num1; x++)
             {
                 sum += x;
             }


            //顯示執行結果
             this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => run1.Text = sum.ToString()));
         };


    //宣告第二個並行作業的委派實體
     Action act2 = () =>
     {
         int sum = 0;
         for (int x = 1; x <= num2; x++)
         {
             sum += x;
         }


        //顯示執行結果
         this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => run2.Text = sum.ToString()));
     };


    //宣告第三個並行作業的委派實體
     Action act3 = () =>
     {
         int sum = 0;
         for (int x = 1; x <= num3; x++)
         {
             sum += x;
         }


        //顯示執行結果
         this.Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => run3.Text = sum.ToString()));
     };



    //使用 Parallel 類別來執行 並行任務
     Parallel.Invoke(act1, act2, act3);


}


程式碼重點講解:

1.這邊我主要用了 3 個 Action 的委派實體,分別用來進行整數的累加運算任務。

2.使用了 Dispatcher.BeginInvoke() 方法,和Windows Form 專案一樣,WPF 在平行作業模式下,也分為主UI的主執行緒,和多個任務的各別執行緒,而在任務的執行緒要改變主執行緒控管的主畫面下,必須透過 Dispatcher.BeginInvoke ,在不會發生一個 UnauthorizedAccessException 例外錯誤。

3.也是最重要的程式碼邏輯,利用 Parallel類別的 Invoke 方法呼叫,分別傳入多個委派實體,在這邊我宣告了3個 Action 委派實體,我一次傳入 Parallel.Invoke(act1,act2,act3), 這樣程式就自動進行3個平行作業任務了。


參考文章
C#多工作業與平行處理技術講解
1.透過 Thread 類別撰寫多執行緒多工作業。
2.透過 Delegate 委託支援的方法,撰寫非同步任務。
3-1.透過 Parallel 類別操控多任務平行作業(一)。
3-2. 透過 Parallel 類別操控多任務平行作業(二)。
4.使用 Task 自行控制非同步任務作業。
5.在非同步作業時,如何取消非同步任務。
6.多執行緒多任務存取相同變數,但卻各自隔離保留各自任務的值。
7.非同步存取變數的問題。
8.非同步資源鎖定解決方式。



網智數位-軟體開發(軟件開發)

針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

在 .Net 透過 Thread 類別撰寫多執行緒多工作業【軟體開發、軟件開發、客製化軟體】

     此篇文章主要是延續上一篇 【C#多工作業與平行處理技術講解】,講解與實作如何在利用強大的 Thread 類別,使用 C# 來撰寫多執行緒多工作業功能。

在 .Net 平台中 Thread 類別位於 System.Threading 命名空間中,此類別封裝了多執行緒許多方法與功能,可以讓我們快速建立新的執行緒,進而在新的執行緒執行所需要的程式碼邏輯,在我們建立一個 Thread 的實例(Instance)時,需要透過一個委派(Delegate)與新建立的 Thread 實例和一個現有的方法(Method)進行綁定,當執行緒(Thread)啟動後,就會立即執行這個綁定的方法。

傳遞給 Thead 的建構子的委派(Delegate)有 2 種,一種是不帶任何參數的委派方法;第二種是可以帶一個 object 參數的委派方法。在我們實體化 Thread 物件後,就可以開始調用 Thread.Start()方法,來啟動執行緒(也會開始執行綁定的方法),而在執行過程隨時可以調用 Thread.Abort()方法,來強制終止執行緒的執行,不過這個 Abort()方法會引發一個 ThreadStateException 例外錯誤。

現在我就帶一個實際範例來是示範如何 用 C# 使用 Thread 類別,建立一個執行緒作業,這邊為了簡單講解觀念,我使用最簡單的 Windows Form 專案來講解。

Step 1. 透過 Visual Studio 2017(舊版本 2015/2013/2012都行啦)新增一個 Windows Form 專案

2017-07-02_23-33-29

Step 2.在 Step 1建立的 Windos  Form 專案後,會產生一個 Form1的界面表單,打開此表單,然後從工具箱拖拉一個 ProgressBar 控制箱到 Form1 畫面,並排好版面。

step2

     Step 3. 從工具箱在拖拉一個 Button 到 Form1 的畫面,並將 name 屬性命名為 btnTread , Text 修改為【Thread 執行緒 啟動】step3

 Step 4. 在 Form1.cs 後置程式碼裡,我撰寫了一個 DoWok() 方法,裡面撰寫了一下邏輯,程式碼如下:

/// <summary>
/// 此方法將會透過委派(Delegate)指定給新的執行緒(Thread)
/// </summary>
private void DoWork()
{
  int p = 0;

  while (p < 100)
  {
    p++;
    Thread.Sleep(100);

    //更新進度表
    this.BeginInvoke(new Action(() =>
    {
       this.progressBar1.Value = p;
    }));
  }

  this.BeginInvoke(new Action(delegate ()
  {
   //再次啟用按鈕狀態
   btnTreadStart.Enabled = true;
   //重設定進度表為 0
   progressBar1.Value = 0;
   //顯示執行緒已完成
   MessageBox.Show(“執行緒已完成。", “執行緒已完成", MessageBoxButtons.OK, MessageBoxIcon.Information);
  }));

}

step4

Step 5. 在 Form1 的 Button 按鈕,雙擊滑鼠 (button1_Click),在button1_Click 事件我撰寫了 核心的 操控 Thread 程式碼

private void button1_Click(object sender, EventArgs e)
{

  //宣告一個 Thread 類別,並將在傳入 Step 4 所宣告的 DoWord 方法
  //待會 Thead 執行時,就會立即執行 DoWord 方法
  Thread newThread = new Thread(DoWork);

  //停用按鈕
  btnTreadStart.Enabled = false;

  //啟用新的執行緒
  newThread.Start();

}

step5

Step 6. Compile 編譯執行(執行F5),就可以看到結果

step 5-1

step 5-2

 

程式碼補充解釋:
因為基於執行緒的安全考量和包含使用者界面完整性,一般而言,系統是限制跨執行緒去更新修改使用者界面,所以在 Step 4 的 DoWokd方法,我透過呼叫 this.BeginInvoke() 方法傳遞一個 委派,使得可以在使用者界面的主執行緒上面進行更新使用者界面的控制箱(ProgressBar1),所以可以看到進度表一直不斷更新。

透過這一篇文章希望可以說明如何利用 Thread 類別來操作多執行作業,後續我還會抽出時間講解不同的非同步多工作業方式,分成不同的文章來一一描述。

 

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

 

文具行業-ERP管理軟體導入(軟體開發、軟件開發、客製化軟體)

    感謝位於越南台商-台灣豐禾文具製品有限公司,選擇委託網智數位-軟體開發團隊,量身客製化開發軟體,該客戶是在越南已經有多年的耕耘,在文具加工與製程有非常好的品質與競爭力,但因為在針對下游客戶的訂單處理、報價評估、成本分析、都是人工Excel計算,以及庫存都是手寫記錄,因此與我們聯繫溝通想導入一個好的管理軟體。

LINE_ALBUM_AI產生圖_240212_738

  

而因為在成本的零件、材料的多樣性變化,在一般的套裝軟體的BOM表無法真的滿足,報價選擇零件的成本、利潤估算,因此必須針對該客戶的具體物料變化、用量、損耗進行客製化公式設計、軟體開發,來加速公司的報價利潤控管與查詢統計,以及後續的採購流程、庫存管理,所以評估多家軟體公司後,正式選擇網智數位,進行輔導與軟體開發。

網智數位-在企業的客制化軟體開發,有相當豐富的經驗,也在企業的流程知識、資料流、系統整合,ERP、MRP、CRM、庫存管理管理軟體導入都有產業經驗,目前已經橫跨地板業、窗簾業、成衣業、工業馬達、化妝品業、玩具貿易業、物流業…

(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) – 專文介紹
ERP 系統的淺談與優勢
庫存目標6大範疇

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

勒索軟件大規模攻擊微軟的Windows系統

在5月13日的可靠消息,根據各大國內外媒體報導,大規模的勒索軟體攻擊已破壞英格蘭醫院的運作,也感染全球數十個國家的電腦。

wKiom1kWr9zChehWAABHDOkvIiA50.jpeg-wh_651x-s_2026428311_thumb[8]

而微軟今天表示,它的工程師已針對該攻擊加強了檢測和保護。

微軟發言人在聲明中稱,“今天,我們的工程師已針對名為Ransom:Win32.WannaCrypt的新惡意軟件加強了檢測和保護。”它說,公司正與客戶合作提供額外的幫助。
勒索軟件是一種能夠持續阻止計算機正常運作的軟件,除非受害者交出勒索贖金。新的WanaCrypt0r 2.0勒索軟件尤其致命,因為它利用了竊取自美國國家安全局(NSA)的黑客工具。
3月,微軟成功補上了讓該名為EternalBlue的NSA工具能夠運作的安全漏洞。
今天,針對WanaCrypt0r勒索軟件,Windows更新了兩款安全工具——Windows Defender antivirus和Windows Security Essentials。
卡巴斯基實驗室今天發現,全球74個國家共計發生數万起WanaCryt0r攻擊。該攻擊導致英國的醫院系統拒絕病患看病,西班牙電信公司出現大面積的停工,俄羅斯內務部有1000台計算機被感染。

該勒索軟件所使用的EternalBlue工具是一個名為ShadowBrokers的組織所流出的NSA黑客工具,該組織自夏季以來一直在放出這種工具。 EternalBlue於4月放出,就在微軟剛剛填補了安全漏洞之後。

ShadowBrokers一開始曾嘗試拍賣那些工具,隨意流出了至今仍很危險的工具來證明自己擁有其所聲稱的工具。由於不滿報價和其它的貨幣化機制,該組織於1月打消了拍賣計劃。
4月,ShadowBrokers放出一攬子新的工具,稱該舉是為了抗議美國總統特朗普做出中立派決策而非極右翼決策。
專家們認為,及時更新電腦軟件系統對於避免遭受黑客和惡意軟件的攻擊至關重要

目前具體做法與媒體報導,可以參考以下介紹
XP也有救!WannaCry 2.0勒索軟體肆虐,微軟破例再釋Windows XP修補
WannaCry 2.0勒索蠕蟲狠襲全球,上百個國家受駭,台灣也是重災區
勒索病毒爆發 安全專家預警周一上班要小心
中職/系統當機頭一回 尚不確定為勒索病毒
病毒軟體勒索恩主公醫院 病患個資無虞

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

網智數位與群環科技正式合作成為 微軟 Azure 雲端解決方案經銷商

        今年網智數位與群環科技正式簽約合作,網智數位也將正式成為雲端平台 Azure 經銷商與解決方案提供者,未來網智數位的客戶,可以透過我們採取微軟的雲端平台,而我們將可以提供良好的技術服務、更好的軟體開發品質,讓軟體使用更加便利性、跨越裝置、區域性地限制性。

 

下載

 

 

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen