hide_kichiの情報

気になる情報を適当にアップしていきます

MicroBit入門(子供たちのプログラミング勉強ツール)

f:id:hide_kichi:20190328130236j:plain

MicroBit購入しました。

 

MicroBitの操作を記述します。

 

(1)”https://microbit.org/ja/code/”

を表示します。

microbit.org

(2)以下の画面が表示されます。

f:id:hide_kichi:20190330092438p:plain

(3)画面の”クイックスタートガイド”をクリックします。

f:id:hide_kichi:20190330092717p:plain

 

(4)ステップ1からステップ5までありますが、MicroBitを持っている人はステップ1から始めてください。持ってない人はステップ2だけでプログラミングの勉強になります。

(5)ステップ2に進みましょう。

”クリックしてこの例を自分で作ってみる”をクリックします。

f:id:hide_kichi:20190330100950p:plain

(6)"新しいプロジェクト”をクリックしてください。

f:id:hide_kichi:20190330101112p:plain

(7)「基本」-「アイコン表示」をすべてに2個ドラッグします。

f:id:hide_kichi:20190330115046p:plain

(8)「アイコン表示」の2個目を”小さいハート”に変更

f:id:hide_kichi:20190330115621p:plain

 (9)動画です。

 

 

参考にさせていただきました。

https://sanuki-tech.net/micro-bit/appendix-sample-program/dokidoki-heart/

すごく参考になります。是非確認してください。

 

 

youtu.be

 

youtu.be

【MicroCadam(マイクロキャダム)Helix ACCESSコアについて】

f:id:hide_kichi:20190326111104j:plain

 

【MICROCADAM Helix ACCESSコアについて】

もうMICROCADAMから遠ざかって10年近くなります。

恐らく今後MICROCADAMを触ることもサポートすることもないでしょう。

Helixのアクセスコアプログラムも営業しながら夜寝る時間を惜しんで作ってました。しかしもうすっかり忘れちゃいました。

概略スキルだけ書き留めて置こうと思います。

今でもMICROCADAMを利用続けているユーザーは多いと思います。

ACCESSコアは難しそうなので手を出してない人もいると思います。

筆者はHelixが稼働する環境もないので概略だけ書きます。

 ・稼働環境

 ・VisualStudio(マイクロソフト無料版)をDWONLOAD,インストールします。

 ・Helixをインストールします。

  HelixのバージョンはV5.2だったと思います。

  今のバージョンは2018-r2ですね。

  • 開発にはCソースPRGとDLLモジュールを作成するためのBATが必要です。

 

 

 

f:id:hide_kichi:20190403150100p:plain

 

Dxfconvというプログラムを作成する場合。

  Dxfconv.c  : ソースプログラム

  Dxfconv.bat : コンパイルLINKするバッチ

  Dxfconv.def  : LINK定義ファイル

  この3つのファイルが重要です。

  ファイルの内容は以下です。

  

・DXFCONV.BATの内容


 @ECHO OFF
SET ORG_INCLUDE=%INCLUDE%
SET ORG_LIB=%LIB%
SET ACCESS_PATH=C:\MCHelix\HDD\ACCESS
SET LIB=%ACCESS_PATH%;%LIB%;
SET INCLUDE=%ACCESS_PATH%;%INCLUDE%;

cl /c /W3 /J /MD /DWIN32 /D_NTSDK DXFCONV.C >XXX.TXT
notepad XXX.TXT
LIB? /MACHINE:IX86 /OUT:DXFCONV.LIB? /DEF:DXFCONV.DEF? > NUL
LINK @DXFCONV.LNK
MT -MANIFEST DXFCONV.DLL.MANIFEST -OUTPUTRESOURCE:DXFCONV.DLL;2

SET INCLUDE=%ORG_INCLUDE%
SET LIB=%ORG_LIB%
SET ORG_INCLUDE=
SET ORG_LIB=
SET ACCESS_PATH=   

 

・DXFCONV.defの内容

 

LIBRARY DXFCONV

EXPORTS

        ac2userp

 

・DXFCONV.Cの内容

 

 MICROCADMの画面上から図面をCLOSEすることなく、画面上のMicroCadam図面情報をDXF変換し他のCADに渡して起動するプログラムです。

(シームレスにDXF変換PRGを起動させて他のCADを起動するプログラムです。)

 非常に簡単に作成できますが、効果高いプログラムです。

 


/***********************************************************************
*     MC->DXF TEST 処理                program                         *
*           FILE NAME                  DXFCONV.C                       *
*           function                   MC->DXF処理                     *
***********************************************************************/
 
