Creative System Village

創造するシステム開発

2017年9月22日
by admin
0 comments

PCメンテナンス-電源がお亡くなりになり応急処置

パソコンの電源は消耗品ですよ

御存知でしたでしょうか?パソコンの電源は消耗品です!
(*-ω-)*´ω`)*-ω-)*´ω`)ウンウン♪

一般的にはハードディスクやDVD/CDドライブやファンなどの稼働部品が故障で交換が必要になるのは想像できますが、電源も同じように故障します。場合によってはドライブ類よりも早く故障して「PC起動しない!!」よくある話!
Σ( ̄Д ̄;)がーんっ!

故障の原因はなんでしょう?

他のPCメンテや自作PCを二十年も組みながら見ていると、電源の故障の原因は様々で瞬間は結構派手な事も有ります。ホコリが溜たまりショート、コンデンサーが壊れる等々、このあたりはショート時に火を噴くこともあります。何気にドライブ類よりも過酷な状況で使われていることを知らない方も多いですね…電源が死ぬ時の異常電圧等でマザーボードやCPUを道ずれにする事もよくあります。AC電源の100vが入力されている訳ですからショート時の状況は悲惨な場合だってありますよ。
一度目の前で火を噴いた電源を見ましたが、凄いです!ホントに火を噴いて向かいに座っていた人が叫びながら飛び上がってました。

故障しないためには

電源が長年故障しないということは物理的に在りえないのですが、故障のリスクを下げる事だけは出来ると思います。余裕を見た容量を選ぶ、故障しないためのメンテナンス、故障頻度が少ない長期利用できる信頼を置ける製品を選び寿命を延ばすことは大切なことだと思います。

余裕を見た容量は
俺はいつも自作PCなどの電源使用容量の計算サイトなどで計算してからMAX利用の50%を目安に電源容量を決めています。
HDD・SSD・DVDで5ドライブ、グラボ無し、メモリ2枚、CPUファン1個に冷却ファン3個、マザーボードこのあたりの利用で200w程とWEB計算サイトで取得できました。
皮算用計算機サイト
容量は金額に比例なので低価格は400W、余裕を見るなら450-500W

電源メンテナンスは
ホコリが大敵です!これは出火します。年1で必ず掃除やってますよ。自作なので全部ばらしてPC全体を掃除で、掃除機でホコリ吸ったり、エアーダスターで吹き飛ばしたりします。ちなみに!綺麗好きには耐えがたいのですが、電源ケースの中の汚れが取りきれないからと、電源ケースをばらして掃除する方法はおすすめしません。

品質選定は
これも値段に比例する部分で、当然なのですが信頼のおける長期保証は価格高い傾向にありますよね。3年5年保障など保証も様々ですが、常時稼働の運用を続けるパソコンの場合は絶対に必要な選択、勿論3年保障だから3年間壊れないわけではないですが、それなりの実績をもとに3年は保障しますとなっています。一般家庭で24時間電源入れっぱなしは無人の場合もあります!そこで電源が火を噴いたらどうします?自宅PCに温度センサーや監視カメラに消化設備なんてないでしょう。ですのでそれなりの品質を使う事です。
中でもコンデンサー類が重要で結構コンデンサーが寿命を左右し、12/5/3vの電源を相手するマザーボードと違い、AC100Vのコンセント電源という強敵を相手にDC低電圧に変換という常に負担がかかる部分、105℃コンデンサ・日本製などの部品を利用されている製品を選ぶといいです。
余裕がある人は保証期限と共に電源を買いなおす人も珍しくないです。

自宅パソコンの電源が沈黙…

本題にもどりますか
電源を入れて動かない朝を迎えました。
常時電源ONなのですが丸一日家にいない場合は安全の為に電源を落として出かけます。そんな次の日の朝でしたね…
起動しない!Σ( ̄Д ̄;)がーんっ!
玄人志向のKRPW-V400Wで実に6年365日24時間稼働でした。
安いが玄人志向なかなかいい電源でいた。
電源取り出してみると何かハンダが焦げたような臭いがしたので完全にお亡くなり状態と判定、おそらくコンデンサーのショートでしょうね…

