_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

◇ 春の嵐に桜が大丈夫か? ・・・・・・ 第718
☆モバイルオフィスの作り方 ★
Vol.0718

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

□ Linux狂想曲
□ 楽しいサボのプログラミング講座ーその6

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ Linux狂想曲
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回はWin7を起動したいPCがいつの間にかWin11になっていたというトホホな話
題でしたが今回はLinuxの話題です。


◇ Linux?
私は生まれはN86Basicでその後MS-DOSを経てWiundowsを使い続けてきました。
でもそんな私でもLinuxを勉強したことがあるのです。
時は1990年代の後半で、神戸市が主催した講習会があって、そこでLinuxの講
習を受けました。

当時はLinuxやUnixが何者か定かにわからない時代で、とても安い講習会(200
円/1日)だったのですがS君と一緒に受講しました。

朝早くから1日がかりでLinuxをセットアップするというもので、その時に使っ
たLinixがDebianでした。
結局夕方になってLinuxは起動したのですが、その時に”先生、このOSでアプ
リケーションは何か動くのですか?”と問うた私に講師の先生は”アイガーの
北壁の登頂に成功したところでコンビニはどこですか>と尋ねているようなも
のです。今はLinuxのセットアップが成功したことを喜びなさい・・”と言わ
れました。

私はそれ以来長い間、Linuxを触っていません。

◇ なんでLinux?
それはVmWareを購入したからです。
Linuxのために1台のPCをディスクの初期化から始める気はないのですが、VmWa
reはとても気楽で、Win7はもちろんLinuxのセットアップもできて、不要
になればフォルダーを削除すれば済むのです。

しかもうまくセットアップ出来たら他のPCへのコピーも容易です。

私はもしさくらサーバーがアクセスできなくなった時に緊急用の代替えサー
バーを社内に用意するという目的もあって、Linuxと親しくなろうと考えたの
です。
(このことはすでにFreeBSDとHiperVを使ってN君が実現していますが私もなじ
んでおこうと考えたのです)

◇ 懐かしいDebian
さて数あるLinuxの中でも私はなじみがあるのはDebianかRasberyPiぐらいで
す。
RasberyPiはいずれ専用のPCで使うとして、ここは遠い昔に付き合いのあったD
ebianに仕様と考えました。
Ubntという最近はやりのLinuxもセットアップしてみましたが、ちょっとなじ
めずにDebianにしたのです。

https://ja.wikipedia.org/wiki/Ubuntu
https://ja.wikipedia.org/wiki/Debian

セットアップは極めて平易で、最初に間違えずに日本語を選択すると実に簡単
にセットアップできました。
私はアパッチを入れたWEBサーバーを起動し、そこにPHPを起動してさくらサー
バーの代替え環境を作りたかったのですが間違えてPCクライアントをセットア
ップしてしまい、起動するとGUIのWindowsシステムのようなものが起動しま
す。

とりあえずなじまないと・・・と考えて日本語設定を探し、101キーボードに
変更する方法を探しました。


◇ 完全なパラドックス
ところで101キ−ボードを使いたい場合にはあるコマンドでキーボードドライ
バーをインストールしないといけないようです。
そのコマンドには"_"の入力が必要です。

このアンダーバーは109(日本語)キーボードの状態で英語キーボードを接続し
ている場合には入力出来ません。

そこで英語キーボードドライバをインストールしたいのにアンダーバーが入力
出来ないからセットアップできないという矛盾に陥り、1日苦しみました。

最終的には日本語キーボードをとなりのPCから借りてきてセットアップできた
のですが、このことに気づくまで途方に暮れました。

◇ ファイルhが見えている・・・でも編集できない
次にある設定ファイルを書き換えたいのですが、権限がないと言われて編集で
きません。
編集したければLinux標準のVimというエディターを使えば良いらしいのです
が、これは悪名高いviの子孫で操作の方法どころか終了の方法さえわかりませ
ん。

そこで恥を忍んで知り合いの若者にもう少しこマシなエディターはないものか
尋ねました。
すると”gedit”というエディターを紹介してくれました。
なるほどこれなら編集もでき、スーパーユーザーの権限で登録も可能です。

更にVsCodeを紹介されました。
Winでも付き合いのないVisualStudioCodeですが将来Linuxでプログラミングす
るならあってもいいか・・・と思ってセットアップしました。

Winでこれを使わなかった理由は高機能だけれど複雑にすぎると思ったからな
のですが、Linuxで稼働させると様相は一変し、言葉もわからない遠い異国で
あまり中の良くない知り合いと出会ったようなもので急速に親しくなりまし
た。

少なくともVsCodeなら相手の言っていることが理解できるのです。


昔に経験したDebiannLinuxと違って今どきのDebianはセットアップは容易です。
でもLinuxであることに変わりはなくて、その後がとても難解です。
つくづくWindowsは優しい・・・と思った次第です。
これからFTPをセットアプし、アパッチをセットアップしPHPをセットアップして
WEBサーバーを稼働させるという大冒険が始まります。また随時お知らせします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆ 楽しいサボのプログラミング講座ーその5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回はプログラミングの重要な要素であるイベントをご説明しました。
今回は同じく重要な変数・・・の中でも配列変数をお話しです。

◇ 変数
変数というのはデータや文字などを格納できる機能のことで例えばJavaScript
では"var Total = 0"と書けばTotalという数値型変数が出来ます。

ここには1個の数値を記憶させることが可能です。
以後は・・・

Total = 1000;

とか言った使い方をし、さらに加算したいときには・・・

Total = Total + 500;