#include 
#include 
#include 
#include 
#include "accfnc.h"
/* POPUP */
/*
#define  INCL_BLK_MSG1_NO1
#include "RYOCAM1_msg.dfn"
#include "RYOCAM1.dfn"
*/
/*============= Union of iarray for buadd,buget =======================*/
 union ELM {         
    long    iarray[20];
    float   rarray[20];
    char    carray[20][4];
};
 
static long   icolr;
static double ctrx;
static double ctry;
 
#define     PI          3.141593
#define     INDXG       ELM.iarray[0]
#define     INDXS       ELM.iarray[1]
#define     INDXAS      ELM.iarray[3]
#define     INDXT       ELM.iarray[4]
#define     INDXM       ELM.iarray[8]
#define     COLMDL      2L
#define     SELECT      1L
#define     IND         2L
#define     POPUP       7L
#define     ATTRIB      1100L
#define     DEFNUM      "6"
#define     DEFRAD      "50"
#define     DEFCOL      "DEFAULT"
 
static  FILE    *fp_o;
static  char    *g_file_o = "c:\\DATA\\TEST\\OUTPUT.DAT";
static  FILE    *fp_c;
static  char    *g_file_c = "c:\\DATA\\TEST\\PROG.LOG";
static  FILE    *fp_i;
static  FILE    *fp_i2;
static  char    *g_file_i = "c:\\DATA\\TEST\\INPUT.DAT";
 
static  FILE    *fp_x;
static  char    *g_file_x =  "WORK.DAT";
 
static  FILE    *fp_9;
static  char    *g_file_9 = "c:\\DATA\\TEST\\DEBUG.DAT";
 
#define MODEL1 1L
 
static double PAI=3.141593 ;
char *retc;
long   ret  ;
long   mptr ;
static long IDBG ;
static char IDBG_S[]=" " ;
 
 
/**************************************************************************************/
/*****       処理開始                              ******/
/**************************************************************************************/
 