仕事出来ないのでPC動かさないと!!!
ノートも使ってますが使い勝手はデスクトップです。私の住む片田舎ではPC部品専門店は遥か100キロ先ですので、通常は通販で買ってます、それだと2-3日とかかかって話にならないですよね。結局は近くのハードオフでジャンク品の山から使えそうな電源付のPCケースを発掘、店員さんに聞いたら「電源だけはダメ」「でも電源以外のパーツはここにおいて行ってもいいですよ」との事で「電源だけの価格に値引きは出来ません」と言われケース付きで800円(税別)
DSC_0163
ちなみにEAGLEという悪名高き動物電源
∑(; ̄□ ̄A アセアセ
結局ケースいらないと言ったらドライバー渡されて自己責任でばらしておいて行って下さいとの事で電源だけ頂いてきました。応急処置なんで常時稼働はなしですが、動物電源なのでコイツがすぬ時は何か道連れにすると思う。
ばいばい(⌒ー⌒)ノ~~~

動物電源について

動物電源なるものを聞いたことは??
私も最初は知らないで使ってました。
その正体は
PCケースと一緒についている安物電源です。商品名にEAGLEやLIONなどの動物の名前が付いた電源、特徴は価格を抑えることを目的とした製品で品質は二の次となっている事、また12vの電源容量が小さい事が多いためグラボ利用などに向かない特徴があります。安かろう製品ですね
私も応急処置で無ければこれは入れないです。マザボやCPUの入れ替えも考慮して、プランが固まったら電源も一緒に入れ替えを行います。今日はPCを起動させるための一時しのぎですね。

皆さんも電源にはご注意を!

Speccy

2017年9月21日
by admin
0 comments

PCメンテナンス-CPUグリス

PCがたまに落ちる事態に….

なぜかPCがたまに落ちる??
結構根を詰めて作業中が多いのできっとCPUの稼働と関係していると踏んで
CPU温度を見れるソフトをインストールです
おすすめは「Speccy」ですね
http://www.piriform.com/speccy
こちらからダウンロードすると使えます

ちなみに英語版ですが日本語設定が有ります
メニューバーの「表示」–>「オプション」–>「言語」–>「Japanese」
設定で日本語になります

Speccy

CPU温度の確認

エンコーダーを利用してCPU稼働を上げてみます。
ブラウザ複数とYoutube再生とエンコーダを起動です
エンコーダは複数立ち上げで作業中に近い状態なのですが….
何故かエンコーダ1つでCPU温度が100℃超えてます!
お湯が沸くは! 。・゚(゜´Д`゜)゚・。
これ死亡フラグ立ってますよ

画面温度Bef

CUP稼働は85%程ですが、これ以上立ち上げるのは無理ですね…
ますはCPUグリスの塗り直しで対応です

CPUグリスの購入

ヨドバシで購入です
いやーホント申し訳ない注文のしかたでした
代金277円のグリスを配送無料でゆうパックでした
他に買う物もなくいやいやー

IMG_2404

値段は高いですが性能面では金属系の銀グリスなどがいいようです
今回はシリコンベースの安物です

CPUグリスの効果は?

塗り方は薄ーくヘラで、こんなもんか??

IMG_2410

早速CPUに負荷をかけてみてびっくり
複数ブラウザに動画再生にエンコードで68度
エンコーダ4つ立ち上げでCPU100%まで行きましょう!
これでも71度!
安物と思っていましたがCPUグリスの効果は絶大ですね

画面温度AftMax

(ノ゚ο゚)ノ オオオオォォォォォォ- 105度–>71度

コレはバカにできない結果です
277円のグリス今回は1/5程使いました

2016年7月23日
by admin
0 comments

Win7でUsersフォルダを移動(Dドライブ)する手順

 

Usersフォルダを移動したい!

CドライブのHDDからSSD化へ伴い
「Usersフォルダを移動したい!」なんて事を思いつく
今回SSD化を行いCドライブをOSとソフトインストール用に
個人設定やブラウザキャッシュ類などはDドライブへ
との設定を行う事に!
※SSD化については次回の投稿としましょう!!

Usersフォルダを移動の手順

作業手順の概要は以下
1.管理者権限のユーザー(作業用ユーザー)の作成
2.作業用ユーザーへログイン
3.UsersフォルダをDドライブへ移動
4.レジストリ編集
5.シンボリックリンク作成
この手順で行います。

1.管理者権限のユーザー(作業用ユーザー)の作成
作成手順は
コントロール パネル -> ユーザー アカウント
ここで管理者ユーザーを作成です!
アカウントの管理 -> 新しいアカウントの作成
で作成できます。
※名前はお好きに!作業後削除するので!

作業管理者

作業用の管理者追加

2.作業用ユーザーへログイン
説明は不要ですよね!
※ちゃんと元のユーザーはログオフしてくださいね!
以降は「移行管理」のユーザーで作業しますよー
エクスプローラの設定も忘れずに!
隠しファイルなど見えないとUSERフォルダ移動に役立たないです
印のあたりは設定してください!

ユーザー設定

ユーザー設定

3.UsersフォルダをDドライブへ移動
ここはコツが必要です
Cドライブのユーザーフォルダーで
移動が行えないファイルが幾つか出てきます
ログイン中のユーザーフォルダの内容なんかですね!
ここでは「移行管理」なるユーザーのファイルです
「使用中」だと警告が出ます。
迷わず「スキップ」です。
なぜなら後に消すユーザーの情報ですから
Dドライブに移動できなくても痛くもないです!

4.レジストリ編集
次はレジストリ編集です
User設定をDドライブに変更します。
レジストリのバックアップは取っておいてください
「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList」
この下の「%SystemDrive%」を「D:\」へ変更
さらに下の階層のところも「%SystemDrive%」を「D:\」へ変更

レジストリ編集

レジストリ編集

!———————————
※後書きH29.05.20
本日PCメンテで記事に訂正を入れました!
「S-1-5-21……………….」これはいじらなくてもいけます!
ここをいじった後にユーザー設定が保存されない状態が発生した。
いじってしまった設定を「D:\Users」→「C:\Users」に戻すと正常に動き出した
———————————!
!———————————-
※このあたりまで作業できたら
オレ的にはC:\Usersは全部削除できたらいいと思います。
作業用と通常使用のユーザーを切り替えて
若しくは作業用をもう一つ作りそこでC:\Users削除
試行錯誤してC:\Users削除してみて!
———————————-!
!———————————
※後書きH29.05.20
CドライブのUSERフォルダはセーフモードで起動で削除が簡単でした。
電源が入ったらF8を連打してるとセーフモード起動選択画面出ます。
下のシンボリックリンクもセーフモードでそのまま作成がいいですね!
↓↓↓5.シンボリックへ
———————————!

5.シンボリックリンク作成
ここは重要ですね!
シンボリックリンクなるものは簡単に言えば特殊なショートカット
WINDOWSにはなじみがないショートカットです。
コマンドプロンプトと管理権限で開き以下のコマンドを実行
「mklink /J C:\Users D:\Users」
成功するとリンク形成がアナウンスされる

コマンド

コマンド

———
こいつの凄いところは
作成されたCドライブ直下の「Users」リンクを開くと
実際はD:\Usersが開かれるのだか、
システム上や利用者からはC:\Usersのフォルダを
操作しているように利用が行われる事!
実際にエクスプローラでリンクを開いてみるとわかる

シンボリックリンク

シンボリックリンク

———
なぜこんな設定が必要かというと
全てのソフトが「D:\Users」を利用してくれるとは
限らないという恐ろしい事が起こるから!
中には「C:\Users」配下のログイン中ユーザーフォルダを指定する
という回りくどいソフトも存在する
実際にDropBoxは一部DドライブUserフォルダに未対応でした。
どうしても「C:\Users」配下のユーザーフォルダを
利用したいとエラーをはきます!
こんなソフトのために「C:\Users」で作業していると
錯覚するシートカットが必要になるわけです!
———
あとは不要な管理ユーザー削除して終了です

今回はこのあたりで!
次回はHDDからSSDへ交換をやりたいですね!

2015年4月4日
by admin
0 comments

VMware Playerで開発環境を構築:第2回(JAVAとTOMCATの準備)

開発環境のバージョン

完成予定の環境は以下
・Ubuntu14.02(64ビット)
・JDK1.8
・Tomcat8
・MySql5.6
・Eclipse4.4
これをVMで行こうと思います

前回は「Ubuntu14.02」設定しました。
http://csv.pa.land.to/?p=575
今回は「JDK1.8」「Tomcat8」の設定

JAVAのインストール

当初JAVAはJDK1.7でと思ったのですが最新で行うことに!
JAVAの入手はこちらから

http://www.oracle.com/technetwork/java/javase/downloads/index.html

最新版のJDKをクリックしてください
JAVA設定01

Ubuntu版というのは無いです
Linux版64Bitをダウンロード
JAVA設定02

ブラウザからダウンロードしたファイルは「/home/develop/ダウンロード」に入ってくる
ココからはコマンドでいくので端末を起動してください。
ファイルを解凍します。

cd /home/develop/ダウンロード
tar zxvf jdk-8u40-linux-x64.tar.gz

JAVA設定03

インストール先を作成します。
「/usr/java」でもいいが「/usr/local/java」に入れます。
ディレクトリ作成して解凍フォルダを移動します。

sudo mkdir /usr/local/java
sudo mv jdk1.8.0_40 /usr/local/java/

JAVA設定04

環境設定変数を編集
端末からコマンドでVIエディターで編集

sudo vi /etc/profile

開いたら一番最後に追記です
「o」コマンドで下に追加します。

export JAVA_HOME=/usr/local/java/jdk1.8.0_40
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

追加したら保存「wq」で保存終了
環境設定変数を反映させる為にコマンド打つか再起動ね!
JAVA設定06

JAVAイオンストールの確認

$ javac -version
javac 1.8.0_40

$ java -version
java version “1.8.0_40
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

が表示されますか?
JAVA設定05

以上でJAVAは設定終了です!

TOMCATのインストール

Tomcatは入手はこちらから
http://tomcat.apache.org/
Tomcat8を今回は利用します。
TOMCAT設定01

「tar.gz」を選択です。
ローカルに保存して下さい。
TOMCAT設定

ダウンロードしたファイルは指定が無ければ「/home/develop/ダウンロード」に入ります。
ココからはJAVAと同じで端末からコマンドでいきます。

cd /home/develop/ダウンロード
tar zxvf apache-tomcat-8.0.21.tar.gz

TOMCAT設定03

Tomcat8へ名前を変えてインストール先に移動

mv apache-tomcat-8.0.21 tomcat8
sudo mv tomcat8/ /usr/local/

TOMCAT設定04

Tomcat8ユーザの作成

sudo groupadd -g 130 tomcat8
sudo useradd -g tomcat8 -u 130 -s /bin/sh -d /usr/local/tomcat8 tomcat8

グループ番号の空きと作成確認は以下のコマンドで一覧が出ます

tail /etc/group

実行権限の寄与

cd /usr/local/
sudo chown -R tomcat8:tomcat8 tomcat8/
sudo chmod -R g+w tomcat8/
sudo chmod -R g+s tomcat8/
cd tomcat8/bin/
sudo chmod +x *.sh

TOMCAT設定05

Tomcatの自動起動設定

sudo vi /etc/init.d/tomcat8

---------------------------
以下内容

#!/bin/bash

# Tomcat8: Start/Stop Tomcat 8
#

### BEGIN INIT INFO
# Provides: tomcat8
# Required-Start: apache2
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: tomcat8 servlet server
# Description: tomcat8 servlet server
### END INIT INFO

CATALINA_HOME=/usr/local/tomcat8
TOMCAT_USER=tomcat8
LOCKFILE=/var/lock/tomcat8

RETVAL=0
start(){
echo "Starting Tomcat8: "
su - $TOMCAT_USER -c "$CATALINA_HOME/bin/startup.sh"
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $LOCKFILE
return $RETVAL
}

stop(){
echo "Shutting down Tomcat8: "
$CATALINA_HOME/bin/shutdown.sh
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $?

---------------------------
TOMCAT設定06

実行権限を追加

sudo chmod +x /etc/init.d/tomcat8

起動と終了

sudo /etc/init.d/tomcat8 start
sudo /etc/init.d/tomcat8 stop

Tomcat確認
「http://localhost:8080」
TOMCAT設定07

以上でTOMCATは設定終了です!

2015年4月2日
by admin
0 comments

VMware Playerで開発環境を構築:第1回(Ubuntuの準備)

Java開発環境をVMで構築

何気に開発環境の構築というのは時間がかかるものですよねー!
今回は初めてUbuntuで開発環境に挑戦ですよー!Windows環境もいいけどライセンス問題も有るからUbuntuにしました。
環境構築は4回に分けて連載します。
第1回:Ubuntu
第2回:JDKとTomcat
第3回:Eclipse
第4回:MySql

VMware Playerのインストール

開発に携わる開発者なら知らない人もいないでしょうしインストールもしてあることでしょう!
なのでココではインストール手順は省きます。
https://www.vmware.com/jp/
こちらから入手してインストールしてください
私が使ってるバージョンは6.0.2ですね
VMPlayerバージョン
ノートや開発メインのデスクトップも全部同じバージョンに統一して利用がいいです。

開発環境のバージョン

完成予定の環境は以下
・Ubuntu14.02(64ビット)
・JDK1.8
・Tomcat8
・MySql5.6
・Eclipse4.4
これで行こうと思います

新規マシンの作成

①は新規マシンの作成を行います。
「ホーム」->「新規マシン」
新規マシン01

②後でOSをインストールを選択
新規マシン02

③OSの選択
「Linux」->「Ubuntu64ビット」
新規マシン03

④仮想マシン名を決定
「Ubuntu64Develop」はVM上で管理する為の名前で全角半角でも何でもいいです。
「D:\VMware\Ubuntu64Develop」俺は右のフォルダで管理にしました。
新規マシン04

⑤ディスクを選択
「ディスクサイズ」は気にしないディスクイメージは別ものを後に上書きします。
「仮想ディスクを単一ファイルとして格納」を選らぶ
新規マシン06

⑦ハードのカスタマイズ設定
特段設定は無いでかまいません
新規マシン07

⑧メニューに「Ubuntu64Develop」が追加される
新規マシン08

VM高速化チューニング

メモリ系のチューニングにより高速化の設定を行う
「Ubuntu64Develop.vmx」を開いて以下を追記する

MemTrimRate = "0"
mainMem.useNamedFile= "FALSE"
sched.mem.pshare.enable = "FALSE"
prefvmx.useRecommendedLockedMemSize = "TRUE"
MemAllowAutoScaleDown = "FALSE"

VMチューニング

OSイメージの取得

①「Ubuntu 14.04 LTS」を取得
以下サイトからubuntu-ja-14.04-desktop-amd64-vhd.zipを取得
https://www.ubuntulinux.jp/download/ja-remix-vhd

取得したZIPファイルを解凍するとvhd形式のディスクイメージが出てくる
これをコンバートしてVMでは利用することに成る

②コンバートソフトは「StarWind V2V Converter」
以下サイトから取得
http://www.gigafree.net/utility/virtualdrive/starwindconverter.html
ダウンロードしてインストール
ダブルクリックのみでインストールは簡単です

OSイメージコンバート

「ubuntu-ja-14.04-desktop-amd64-vhd.zip」は解凍すると
「ubuntu-ja-14.04-desktop-amd64.vhd」に成る
これを「StarWind V2V Converter」でVM形式の
「ubuntu-ja-14.04-desktop-amd64.vmdk」へ変換

手順は
①ここは次へ進む
イメージコンバート01

②vhd形式のファイルを指定
イメージコンバート02

③イメージ形式を指定
一番上でいいです
イメージコンバート03

④ディスクタイプを指定
IDEでもかまわないがSCSI形式がお勧めです
SCSI形式の方が速度が出ます
イメージコンバート04

⑤仮想ディスクの出力先を指定
指定しないでデフォルト値でもよいです
イメージコンバート05

⑥コンバート開始
マシンスペックにももるが10分ぐらいかなー??
イメージコンバート06

⑦vmdkディスクの置き換え
コンバートした「ubuntu-ja-14.04-desktop-amd64.vmdk」を「Ubuntu64Develop.vmdk」に置き換えます
この置き換え後に起動するとUbuntuのインストールが開始されます
イメージコンバート07

Ubuntuインストール

①追加されたマシンから起動
新規マシン08

②OS言語の選択
普通に日本語でいいですよね
OS設定01

③利用地域の選択
ここはデフォルト値のTOKYOでよいですよ
OS設定02

④キーボードの選択
ここはデフォルト値のTOKYOでよいですよ
OS設定03

⑤マシン情報の選択
ユーザーをdevelop
パスワードをdev1234
このあたりは利用者毎だと思うけどご自由に
OS設定04

Ubuntuアップデート

①ランチャーからアップデート
アップデート01

②パスワードの入力
この環境だとdev1234ですね!
アップデート02

③端末からコマンドでアップデート
なぜか途中でアップデートが止まった!!
最終的には端末からコマンドでアップデートした
端末を開き
sudo apt-get update
を入力
アップデート03

これでアップデート完了!

VMwareToolsインストール

VMwareツールを入れるとホストPCから仮想PC間でコピペなどができるようになります!
これは便利な機能ですね!

①VMwareのメニューからツールのインストール
これによりツールのインストールがDVDがマウントされる
VmTool設定01

②インストーラーをデスクトップへ
DVDがマウントされるとフォルダが開きます。
そこからインストーラーをデスクトップへコピー
VmTool設定02

③デスクトップのインストーラを解凍
VmTool設定03

④インストーラー情報を収集
VmTool設定04

⑤インストーラーを実行する。
収集した情報で端末へコマンドを打つ
ツールディレクトリへ移動
cd /home/develop/デスクトップ/vmware-tools-distrib
ツールインストーラーを起動
sudo ./vmware-install.pl -d
VmTool設定05

これでUbuntuのインストールは完了
再起動するとツールが利用可能になってます

2015年3月12日
by admin
0 comments

ラジオボタンを全て未選択に設定[vb.net]

何気に結構難しい!

VBだけじゃないと思うけどWEBとかでも結構ある話かな?
配置したラジオボタンは初期値は未選択状態!
例えば、3つラジオボタンがあり、初期値を入れなければ初回表示はどれも未選択状態ですよね。
これはいいよね
ただ一度どれかにチェックが入ると、もう全部チェックを無しにすることはできなくなる。
これVBだけか??
ググッて実装方法が何気に見つからない!

発想の転換!

そんな中に面白い方法を発見
非表示のラジオボタンを1つ用意してそれをチェックせよとの事
おー発想の転換ですねー!
頭の固くなったおっさんには頭が回らずぱっと思い浮かばなかった!
柔軟な脳みそが欲しー
忘れないようにココに残しておきます!
ではでは

2014年6月27日
by admin
0 comments

LINQによる集計処理(自分メモ)

いつも忘れるLINQの集計処理

毎回のことだが結構大変だよねー!忘れる度にGoogleで検索してしているのでいい加減に要点だけ残す事にした。
今回は「LINQ」
「LINQ」は簡単に言うとオブジェクトを集計するための構文という感じでしょうかかー。こちらの構文はSQLに似ており大変使いやすいモノになっています。
また処理を行えるオブジェクトは多彩で、俺は「DataTable」「自作の情報クラス」などを集計や検索に利用します。
ただーあれです!あれ!!ボケ老人は直ぐ忘れて集計でGROUP化させたりする時の使い方がDBのSQL文などと違いチト!コツが必要になる場合など忘れるんですよー!これが痛いので今回残す事に、だから仕組みを説明ではなく、俺がよく使うパターンのみを掲載です。

俺がよく使うパターン

1.オブジェクトに対して抽出処理を行う
2.オブジェクトに対してソート処理を行う
3.オブジェクトに対して件数取得処理を行う
4.オブジェクトに対してグループ集計処理を行う
こんなもんかなー

大雑把に基本構文

一番よく使うのは「FROM句」「WHERE句」「SELECT句」、注意が必要なのは「GROUP句」でSQLとは少し使い方が違います。
更には「Aggregate」この辺り押さえておきたいですね
じゃーいきなりサンプルいきますかー
コードなんで基本的な使い方覚えたら利用方法は応用で広げて色々覚えていくのが一番です。

Public Class Form1

    ''' <summary>
    ''' サンプルテーブル
    ''' </summary>
    ''' <remarks></remarks>
    Public Class SAMPLEDataTable
        Inherits DataTable

        ''' <summary>カラム定義</summary>
        Public Sub New()
            MyBase.New()
            'カラム定義
            Me.TableName = "サンプルテーブル"
            Me.Columns.Add("CODE", GetType(String))
            Me.Columns.Add("NAME", GetType(String))
            Me.Columns.Add("TYPE", GetType(String))
            Me.Columns.Add("SIZE", GetType(Long))
            '情報作成
            Me.CreateData()
        End Sub

        ''' <summary>情報作成</summary>
        Private Sub CreateData()
            Dim drN As DataRow
            drN = Me.NewRow
            drN("CODE") = "001" : drN("NAME") = "NM001" : drN("TYPE") = "A" : drN("SIZE") = 5
            Me.Rows.Add(drN)

            drN = Me.NewRow
            drN("CODE") = "002" : drN("NAME") = "NM002" : drN("TYPE") = "A" : drN("SIZE") = 4
            Me.Rows.Add(drN)

            drN = Me.NewRow
            drN("CODE") = "003" : drN("NAME") = "NM003" : drN("TYPE") = "B" : drN("SIZE") = 3
            Me.Rows.Add(drN)

            drN = Me.NewRow
            drN("CODE") = "004" : drN("NAME") = "NM004" : drN("TYPE") = "B" : drN("SIZE") = 2
            Me.Rows.Add(drN)

            drN = Me.NewRow
            drN("CODE") = "005" : drN("NAME") = "NM005" : drN("TYPE") = "B" : drN("SIZE") = 1
            Me.Rows.Add(drN)

        End Sub

    End Class

    ''' <summary>
    ''' ボタン押下イベント
    ''' </summary>
    ''' <param name="sender"></param>
    ''' <param name="e"></param>
    ''' <remarks></remarks>
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Dim dtSample As New SAMPLEDataTable
        Dim oLinq As Object

        Debug.Print("!-- 1.オブジェクトに対して抽出処理を行う")
        '集計
        oLinq = From dr As DataRow In dtSample Where dr("TYPE") = "A" Select dr("CODE")
        '結果
        For Each oRow In oLinq
            Debug.Print("結果:[" & oRow & "]")
        Next

        Debug.Print("!-- 2.オブジェクトに対してソート処理を行う")
        '集計
        oLinq = From dr As DataRow In dtSample Order By dr("SIZE") Ascending Select dr("CODE")
        '結果
        For Each oRow In oLinq
            Debug.Print("結果:[" & oRow & "]")
        Next

        Debug.Print("!-- 3.オブジェクトに対して件数取得処理を行う")
        '集計
        oLinq = Aggregate dr As DataRow In dtSample Into Count(dr("CODE"))
        '結果
        Debug.Print("結果:[" & oLinq & "]")

        Debug.Print("!-- 4.オブジェクトに対してグループ集計処理を行う")
        '集計
        oLinq = From dr As DataRow In dtSample
                Group By type = dr("TYPE") Into high = Max(CInt(dr("SIZE"))), Low = Min(CInt(dr("SIZE")))
                Select type, high, Low, calc = (high * Low)
        '結果
        For Each oRow In oLinq
            Debug.Print("結果:[type=" & oRow.type & "][high=" & oRow.high & "][Low=" & oRow.Low & "][calc=" & oRow.calc & "]")
        Next

    End Sub

End Class

上のコードを実行すると以下の結果になる

!-- 1.オブジェクトに対して抽出処理を行う
結果:[001]
結果:[002]
!-- 2.オブジェクトに対してソート処理を行う
結果:[005]
結果:[004]
結果:[003]
結果:[002]
結果:[001]
!-- 3.オブジェクトに対して件数取得処理を行う
結果:[5]
!-- 4.オブジェクトに対してグループ集計処理を行う
結果:[type=A][high=5][Low=4][calc=20]
結果:[type=B][high=3][Low=1][calc=3]

この辺りでLINQは基本的な入口はこんなもんですよねー。あとはこの辺どうするの??をググッていけばマスターできます。

2014年5月23日
by admin
0 comments

C1Report帳票にスクリプト処理を設定

C1Reportでの帳票開発は結構手探り

毎回のことだが結構大変だよねー!vb.netで開発をしていても結構サードパティー製の帳票を使いことがある。
今回は「C1Report」
これはあれだねー「Grapecity社」のやつ、昔のVBの頃だと結構なじみがあるかも文化オリエント社とかいう、確かーINPUT MANみたいな入力便利なコントロールセットか売ってた会社ねー!いつの間にか「Grapecity」とかいう会社になっていた。
C1ReportはC1FlexGridとかと一緒になっている開発ツールで、結構ヘルプが糞っぽくてぐぐっても情報出てこないよー。あったまくるねー!今回は帳票の背景を一行毎に色を変えるとか言うことがしたかったー。試行錯誤で出来たので忘れないうちにブログに残す!

C1Reportで一行毎に色を変える方法

帳票で一番あるパターンはやっぱり「ヘッダー」「詳細」「フッダー」の三つに分かれるパターンだね!
今回は「PageHeader」「Detail」「PageFooter」→フッター使わんかもねー
まずはこんな感じのテスト用の帳票を作る
C1Report001
適当なんだけど
大事な部分はコントロール
1.背景の色を変える為の矩形に名前を「BackDisply」とつけ
2.行数カウント用テキストに名前「Count」
3.奇数偶数行の情報を表示するテキストに名前「Swith」
この3つを用意する

3つを配置したらスクリプトを設定します
[Count] = 0
こいつを「PageHeader」の「OnPrint」へ
C1Report002
これはページの始まりにページカウントを初期化しようという感じ

次に詳細部分の色付けのスクリプト設定
[Count] = [Count].Value + 1
[Swith] = [Count].Value Mod 2
If [Swith] = 1 Then [BackDisply].BackColor = 13882323 Else [BackDisply].BackColor = 16777215

こいつを「Detail」の「OnPrint」へ
C1Report003
まず
[Count] = [Count].Value + 1 はCount用テキストの値をインクリメントしてる感じ
[Swith] = [Count].Value Mod 2 は奇数行は1偶数行は0をセットしている
そしてここが肝心!
If [Swith] = 1 Then 奇数行なら [BackDisply].BackColor = 13882323
BackDisplyの背景を13882323の色→LiteGrayかな??を設定
以外ならBackDisplyの背景を16777215で白を設定ですねー
たったこれだけ!

今回はここまで

2013年12月4日
by admin
0 comments

iPhone5sを一括0円で機種変更

携帯が故障して機種変更を考える

iPhone5sは未だ潤沢な在庫状況には程遠いですねー
そんな中に家族3台(ガラゲー2台・iPhone4s)の内2台(ガラゲー・iPhone4s)の携帯が壊れたので機種変更が必要になる!
これは大変なことです!
iPhone4s→ガラゲーの機種変更はありえないチョイスですから、2台を機種変更をする際は、最低でもスマホ(iPhone or Google携帯)+ガラゲーのチョイスになりますからー、携帯買い替えの際は一括購入している俺にとっては5-7万などの出費は死ぬほど痛いです!
こうなったらAUからSoftBankへのMNPを視野に入れた計画を立てないとならないわけですよ!

MNPを決意して

今はどこのキャリアも既存顧客をないがしろにしてMNPを優遇する作戦で着ているので長期利用する利点というのは正直皆無に等しいですよねー
MNPの優遇費用は長期利用者から回収しています。
結局は一番利口な使い方は2年おきにMNPする事です!
キャリアが移れば不便はあるが、2年間のトータル利用料金が安く成るメリットを考えれば我慢も大切
今回はMNPに腹を決め
3回線分のMNP予約番号を貰うためにAUサポートセンターに連絡
思わぬ展開に!

まさかの45000ポイント

MNP予約番号を申請した際にアンケートと称して、なぜ転出を考えているのかを聞かれ、携帯電話が壊れたので一番安くなるMNPをする事を伝える。
すると、なんとなんとAUから1回線につき15000ポイントを付けるから考え直してみてくれとの提案、正直その場では即答を出来るはずもなく、分からないと答えるも、それでも構わないと15000*3=45000ポイントを貰うことに!

iPhone5sを一括0円

考えた末に出した結論はAUに留まり機種変更
iPhone4sは
貰ったポイント(42540P)

下取り(15000P)

クーポン(10500円)
でiPhone5sへ
支払いは0円で一括0円の機種変更

ガラゲーを楽天で白ロム

ガラゲーは
楽天で白ロム携帯を買うことに!値段はロッククリア済み端末を10,900で購入でSIMカードを差し替えれば機種変更が完了です。

あまったポイント

AUポイントは実はauショッピングモールで使えまます。
この場合はAUポイントは1.2ポイント=1円
残った2460AUポイントだと2050円の買い物が出来ます。
持っていたポイントと合わせHPのプリンター(5780円)を買う事に

今回のポイントは

今回のポイントは巷で言われる
「引き止めポイント」「コジ割」
と言われている代物ですねー
今回はMNPを本気で考えていて貰ったポイントですが、長期利用者はMNPの餌にされている!
皆さんも一度AUから貰ったらいいでしょう!

2013年11月4日
by admin
0 comments

自作PCの完成(木製ケース)

完成の形を決定

ケースは9割完成で一旦練った跡にスイッチとLED類をどうするかきめました。
フロントアクリルパネルにします。

木製パソコンケース

木製パソコンケース

木製パソコンケース

木製パソコンケース

C木製パソコンケース

木製パソコンケース

リビングPCとしてはまずまずの性能かなー
動画見るだけですから

購入費用の算出

もうこれ以上パーツは買わないので
ここまでの購入費を掲載します
13000円の予算を少しオーバー
今回の費用は13,512円

パーツ一覧