Microsoft Edge だけ button type で 分岐できない

<form action ="/myPage" method="post">

    <button type ="submit" name="change_or_delete" value="change">変更</button>

    <button type ="sumbit" name="change_or_delete" value="delete">削除</button>

</form>

 

このようなコードで、受け取ったvalue で分岐します。

 

ChromeIEでは問題なく動作しているのですが、

Microsoft Edge だと 変更ボタンを押しても、削除ボタンが押されたことになってしまうのです。

お気づきの方、いらっしゃいますでしょうか。

button type が 「submit」ではなく、「sumbit」になってしまっているのでした。

 

Chrome と IEが認識してくれるのはすごいんだけどね。。。

OutLook vba で 送受信の完了を検知する

OutLookで、送受信の完了を検知したい。

 

まずはクラスモジュールを作成します。

名前はClass1です。

 

Dim WithEvents mySync As Outlook.SyncObject

Sub Initialize_handler()
    Set mySync = Application.Session.SyncObjects.Item(1)
    mySync.Start
End Sub

Private Sub mySync_SyncEnd()
    MsgBox "送受信が完了しました"
End Sub

 

次に標準モジュールで、変数を宣言します。

Public CompleteObj As Object

 

そしてThisOutlookSession に次のコードを記述します。

Private Sub Application_Startup()
  Set CompleteObj = New Class1
  Call CompleteObj .Initialize_handler
End Sub

 

これで送受信を行ったときに、「送受信が完了しました」と表示されます。

が、これだけだと、メールを送信して、受信も行ったときには、検知されません。

次のコードをThisOutlookSession に追加します。

 

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Set CompleteObj = New Class1
    Call CompleteObj .Initialize_handler
End Sub

 

これで送信時も、送受信完了が検知されるようになりました。

 

rasberry pi 3 で 計数カウンタを作成する2 -入力を検知する

さて、LEDは光ったので、今度は入力を検知します。

 

使用するGPIPは24番です。

 

GPIOには3.3Vの電源がついています。

これをGPIOの24につなげればいいのか?

 

3.3v  → スイッチ → GPIO24

 

これでスイッチをON OFFすればいけるか?

調べたら、プルダウンというがあって、それが必要でした。

https://tool-lab.com/make/raspberrypi-startup-22/

GPIOの設定で、プルダウン回路を設定することができるのですが、

せっかくなので、実際にプルダウン回路を作ってみます。

 

3.3v → スイッチ →GPIO24 

          →抵抗 10kΩ → GND

 

※ スイッチの後は分岐しています。

 

どうなっているかといえば、

スイッチが切れているときは、GPIO24とGND がつながっているので、

グランドに電流が流れて0Vになる。

ということだと思います。

抵抗はスイッチオンしたときにないと、ショートするのでないとだめです。

 

これをブレッドボードで作成し、pythonでスクリプッったら

!GPIOへの入力をとることができました。

ちなみにプルダウンなしで試したところ、オフの直後がオンに判定されていました。 

RasberryPi3 における Python のSocket 通信

サンプルがあったので、それをそのまま使用・・・。

http://www.raspberrypirulo.net/entry/2016/10/29/Socket%E9%80%9A%E4%BF%A1%E3%81%AE%E4%BB%95%E6%96%B9%28%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E5%81%B4%29

 

しかしエラーが出ます。

File "./socket.py", line 43, in <module>
main()
File "./socket.py", line 27, in main
c_socket = socket_connect(HOSTNAME,PORT,INTERVAL,RETRYTIMES)
File "./socket.py", line 12, in socket_connect
c_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
AttributeError: 'module' object has no attribute 'AF_INET'

                          」

 

調べると、このファイル自体にsocket.py という名前を付けてはだめだよ、

ということでした。頭でインポートしている import socket が利かないのです。

sockets - WebSocket server in Python: 'module' object has no attribute 'AF_INET' - Stack Overflow

 

rasberry pi 3 で 計数カウンタを作成する1