void ac2userp( void )
{
    long    iflgar[3];          /* bubegn           */
    long    ioutar[3];          /* bubegn           */
    long    modear[3];          /* bumode           */
    long    prsbtn;             /* msgbox           */
    long    mask[7];            /* event            */
    long    event;              /* event            */
    long    nchar;              /* poplbl_set       */
    long    popno;              /* popevent         */
    long    objno;              /* popevent         */
    long    pevent;             /* popevent         */
    long    num;                /* gatr             */
    long    atrno;              /* gatr             */
    long    atrptr;             /* gatr             */
    long    itype;              /* buget,elmsel     */
    long    topelm;             /* elmsel           */
    long    toptyp;             /* elmsel           */
    long    subelm;             /* elmsel           */
    long    subtyp;             /* elmsel           */
    long    ivunum;             /* buview           */
    long    ivuid;              /* buview           */
    long    iparvu;             /* buview           */
    float   vaxar;              /* buview           */
    float   vmrxar;             /* buview           */
    double  vx;                 /* position         */
    double  vy;                 /* position         */
    char    drv;
    char    drv2;
    char    drv0;
    unsigned char   group[4];   /* buopen           */
    unsigned char   user[6];    /* buopen           */
/*    unsigned char   id[20];     /* buopen           */
    unsigned char   text[31];   /* poplbl_set       */
   unsigned char   group0[4];   /* buopen           */
    unsigned char   user0[6];    /* buopen           */
 
    char  wild;
    char  wid[20];
    char  id[2000];
    char  pnfn[20];
    long  iopt;
    long  skip;
    long  number;
    long  idata[100][20];
    char  cdata[100][116];
 
 
    short   ierr;
    short   iret;
    long    modno;
    long    mptr;
    long    curmdl = 1L;
    long    msgblk = 0L;
    long    popopn = 0L;
    long    msgno;
    union ELM   ELM;
    long ii;
        long  lwork;              /* 99.05.11 */
        float fwork;
    char  cwork[]=" "; 
       
 
    drv =  'C';
    memcpy( group, "CAD ", 4 );
    memcpy( user,  "TRAIN ", 6 );
    memcpy( wid,   "A???????????????????", 20 );
    wild   = '?';
    skip   = 0L;
    number = 100L;
    iopt   = 1L;
 
#define scanf scanf_s
 
IDBG=0;
        /**************************/
        /* FILE READ              */
        /**************************/
        /*
        fscanf(fp_i2,"%s",XXXXX ) ;
        fclose(fp_i2)            ;
        */
/*
        fscanf(fp_9,"%s",IDBG_S ) ;
        IDBG = atoi(IDBG_S)       ;
    fclose(fp_9)            ;
 
    /****************************************/
    iflgar[0] = 52L;
    iflgar[1] = 1L;
    iflgar[2] = 1L;
    ierr = 1L;
    iret = MC_bubegn ( 1L, iflgar, ioutar, ierr );
    if( iret )  return;
 
    modear[0] = 2L;
    modear[1] = 0L;
    modear[2] = 11L;
    iret = MC_bumode ( 1L, modear, ierr );
    if( iret )  goto exit;
 
    iret = MC_budriv( 2L, MODEL1, &drv0, 12L );  /* 区画の問い合わせ */
    if( iret )  goto exit;
 
    iret = MC_curgrpusr_get( &drv0, group0, user0 );
 
    iret = MC_curmdl( 1L, &modno );          /* Query */
       
       
         ret = MC_buget ( 1L,MODEL1,mptr,&itype,GET.iarray,27L );
  
/* Add a reference parts */
    long   mptr;
    long   lenerr;
    long   ierrar[2];
    short ret;
    union {
        long   iarray[70];
        float  rarray[70];
        double darray[35];
    } ELM;
 
    #define   MODEL1  1L
    #define   PARTS   1720L
    #define   INDXG   ELM.iarray[0]
    #define   INDXS   ELM.iarray[1]
    #define   INDXAS  ELM.iarray[3]
       .
 
/*----- Global Information -----*/
    ELM.iarray[INDXG] = 1L;             /* Storage precision flag */
 
/*----- Specific Information -----*/
    ELM.rarray[INDXS-1] = 10.0;         /* X coordinate of pivot point */
    ELM.rarray[INDXS  ] = 10.0;         /* Y coordinate of pivot point */
    ELM.rarray[INDXS+1] = 0.0;          /* Angle of rotation */
    ELM.rarray[INDXS+2] = 1.0;          /* Scale */
    ELM.iarray[INDXS+3] = 0L;           /* Mark option */
 
/*----- Parts Information -----*/
    memcpy( ELM.carray[INDXAS-1], "CAD ", 4 );
    memcpy( ELM.carray[INDXAS  ], "TRAIN ", 6 );
    memcpy( ELM.carray[INDXAS+2], "ACCESS PARTS        ", 20 );
 
    ret = MC_buadd( 1L, MODEL1, PARTS, ELM.iarray, &mptr, 1700L );
    ret = MC_budspe( 2L,MODEL1,1L,&mptr,0L,&lenerr,ierrar,999L );
  
        iret = MC_drwlst( iopt, drv, group, user, wild, wid, skip,
                     &number, id, idata[0], cdata[0] );
 /*
  ret = MC_bufile( 4L, MODEL1, group, user, id, 21L );
 */
 
    drv2 = 'C' ;
    iret = MC_budriv( 1L, MODEL1, &drv2, 13L );
    if( iret )  goto exit;
 
 
/************** End of ACCESS ******************************************/
   /* ret = MC_bufile( 4L, MODEL1, "cad ", "train ", "12345678901234567890", 21L ); */
    ret = MC_bufile( 4L, MODEL1, "CAD ", "TRAIN ", "TEST            DXF ", 21L );
 
   drv2 = drv ;
    iret = MC_budriv( 1L, MODEL1, &drv2, 13L );
    if( iret )  goto exit;
 
       
        */
        /* Drawing ID */
 
   iret = MC_curgrpusr_set( drv0, group0, user0 );          /* PC */
 
       
        ret = MC_rendrw( MODEL1,wid );
 
    MC_buend ( 1L, ierr );
        ret = system("c:\\mchelix\\hdd\\access\\dxfconv\\DXFM2.BAT") ; 
    /*ret = system("\mcadam\asa\dxfgm.bat") ; 
      */
  exit:
    return;
}


 

 



ちょっとしたプログラムで仕事の効率をあげることができます。 プログラムがわからないから無理と言わないで設計部門に2人くらいプログラムがわかる人を育てると面白いことができると思います。 プログラムの細かい設計など必要ないし、その場で修正できるのがメリットだと思います。 ソフト会社に頼むと高いものになるし、修正追加も簡単ではありません。 是非是非!!

子供たちもプログラムの勉強をするみたいですしね・・・・・?。 お父さん頑張って!!

次回はAUTOCAD LTでのちょっとしたプログラミングを紹介します。

【EXCEL VBA】VBA+ACCESS , SELECTして検索したレコードをUPDATEする

f:id:hide_kichi:20190408143925j:plain


 

