×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Raspberrypi 2016年12月現在のOSインストール
旧情報
2018年3月版を確認する事
NOOBSが2.0にアップしたのでクリーンインストールを実施
例によってSDフォーマッタ後のSDカードにNOOBSを上書きして
Raspberrypi3にセット
1.Raspbian
2.日本語、JPを選択しInstall
3.日本語入力ソフト
sudo apt update
sudo apt install ibus-mozc
sudo apt install fonts-ipafont
sudo apt install fonts-ipaexfont
4.再起動
5.デスクトップで初期設定
ロケール japan
タイムゾーン japan
キーボード 日本 日本語
wifi japan
再起動
6.初期設定続き
インターフェース
カメラ
SSH
SPI
I2c
再起動
7.日本語入力ソフトの選択
JPマークをクリックし日本語MoZACを選択
8.LibreOfficeを日本語化
sudo apt install libreoffice-l10n-ja
9.i2cのライブラリ
sudo apt -y install i2c-tools すでにインストール済み
sudo apt -y install libi2c-dev
sudo apt -y install python3-smbus すでにインストール済み
sudo pip3 install bme280
sudo pip3 install wiringpi
sudo pip3 install wiringpi2
10.SPIのライブラリ
sudo apt-get install python-spidev でにインストール済み
11.SSHのアクセス
2016-11-25からSSHサーバーが設定のみでは有効にならない
\bootにsshという空ファイルを置いて再起動すると有効になる
/boot でsudo touch ssh
reboot
ssh はpi raspberry
旧情報
2018年3月版を確認する事
NOOBSが2.0にアップしたのでクリーンインストールを実施
例によってSDフォーマッタ後のSDカードにNOOBSを上書きして
Raspberrypi3にセット
1.Raspbian
2.日本語、JPを選択しInstall
3.日本語入力ソフト
sudo apt update
sudo apt install ibus-mozc
sudo apt install fonts-ipafont
sudo apt install fonts-ipaexfont
4.再起動
5.デスクトップで初期設定
ロケール japan
タイムゾーン japan
キーボード 日本 日本語
wifi japan
再起動
6.初期設定続き
インターフェース
カメラ
SSH
SPI
I2c
再起動
7.日本語入力ソフトの選択
JPマークをクリックし日本語MoZACを選択
8.LibreOfficeを日本語化
sudo apt install libreoffice-l10n-ja
9.i2cのライブラリ
sudo apt -y install i2c-tools すでにインストール済み
sudo apt -y install libi2c-dev
sudo apt -y install python3-smbus すでにインストール済み
sudo pip3 install bme280
sudo pip3 install wiringpi
sudo pip3 install wiringpi2
10.SPIのライブラリ
sudo apt-get install python-spidev でにインストール済み
11.SSHのアクセス
2016-11-25からSSHサーバーが設定のみでは有効にならない
\bootにsshという空ファイルを置いて再起動すると有効になる
/boot でsudo touch ssh
reboot
ssh はpi raspberry
PR
RaspberryPi に apache php5 mysql phpadminをインストール
1.OSを最新に
sudo apt update
sudo apt upgrade
2.Appche2のインストール
sudo apt-get install apache2
3.PHP5のインストール
sudo apt-get install php5
sudo /etc/init.d/apache2 restartでアパッチリブート
sudo leafpad でエディタでphpinfo.phpの作成
<?php
phpinfo();
?>
/var/www/htmlにphpinfo.phpを保存
192.168.xxx.xxx/phpinfoにアクセス
4.mysqlのインストール
sudo apt-get install php5-mysql
パスワードを設定
5.mysqlserverのインストール
sudo apt-get install mysql-server
6.phpmyadminのインストール
sudo apt-get install phpmyadmin
webサーバーはappche2を選択
構成ファイルの設定を聞いてくるのでそのまま了解を押す
7.アパッチの設定ファイルの書き換え
/etc/apache2/apache2.conf
sudo leafpad でエディタ読み出し上記ファイルに
Include /etc/phpmyadmin/apache.conf
を追加
8.アパッチをリブート
sudo /etc/init.d/apache2 restart
9.phpadminにアクセス
192.168.xxx.xxx/phpadmin
以上
1.OSを最新に
sudo apt update
sudo apt upgrade
2.Appche2のインストール
sudo apt-get install apache2
3.PHP5のインストール
sudo apt-get install php5
sudo /etc/init.d/apache2 restartでアパッチリブート
sudo leafpad でエディタでphpinfo.phpの作成
<?php
phpinfo();
?>
/var/www/htmlにphpinfo.phpを保存
192.168.xxx.xxx/phpinfoにアクセス
4.mysqlのインストール
sudo apt-get install php5-mysql
パスワードを設定
5.mysqlserverのインストール
sudo apt-get install mysql-server
6.phpmyadminのインストール
sudo apt-get install phpmyadmin
webサーバーはappche2を選択
構成ファイルの設定を聞いてくるのでそのまま了解を押す
7.アパッチの設定ファイルの書き換え
/etc/apache2/apache2.conf
sudo leafpad でエディタ読み出し上記ファイルに
Include /etc/phpmyadmin/apache.conf
を追加
8.アパッチをリブート
sudo /etc/init.d/apache2 restart
9.phpadminにアクセス
192.168.xxx.xxx/phpadmin
以上
PHPからSQLServer2014
php7
SQLserver2014
$dbh->query('SET NAMES utf8');は不要
・読み出し
try
{
$dsn = 'sqlsrv:server=localhost\sql2014;database=your_dab';
$user='yourid';
$password='yourpassword';
$dbh=new PDO($dsn,$user,$password);
$sql = 'select hkbn,cd,na,rna,eymd,pno from co_hinmta where hkbn = 2 and cd =?';
$stmt = $dbh->prepare($sql);
$data[] = $code;
$stmt->execute($data);
$rec=$stmt->fetch(PDO::FETCH_ASSOC);
$dbh=null;
}
catch (Exception $e)
{
print '障害が発生しております';
exit();
}
return $rec;
php7
SQLserver2014
$dbh->query('SET NAMES utf8');は不要
・読み出し
try
{
$dsn = 'sqlsrv:server=localhost\sql2014;database=your_dab';
$user='yourid';
$password='yourpassword';
$dbh=new PDO($dsn,$user,$password);
$sql = 'select hkbn,cd,na,rna,eymd,pno from co_hinmta where hkbn = 2 and cd =?';
$stmt = $dbh->prepare($sql);
$data[] = $code;
$stmt->execute($data);
$rec=$stmt->fetch(PDO::FETCH_ASSOC);
$dbh=null;
}
catch (Exception $e)
{
print '障害が発生しております';
exit();
}
return $rec;
・追加
try
{
$dsn = 'sqlsrv:server=localhost\sql2014;database=your_dab';
$user='yourid';
$password='yourpassword';
$dbh=new PDO($dsn,$user,$password);
$sql = 'INSERT INTO co_hinmta (hkbn,cd,na,rna,eymd,pno) VALUES (2,:cd,:na,:rna,:eymd,:pno)';
$stmt = $dbh->prepare($sql);
$data = array();
$data[':cd'] = $_SESSION['cd'];
$data[':na'] = $_SESSION['na'];
$data[':rna'] = $_SESSION['rna'];
$data[':eymd'] = $_SESSION['eymd'];
$data[':pno'] = $_SESSION['pno'];
$stmt = $dbh->prepare($sql);
$data = array();
$data[':cd'] = $_SESSION['cd'];
$data[':na'] = $_SESSION['na'];
$data[':rna'] = $_SESSION['rna'];
$data[':eymd'] = $_SESSION['eymd'];
$data[':pno'] = $_SESSION['pno'];
$stmt->execute($data);
$dbh=null;
$_SESSION['msg']=$_SESSION['na'].'を追加しました<br/>';
}
catch (Exception $e)
{
$_SESSION['errmsg'] = '障害が発生しております';
$_SESSION['msg']='';
}
・変更
try
{
$dsn = 'sqlsrv:server=localhost\sql2014;database=your_dab';
$user='yourid';
$password='yourpassword';
$dbh=new PDO($dsn,$user,$password);
$sql = 'UPDATE co_hinmta SET hkbn=2,na=:na,rna=:rna,eymd=:eymd,pno=:pno WHERE cd =:cd';
$stmt = $dbh->prepare($sql);
$data = array();
$data[':na'] = $_SESSION['na'];
$data[':rna'] = $_SESSION['rna'];
$data[':eymd'] = $_SESSION['eymd'];
$data[':pno'] = $_SESSION['pno'];
$data[':cd'] = $_SESSION['cd'];
$stmt->execute($data);
$dbh=null;
catch (Exception $e)
{
$_SESSION['errmsg'] = '障害が発生しております';
$_SESSION['msg']='';
}
・変更
try
{
$dsn = 'sqlsrv:server=localhost\sql2014;database=your_dab';
$user='yourid';
$password='yourpassword';
$dbh=new PDO($dsn,$user,$password);
$sql = 'UPDATE co_hinmta SET hkbn=2,na=:na,rna=:rna,eymd=:eymd,pno=:pno WHERE cd =:cd';
$stmt = $dbh->prepare($sql);
$data = array();
$data[':na'] = $_SESSION['na'];
$data[':rna'] = $_SESSION['rna'];
$data[':eymd'] = $_SESSION['eymd'];
$data[':pno'] = $_SESSION['pno'];
$data[':cd'] = $_SESSION['cd'];
$stmt->execute($data);
$dbh=null;
$_SESSION['msg']=$_SESSION['na'].'を変更しました<br/>';
}
catch (Exception $e)
{
$_SESSION['errmsg'] = '障害が発生しております';
$_SESSION['msg']='';
}
}
catch (Exception $e)
{
$_SESSION['errmsg'] = '障害が発生しております';
$_SESSION['msg']='';
}
}
Windowsタッチ操作でグリッドをスクロールしたときに最後が隠れる
ネットでググると
https://blogs.msdn.microsoft.com/jpvsblog/2014/08/18/datagridview/
にありました。
-------------------------------------------------------------------------------------------------------
この現象は、DataGridView コントロールにおける不具合によって必要なメッセージが送信されないため、表示領域とコントロールの座標との整合性が取れなくなり発生します。タッチ操作に起因するので、マウスによるスクロールでは発生しません。
----------------------------------------------------------------------------------
例によってバグですが修正するのかしないのか?
重要なバグだと思うんだけど、
回避方法は上記に乗っているがC#の例なのでVBに書き換え
http://converter.telerik.com/のコードコンバータで書き換え
エラーが残る、
http://www.projectgroup.info/tips/Microsoft.NET/comm_0026.html
を参考に書き換え、、
Private Const WM_VSCROLL As Integer = &H115
Private Const SB_THUMBPOSITION As Integer = &H4
Private Const SB_THUMBTRACK As Integer = &H5
<System.Runtime.InteropServices.DllImport("user32")>
Private Shared Function PostMessage(hWnd As IntPtr, Msg As Integer, wParam As IntPtr, lParam As IntPtr) As Integer
End Function
ネットでググると
https://blogs.msdn.microsoft.com/jpvsblog/2014/08/18/datagridview/
にありました。
-------------------------------------------------------------------------------------------------------
この現象は、DataGridView コントロールにおける不具合によって必要なメッセージが送信されないため、表示領域とコントロールの座標との整合性が取れなくなり発生します。タッチ操作に起因するので、マウスによるスクロールでは発生しません。
----------------------------------------------------------------------------------
例によってバグですが修正するのかしないのか?
重要なバグだと思うんだけど、
回避方法は上記に乗っているがC#の例なのでVBに書き換え
http://converter.telerik.com/のコードコンバータで書き換え
エラーが残る、
http://www.projectgroup.info/tips/Microsoft.NET/comm_0026.html
を参考に書き換え、、
Private Const WM_VSCROLL As Integer = &H115
Private Const SB_THUMBPOSITION As Integer = &H4
Private Const SB_THUMBTRACK As Integer = &H5
<System.Runtime.InteropServices.DllImport("user32")>
Private Shared Function PostMessage(hWnd As IntPtr, Msg As Integer, wParam As IntPtr, lParam As IntPtr) As Integer
End Function
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
MyBase.WndProc(m)
If m.Msg = WM_VSCROLL Then
If Me.LoWord(CLng(m.WParam)) = Me.LoWord(CLng(SB_THUMBPOSITION)) Then
MyBase.BeginInvoke(New Action(Of IntPtr, IntPtr)(Sub(WParam As IntPtr, LParam As IntPtr)
Dim testWParam As IntPtr = New IntPtr(5)
PostMessage(MyBase.Handle, 277, testWParam, LParam)
End Sub), New Object() {m.WParam, m.LParam})
End If
End If
End Sub
MyBase.WndProc(m)
If m.Msg = WM_VSCROLL Then
If Me.LoWord(CLng(m.WParam)) = Me.LoWord(CLng(SB_THUMBPOSITION)) Then
MyBase.BeginInvoke(New Action(Of IntPtr, IntPtr)(Sub(WParam As IntPtr, LParam As IntPtr)
Dim testWParam As IntPtr = New IntPtr(5)
PostMessage(MyBase.Handle, 277, testWParam, LParam)
End Sub), New Object() {m.WParam, m.LParam})
End If
End If
End Sub
Protected Function LoWord(input As Long) As Short
Return CShort((CInt(input) And 65535))
End Function
まだ最終行が一部半行程度で残ることがあるが、これで一応良しとするしか
ないような、、、
Return CShort((CInt(input) And 65535))
End Function
まだ最終行が一部半行程度で残ることがあるが、これで一応良しとするしか
ないような、、、