PLCを使用するよりも、安くできそうなので、

RasberryPi3 Model B を使用して計数カウンタを作成しました。

 

一番の問題は、電気のことも回路のこともわからないということ。

頑張ってみました。

 

まずはLEDを光らせてみます。

いろいろなサイトを参考に、

GPIO25 → 抵抗 → 発光ダイオード → GND

をブレッドボードで作成することにしました。

 

何の道具もないので大変です。

会社の同僚(電気、回路、PLC等の専門家)にお願いしてブレッドボード等を用意してもらいました。 抵抗の代わりに定電流ダイオードというものをもらいました。

LEDと定電流ダイオードは極性があるので、向きに注意します。

LEDは線が長い方が+ 定電流ダイオードは青くないほうが+です。

慎重に何度も見直し、GPIO25にジャンパワイヤを接続し、ブレッドボードにつないで、そこから定電流ダイオードに接続します。ブレッドボードもよくわからないので、ネット検索しながらです。定電流ダイオードの後にLED そして、RasberryPiのGNDに戻します。

   うむ。これはわかるような気がする。小学生の時に乾電池で電球を点けたことを思い出すような。

 さて、今度はRasberryPiを起動し、GPIOをどうやって制御するのか調べます。

どうやら、Pythonで簡単に制御できるようです。もしも、細かい制御やら何やらが必要になったら他の方法を探すことにして、とにかくGPIOを動かして?みます。

サンプルをコピペして、パイソンのスクリプトを走らせると、あっさりとLEDは点灯しました。

 あっさりできたので安心しました。Linuxに慣れておいてよかった。

 ここでLinuxも入門していると結構大変かな、と思いました。

 とにかく道具が何もなくてですね。

 ジャンパワイヤをネットで買ったのですが、中国からの発送で届くまでに1週間くらいかかりました。ほかにも道具がなくてなくて、そろえながらの作業です。

PHPExcel Permission denied について

PHPExcelで、エクセル保存時に、

Warning: ZipArchive::close(): Failure to create temporary file: Permission denied

 

とエラーが出ます。

 

パーミッションを777にしてもダメ。

わからなくなったので、テスト用のphpファイルを作成し、直接実行してみました。

<?php

require_once("/var/www/html/ ~/ lib/PHPExcel.php");
require_once("/var/www/html/ ~ /lib/PHPExcel/IOFactory.php");

$book = new PHPExcel();
$sheet = $book->getActiveSheet();
$sheet->setCellValue('A1', 10000);
$sheet->setCellValue('A2', true);
$sheet->setCellValue('A3', 'テスト');


$column = 1;
$sheet->setCellValueByColumnAndRow($column, 1, 'B1');
$sheet->setCellValueByColumnAndRow($column, 2, 'B2');
$sheet->setCellValueByColumnAndRow($column, 3, 'B3');

$writer = PHPExcel_IOFactory::createWriter($book, 'Excel2007');
$writer->save('out_excel/myTestxlsx');

?>

 

php ./myTest.php

 

!!!問題なく実行されます。

・・・・・アパッチから実行できない。

・・・・・SELinux を確認。

geteoforce           enforcing

 

家の環境ではSELinux を有効にしたいるのでした。忘れていました。

seteonforce permissive で無事にエクセルが出力されるようになりました。

 

Windows XP で 無線LANが接続されているのに・・・

会社の閉鎖ネットワークには、数台XPのPCが残っています。

セキュリティの問題は今回はなし。

 

無線LANの子機が壊れたので、新しいものに交換しました。

ドライバを入れて、ssid パスワード 接続。

接続完了し、状態も良好。

 

しかし、共有フォルダにアクセスできず、pingも通らない・・・。

 

以前にも同じことをしたような気がするが。

小一時間設定をいじくりまわし、

ようやくwep で接続されていることに気づきました。

 

wpaでないとアクセスできないように設定しているのでしたが、

無線ルータに、接続はできるんですね。

紛らわしい。備忘録です。