EXCEL VBA】SELECTして検索したレコードをUPDATEします。

 

 


     
’DBを定義します。 
Set myCon2 = New ADODB.Connection
Dim myRs2 As New ADODB.Recordset FileName2 = "TEST.mdb" myCon2.Open ConnectionString:="Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & FileName2
’SQL文を作成します。 work_s = " SELECT * from data " work_s = work_s & " WHERE 管理番号='" & 管理番号 & "' ; " work_sel = work_s ’SQL SELECT文を実行します。 myRs2.Open work_sel, myCon2, adOpenStatic, adLockOptimistic, adCmdText
’SQL SELECT結果です。 Do Until myRs2.EOF r_cntx = r_cntx + 1 ' work_i = myRsx.Fields("0").Value ’管理番号を取得 します。 管理番号2 = myRs2.Fields("管理番号").Value ’取得したレコードを更新
             myRs2.Fields("フィールド7").Value = "OK" myRs2.Update ' 次のレコードに進みます
myRs2.MoveNext Loop

【オーディオ】コスパのよいイヤホーン

f:id:hide_kichi:20190328151616j:plain

500円以下のイヤホーンです。

期待してませんでしたが予想以上に良かったです。

イヤホーンを今まで何本買ったことでしょう。

結構高めのものを買ってもすぐにダメにしてしまいます。

どうせダメになるならと思い安いのを買ってみました。

GOODです。

音ももれません。

音質もなんとかぎりぎり許せます。(高音に聞こえる。ラジオくらいならOK)

 

ついでに何本も買っておきます。

 

 

FC-工場 iphone 高音質 イヤホンマイク 重低音 earphone 有線 両耳 カナル型イヤホン 収納バッグ付き ハイレゾ対応 ヘッドホン ウォークマン マイク付き リモコン 3.5mm イヤホンジャック 寝 ノイズキャンセリング ライトニング 外の音が聞こえる 外れにくい (シルバー)

FC-工場 iphone 高音質 イヤホンマイク 重低音 earphone 有線 両耳 カナル型イヤホン 収納バッグ付き ハイレゾ対応 ヘッドホン ウォークマン マイク付き リモコン 3.5mm イヤホンジャック 寝 ノイズキャンセリング ライトニング 外の音が聞こえる 外れにくい (シルバー)

【桜】

 

 

f:id:hide_kichi:20190405143556j:plain

f:id:hide_kichi:20190411155616j:plain

 


ビンゴ地区の桜名所は

福山 福山城

尾道 千光寺

三原 筆影山

です。でもいろいろ他にもあります。

行ったことないですが、佐木島がいいらしい!!

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

筆者の好きな桜は島の展望台に咲いている桜です。

平日、人が少ないとき弁当持ってゆっくり海を眺めるのが大好きです。

なかなかいいですよ。

 

今後のために

桜が開花するまで記録をとりました。

 

 


4月05日

今日は寒くない、桜どんどん咲いてきました。

福山城まで歩きました。満開です。

ずっと晴れです。

週末は最高です。
 
4月03日

今日も朝寒い。しかし桜どんどん咲いてきました。

週末は最高です。


4月02日

今日も無茶苦茶寒い。

でも桜は開花しました。

今週末は満開です。

でも寒い。


4月01日

まずは「令和」

これからお世話になりますって感じ。

無茶苦茶寒い。冬に戻ったよ。高速道もチェーン規制だそうです。

 

3月28日

今日は暖かい、でも夜は少し寒くなるらしい。まだ桜は咲いてない


3月30日

今日の朝は普通。そんなに寒くはない。

でもまだ桜はさかない。明日は?どうかなあ???

プロ野球開幕戦

中田が逆転満塁ホームラン(グランドスラム)を打った。すげーー

巨人の丸4三振!!なにやっとん!!

 

3月28日

昨日のよるは暑かった、でも今日の朝は寒い。まだ桜咲いてない。

ショーケンが亡くなりました。ショックです。

好きな人でした。傷だらけの天使、前略おふくろ様、メンズBIGIが印象的でした。

大人になってメンズBIGIをたくさん着ることができました。


3月27日

今日も朝寒い、山桜は咲いてきたが里桜はまだです

 

3月26日

朝はまだ寒いです。

ホッカイロ離せません。ダウンもまだ着ています。

昼間はかなり暖かいのだけれども・・・・

桜も開花しそうにないです。

例年通りかなあ????

 

 

【WINDOWS10】カーソルの大きさ、色を変更

f:id:hide_kichi:20190328130426j:plain



お母さん、お父さんのWINDOWSのカーソルを変更しましょう。

多分喜んでもらえます。

WIN+Iキーを押します。

f:id:hide_kichi:20190327161723p:plain

f:id:hide_kichi:20190327161747p:plain

以上

※朝散歩するお父さん、お母さん

暗い時には懐中電灯を持って散歩してますが、明るくなってきた頃も懐中電灯を持って歩いてほしいですね。きっと車、バイクは見にくいと思います。

筆者は自転車ですが。