とか書きます。これで最初の1000に500が加算されてTotalの中身は1500になっ
ています。
変数はプログラミングでは極めて重要で、プログラミングとは変数を操作する
こと・・・と言っても過言ではありません。
さて、まだ変数の初歩の初歩なのにさらに配列変数の説明をします。

◇ 配列変数
単なる変数は固定された変数に1個のデータを格納するのですが、配列変数は1
個の変数に複数のデータを格納します。

例えばExcelでA1というセルがあればそれは変数です。

しかしExcelにはA1,A2,A3・・・・と言う風にたくさんのセルがあります。

同じようにTotalと言う変数に複数の値を持たせるのが配列変数で・・・

var Total = [];

と宣言します。これでTotalはTotal[0],Total[1],Total[2]・・・・と言う具
合にたくさんの値を格納できるExcelの1個の列のようになりました。

実際の値の格納方法は・・・・

Total.push(550);
Total.push(333);
Total.push(225);
Total.push(1200);

とか記述します。すると・・・

Total[0] = 550;
Total[1] = 333;
Total[2] = 225;
Total[3] = 1200;

と言う具合に0番目から順に格納されます。

同じことを別の書き方をすると・・・

var Total = ("550,333,225,1200").split(",")でもよいのです。

この場合、変数の型は文字列型になってしまいますが、使う時に数値型に戻し
てやれば大丈夫です。

◇ 複数のコントロール名を配列に格納
さて、今回の学習ポイントは複数のコントロールを移動の順番通りに配列変数
に格納して使う方法です。

https://speedserve.sakura.ne.jp/MovileOffice/Sample1.html

[F12]キーを押してプログラムの中身を確認してください。
前回は223行目の
if(event.keyCode == 13){

で、キーが押されたイベントの13番であれば(Enterキーであれば)と言うとこ
ろまでご説明しました。

今度は237行目の

var KeyOrderList = "Code1,Kamoku1,Kingaku1,Code2,Kamoku2,Kingaku2,Code3,Kamoku3,Kingaku3,Code1"

と言う部分に注目してください。
これは移動したい順をカンマ区切りで列挙したKeyOrderListという文字型変数
を作っています。

次の行では var KeyOrder = KeyOrderList.split(","); と言うプログラム
がありますが、これは上記のコントロールのリストを配列変数(KeyOrder)に格
納しているのです。

結果として以下のようになります。

KeyOrder[0] = "Code1";
KeyOrder[1] = "Kamoku1";
KeyOrder[2] = "Kingaku1";
KeyOrder[3] = "Code2";
KeyOrder[4] = "Kamoku2";
KeyOrder[5] = "Kingaku2";
KeyOrder[6] = "Code2";
KeyOrder[7] = "Kamoku2";
KeyOrder[8] = "Kingaku2";
KeyOrder[9] = "Code1";

◇ 配列変数は変数を間接指定できる
ここで重要なことは配列変数は文字列を間接指定できると言うことです。
例えばExcelの場合でもA1,A2,A3というセルはそのままだとプログラムからの
扱いがとてもやっかいですが、別の書き方をVBAですると・・・・

Cells(1 ,1) A1を指定している
Cells(2, 1) A2を指定している
Cells(3, 1) A3を指定している

と言う表現が出来ます。これはCells(行番号, 列番号)と言う書き方で数値で
セルを表現できることを意味し、Loopなどの数を変化させながらの繰り返しに
向いているのです。

同様にJavaScriptをはじめ、ほとんどのプログラミング言語は配列変数を持っ
ています。

Excelの場合には2次元の配列で、JavaScriotではとりあえず1次元の配列を説
明しますが、数値で変数を間接的に指定できることに注目してください。


今回の例では例えばKeyOrder[3]という指定をすれば"Code2"と言う文字列が返
ってきます。
同様にKeyOrder[7]を指定すれば"Kamoku2"と言う文字列が返ってきます。

KeyOrder[]の括弧の中の数値を変えるだけでたくさんの変数を指定できること
になりますね。

このことは今後とても重要なことですので身体の中にしみこませてください。
これが概念的に理解できるかどうかがプログラミングになじめるかどうかのほ
ぼ全てといってもよいでしょう。

今回はここまでです。配列変数の作り方と概念のさわりのご説明でした。
次回は実際にその配列を利用します。
Loopという自動化の基礎が出てきます。
━━━━━━━━━━━━━━━━━━━━━━ 
[モバイルオフィスの作り方]はサボのマナベが日々気づいたこ
とや思ったことをお天気の良い日の縁側に座ってポツリポツリと
お話しするようなマガジンです。
ご意見などもあることと思います。
もしご意見等がありましたらお寄せいただければ随時話題にして
いきたいと思います。
 
 
新規登録・解除はこちら
      ↓
http://sabot.jp/MailMagazine/Merumaga.html
==========================================
★発行責任者:
 (有)ファクトリー・サボ
  真鍋隆彦
 兵庫県神戸市垂水区東舞子町9-9
           マリタイム舞子501号
 Tel:078-787-3602 Fax:078-787-3619
 Mail:manabe@sabot.co.jp
 http://www.sabot.co.jp/
 ☆ソフトウェアーギャラリーに遊びに来てください
  https://secure3552.sakura.ne.jp/sabot.jp/Mitumori/
==========================================
 
◎このメルマガに返信すると発行者さんにメッセージを届けられます
※発行者さんに届く内容は、メッセージ、メールアドレスです
 
◎モバイルオフィスの作り方
  の配信停止はこちら
⇒ https://www.mag2.com/m/0000109792.html?l=ywj17bb991