約 3,764,145 件
https://w.atwiki.jp/my-sql/pages/129.html
HOME 関数 日付と時刻関数 TO_DAYS TO_DAYS TO_DAYS(date) date に指定された日付を日数(年 0 からの通し日数)に変換して返す。 mysql [[SELECT]] TO_DAYS(950501); - 728779 mysql SELECT TO_DAYS('1997-10-07'); - 729669 TO_DAYS() では、グレゴリオ暦(1582 年)より前の値の指定は想定していない。これは、カレンダが変更されたときに失われた日数が考慮されないため。 _uacct = UA-4617913-1 ; urchinTracker();
https://w.atwiki.jp/m_shige1979/pages/599.html
APIライブラリー C C++ PHP Perl Python
https://w.atwiki.jp/roting/pages/19.html
#1 Uh uh uh Ijust gotta bring it To they attention dirty That's all You better watch Who you talking about Running your mouth Like you know me You gonna fuck around And check Why they surely They call me "Show me" Why one-on-one You can't hold me If your last name was Haynes Only way you wear me out Is stitch my name On your pants No resident of France But you swear I'm from Paris 106 carats Told 'em "Naw that's per wrist" Trying to compurr (Compare)This My chain to your chain I'm like sprint and Motorola No service Out of your range You're out of your brains Thinking I'ma Shout out your name You gotta come up With better ways Than that To catch your fame Only pressure you applying Is time to ease off Before I hit you From the blind side Taking your sleeves off As much as we's lost Still hard to please boss Don't be lying, b****in' And crying Sucking the bezelloss 'Cause you're As is wack Your whole Labelis wack And matter fact Eh eh eh eh eh Hear that I am number one No matter if you like it Here take this sit down And write it I am number one Hey, hey, hey, hey. hey, hey Now let me ask you man What does it take to Be number one? Two is not a winner And 3 nobody remembers (Hey) What does it take To be number one? Hey, hey, hey, hey Do you like it when I shake it for ya Daddy Move it all around Let you get a peep before It touches the ground? Hell yeah Ma I'm in a girl That's willing to learn Willing to get In the driver's seat Willing to turn And not concerned about that He say, she say, did he say What I think he said? Squash that He probably got that off E-bay Or some Internet access Some website chat line Mad 'cause I got mine Ooh don't wind up On the flatline Oh if my uncle Could see me now If he could see How many rappers Wanna be me now Straight emulating my style Right to the "down down" Can't leave out the store now Better wait till They calm down I got hella shorty's Coming askin' me "Yo where the party?" Oh lordy till O continue to act naughty Mixing cris and Bacardi Got me banging fo sho I'm not a man of many words But there's one thing I know Pimp I am number one No matter if you like it Here take this sit down And write it I am number one Hey, hey, hey, hey. hey, hey Now let me ask you man What does it take to Be number one? Two is not a winner And 3 nobody remembers (Hey) What does it take To be number one? Hey, hey, hey, hey Hey yo I'm tired of people Judging what's real hip hop Half the time you be them niggas Who's fucking album flop (You know) Boat done sank and It ain't ledt the dock (C'mon) Mad 'cause I'm hot (He just) Mad 'cause he not You ain't gotta Gimme my props Jsut gimme the yachts Gimme my rocks Keep my fans Coming in flocks Till you top the Superbowl Keep your mouth on lock Sh I'm awake haha I'm cocky on the mic But I'm humble in real life Taking nothing for granted Blessing errthing on my life Trying to see a new light At the top of the roof Peep it, name no Sigel But I speak the truth I heart the booth Nelly acring so uncouth Top down shirt off In the coupe Spreading the loot With my Family and friends And my Closest to kin And I If it means I'ma win Dirty I am I am number one No matter if you like it Here take this sit down And write it I am number one Hey, hey, hey, hey. hey, hey Now let me ask you man What does it take to Be number one? Two is not a winner And 3 nobody remembers (Hey) What does it take To be number one? Hey, hey, hey, hey Nelly
https://w.atwiki.jp/my-sql/pages/45.html
HOME 関数 文字列関数 MAKE_SET MAKE_SET MAKE_SET(bits,str1,str2,...) bits に指定されたビットのセットに対応するビットを持つ文字列から成るセット(‘,’ 文字で間を区切られた各部分文字列を含む文字列)を返す。str1 はビット 0 に対応し、str2 はビット 1 に対応する(以下同様に続く)。str1, str2, ... 内の NULL 文字列は結果には組み込まれない。 mysql [[SELECT]] MAKE_SET(1,'a','b','c'); - 'a' mysql SELECT MAKE_SET(1 | 4,'hello','nice','world'); - 'hello,world' mysql SELECT MAKE_SET(0,'a','b','c'); - '' _uacct = UA-4617913-1 ; urchinTracker();
https://w.atwiki.jp/mtgwiki/pages/1241.html
《Smart Ass》(利口な驢馬尻) #whisper ロバのウィザード。それなりに賢いのだろう。 対戦相手の手札を公開させる、または相手の手札を「当てる」カードは幾つか有るが、これはその正反対。 相手の手札に「無い」カードを指定する事で効果を発揮する。 マジックのカードであれば何でも構わないので、それこそ1996 World ChampionだのProposalだのを指定することも可能。 その場合、対戦相手はダメージか手札公開かを選択する事になる。 相手の手札を知る目的であれば簡単に達成できるし、ダメージが目的ならば確認した手札の中の1枚を指定してやれば事実上アンブロッカブルとなる。 青らしく戦略を色々と考えられるカード。アンヒンジドの中では、割とまともな部類に入るのではなかろうか。 サイクル アンヒンジドの驢馬尻(Ass)。 Cheap Ass Bad Ass Dumb Ass Fat Ass 参考 カード個別評価:Unglued系
https://w.atwiki.jp/gonjoukk/pages/7.html
カウンター 合計: - 今日: - 昨日: - virtualboxとvagrantを使って、PC上にバーチャル環境を構築して、バーチャル環境上にCentOSをインストール。 ここに、ruby 開発環境を構築する 以下の手順で構築を進める。(ドットインストールの動画で学習した内容メモ) 0. vagrant boxに、centOSのbox(テンプレート) を、web上から取得する。 $ vagrant box add centos64box http //developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20131103.box ※ centos64box は任意のネーミング ※ boxのダウンロードサイト http //www.vagrantbox.es から探す 取得したboxが取得できていることを確認する $ vagrant box list CentOS64box (virtual box) 取得したboxが表示されればOK ※取得したboxは、ホームディレクトリ/.vagrant.d/boxes/ ディレクトリに保存されている 1.MacOS上に、仮想マシン用のディレクトリを作る $ mkdir MyCentOSVM (ディレクトリ名は任意) 2. 取得したboxを、vagrantを使用して、virtual box上にセットする 作成したディレクトリに移動する $ cd MyCentOSVM vagrantを使用して、取得したboxをvirtual boxにセット $ vagrant init centos64box これをやると、Vagrantfile が作られる 3. Vagrantfile のprivate ipアドレスを設定する $ vi Vagrantfile private ipのコメント # を外す ※アドレスは値を変えても良い (例:192.168.33.55) 4. virtual box仮想マシンを起動する $ vagrant up 5. 仮想マシンにログインする $ vagrant ssh 6. yumコマンドでシステムを最新の状態にしたあとに、/etc/resolv.confの設定 $ sudo yum update -y $ sudo vi /etc/resolv.conf resolv.confファイルの先頭行に、 options single-request-reopen を追記 7. ファイヤーウォールを切っておく $ sudo service iptables stop ファイヤーウォールを止める $ sudo chkconfig iptables off 再起動したときにもstopにするように、off にする 8. 仮想マシンのOSにwebサーバがインストールされているかを調べ、無ければ Webサーバーを導入 $ yum list installed | grep httpd webサーバがインストールされているか調べる $ sudo yum install -y httpd webサーバをインストールする $ sudo service httpd start webサーバのサービスをスタートする $ sudo chkconfig httpd on 再起動したときにもstartするように、on にする 9. webブラウザから、webサーバが起動しているか確認する urlの箇所に、Vagrantfile で設定した private ipアドレスを指定する(例:192.168.33.10) これで、Apacheの Test page が表示されればOK 10. htmlファイルを表示してみる ファイル転送ツールを使って仮想マシンにhtmlファイルを作成し、ブラウザから動作を確認 $ sudo chown -R vagrant vagrant /var/www/html vagrantユーザで /var/www/html にアクセスできるようにする ※デフォルトでは、/var/www/html にhtmlファイルを置くと、ブラウザから見れるようになる 11. 上記までできたら、ファイル転送ツールを使って /var/www/html に、htmlファイルを作成し置く ファイル転送ツールは、fileZilla を使う /var/www/html/ 配下に、index.html という名前でhtmlファイルを作ってみる index.htmlの中身には、 html hello world /html など簡単記載して保存する 12. hostsを編集する IPアドレスとドメインを紐付けるためのhosts編集ツールを使ってみる 編集ツールは、hoster を使う 192.168.33.10 dev.creator.com IPアドレスにドメインを紐付ける webブラウザから、url に ドメイン名( dev.creator.com )を指定して、htmlファイルが見られればOK 13. epel、remiリポジトリを導入 PHP、MySQLの新しいバージョンを追加するためにepel、remiのリポジトリを導入する php はどのバージョンが入っているか $ yum info php mysql はどのバージョンが入っているか $ yum info mysql-server epelのリポジトリを取得 $ wget http //dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm remiのリポジトリを取得 $ wget http //rpms.famillecollet.com/enterprise/remi-release-6.rpm epelをリポジトリ追加 $ sudo rpm -Uvh epel-release-6-8.noarch.rpm remiをリポジトリ追加 $ sudo rpm -Uvh remi-release-6.rpm 設定ファイルを編集 $ sudo vi /etc/yum.repos.d/epel.repo enabled=0 にする 14. phpを導入 remiが管理しているphpの情報を確認する $ yum info --enablerepo=remi php remiを使って、php関連で必要なものをインストールする $ sudo yum --enablerepo=remi install -y php php-devel php-mysql php-mbstring php-gd 設定ファイルを編集 $ sudo vi /etc/php.ini ① /error で検索 n (で次検索する) ; error_log = syslog の下行に error_log = /var/log/php.log を追加 ② /mbstring で検索 n (で次検索する) ; mbstring.language = Japanese → mbstring.language = Japanese コメントを外す mbstring.internal_encoding = EUC-JP → mbstring.internal_encoding = UTF-8 UTF-8に変更 ; mbstring.http_input = auto → mbstring.http_input = auto コメントを外す ; mbstring.detect_order = auto → mbstring.detect_order = auto コメントを外す ③ /expose_php で検索 n (で次検索する) expose_php = On → expose_php = Off Off に変更 ④ /timezone で検索 n (で次検索する) ;date.timezone = → date.timezone = Asia/Tokyo コメントを外し、Asia/Tokyo を追記 以上 ⑤ wq Enter でファイル保存して閉じる ⑥webサーバを再起動して、php.iniファイルの変更内容を反映させる。 $ sudo service httpd restart ⑦ここまでで、対象バージョンのphpが入ったことを確認する。 $ php -v 15. MySQLの導入 remiを使って、mysqlをインストールする $ sudo yum install -y --enablerepo=remi mysql-server 設定ファイルを編集する $ sudo vi /etc/my.cnf socket=/var/lib/mysql/mysql.sockの下行に、 以下の7行を追加する character_set_server=utf8 default-storage-engine=InnoDB innodb_file_per_table [mysql] default-character-set=utf8 [mysqldump] default-character-set=utf8 追記したら、 wq mysqlを起動する $ sudo service mysqld start ※mysqlの起動が失敗する場合は、古いmysqlを削除し、新たにインストールして再起動する ・古いmysqlを削除 $ yum remove mysql mysql-server $ rm -fr /var/lib/mysql/* $ yum --enablerepo=remi --disablerepo=base,updates install mysql mysql-server ・mysqlを再起動 $ sudo service mysqld restart セキュリティを高めるための設定をする $ /usr/bin/mysql_secure_installation Set root password? [Y/n] Y password を設定 → 1 (任意) 以降のそのほかの設定[y/n]は、enterを押してデフォルトで進める 再起動時にも設定がされるようにする $ sudo chkconfig mysqld on mysqlにログインしてみる。 $ mysql -u root -p mysql ※mysqlプロンプトが表示されればOK 16. postgreSQLを導入 http //www.postgresql.org/download/linux/redhat/ から参照 yum でpostgreSQLのリポジトリパッケージをダウンロードし、インストール $ sudo yum install http //yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-redhat93-9.3-1.noarch.rpm Is this ok [y/N] y yum でpostgreSQL server をインストール $ sudo yum -y install postgresql93-server postgresql93-contrib postgreSQLデータベースの初期化 $ sudo service postgresql-9.3 initdb サーバ起動時に自動起動するように設定 $ sudo chkconfig postgresql-9.3 on postgresqlサービスの状態を確認する $ sudo service postgresql-9.3 status postgresql-9.3 is stopped と表示されたときは $ sudo service postgresql-9.3 start postgresqlがインストールされると、ユーザに postgres が追加されるので、パスワードを設定する $ sudo passwd postgres 新しいパスワード(および再入力)を設定 postgresユーザに切り替えてログインしてみる $ su - postgres パスワード入力し、次のプロンプトが表示されれば、ログインOK -bash-4.1$ バージョン確認する $ psql --version psql (PostgreSQL) 9.3.5 psqlで、postgresqlのデータベースにログイン $ psql 以下が表示される psql (9.3.5) Type "help" for help. postgres=# ※データベース用のプロンプト postgres=# \du と入力すると、現在存在するユーザ(初期は postgrs のみ)が以下のように表示される List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication | {} 作業用にユーザをcreatedbの権限をつけて追加する(以下は、vagrantユーザをパスワード設定し追加) postgres=# create user vagrant createdb password '1' login; CREATE ROLE 上記設定の後、 postgres=# \du で、以下のように新規ユーザが追加されていればOK List of roles Role name | Attributes | Member of -----------+------------------------------------------------+----------- postgres | Superuser, Create role, Create DB, Replication | {} vagrant | Create DB | {} posgresを抜ける postgres=# \q postgresユーザを抜ける -bash-4.1$ exit 元のvagrantユーザに戻る 17. Rubyをインストースするためのrbenvを導入 ruby をインストールするための gitをインストール $ sudo yum install -y git 以降の参考サイト: ドットインストール WEB管理のノウハウを蓄積していくウェブサイト rbenv を ~/.rbenv (既存のリポジトリ)からローカルにファイルコピー $ git clone https //github.com/sstephenson/rbenv.git ~/.rbenv rbenv のコマンドラインツールを利用できるように、環境変数を設定 $PATH に ~/.rbenv/bin を追加。(~/.bash_profile に export PATH の行を追記) $ echo 'export PATH="$HOME/.rbenv/bin $PATH"' ~/.bash_profile ターミナル起動時に “rbenv init” を実行するように、.bash_profile に実行コマンドを追記 $ echo 'eval "$(rbenv init -)"' ~/.bash_profile 以上の2つのコマンドで .bash_profile の最後に、以下の2行が追記されたことを確認する $ vi ~/.bash_profile export PATH="$HOME/.rbenv/bin $PATH" eval "$(rbenv init -)" 以上で、rbenvのインストール完了 rubyインストールに必要なruby-build をgitでファイルコピーし、rbenvにプラグインする $ git clone https //github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build ターミナルの起動スクリプトに追記した内容を読み込みさせるため、ターミナルを立ち上げ直し、 正しくインストールできたかを確かめる $ rbenv 以下のような表示がされればOK rbenv 0.4.0-98-g13a474c Usage rbenv command [ args ] Some useful rbenv commands are commands List all available rbenv commands local Set or show the local application-specific Ruby version global Set or show the global Ruby version shell Set or show the shell-specific Ruby version install Install a Ruby version using ruby-build uninstall Uninstall a specific Ruby version rehash Rehash rbenv shims (run this after installing executables) version Show the current Ruby version and its origin versions List all Ruby versions available to rbenv which Display the full path to an executable whence List all Ruby versions that contain the given executable See `rbenv help command ' for information on a specific command. For full documentation, see https //github.com/sstephenson/rbenv#readme 18. ruby をインストール rbenv+ruby-build でインストールできるパッケージは下記のコマンドで確認できる $ rbenv install -l (途中略) 2.1.0 2.1.0-dev 2.1.0-preview1 2.1.0-preview2 2.1.0-rc1 2.1.1 2.1.2 (以下略) インストールしたいバージョンの ruby を確認して、以下のコマンドでインストールを行う $ rbenv install 2.1.2 (今回は 2.1.2) rbenv でインストールした後、必要コマンドが使えるようにする $ rbenv rehash ※rbenv rehashの意味は インストールした ruby-2.1.2 を普段使うデフォルトの Ruby に設定 $ rbenv global 2.1.2 Ruby 2.1.2 がインストールできたことを確かめる $ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] のように表示される 19. [[Ruby on Rails]]を導入 gemを使ってRuby on Railsを導入 gemというrubyのパッケージ管理ツールを使うので、最新状態にアップデートをかける $ gem update --system rails をインストールする $ gem install rails --no-ri --no-rdoc -V rbenv でインストールしたあとは、以下をコマンドを行う $ rbenv rehash rails のインストールされたバージョンを確認する $ rails -v ※めも:Rails 4では、Rails 3までの機能が整理されるとともに、新機能が追加されている 以上で、一通り終了。 参考にさせていただいたサイトの運営者様、ありがとうございました。 無事に環境構築が完了できました。
https://w.atwiki.jp/ff11windower2/pages/24.html
TParty プラグイン情報 開発者 Cliff ダウンロード 本家サイトへ ※Downloadをクリック 本家フォーラム 本家フォーラムへ 変更履歴 本家 ※英語 概要 パーティ、アライアンスメンバーのTP、MPを表示する また、ターゲットのHP%も表示する。 ・タゲのHPバー左に残HP% ・PT・アラメンバーのHPバー左にTP(100未満 白、100以上 緑) ・アラメンバーのMPを表示 使い方 ロードするのみ FFXi起動時からロードする場合はinit.txtに次の一行を書き加える load tparty コマンド なし
https://w.atwiki.jp/prmmjp/pages/369.html
Marksman [v0.95] 分隊後方からの支援に特化したセミオートの狙撃銃を装備した兵科、命中率と威力はSniperに劣るものの 連射できる為敵から反撃されても落ち着いて対処することができます。 装備 imageプラグインエラー ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (AN-M14 Incendiary Grenade.JPG)
https://w.atwiki.jp/mieyanman/pages/22.html
zip2 zip3 [sqlplus_csv] clsDesc.vb Public Class clsDesc Public Property c0Name As String = "" Public Property c1Null As String = "" Public Property c2Type As String = "" End Class clsSelectionRowsMove.vb Public Class clsSelectionRowsMove Dim m_DataGridView As DataGridView = Nothing Dim m_RowsCount As Integer = 0 Dim m_SelectedRowsCount As Integer = 0 Dim m_SelectedRowMin As Integer = 0 Dim m_SelectedRowMax As Integer = 0 Dim m_MoveUpEnabled As Boolean = False Dim m_MoveDownEnabled As Boolean = False Public ReadOnly Property RowsCount() As Integer Get Return m_RowsCount End Get End Property Public ReadOnly Property SelectedRowsCount() As Integer Get Return m_SelectedRowsCount End Get End Property Public ReadOnly Property SelectedRowMin() As Integer Get Return m_SelectedRowMin End Get End Property Public ReadOnly Property SelectedRowMax() As Integer Get Return m_SelectedRowMax End Get End Property Public ReadOnly Property MoveUpEnabled() As Boolean Get Return m_MoveUpEnabled End Get End Property Public ReadOnly Property MoveDownEnabled() As Boolean Get Return m_MoveDownEnabled End Get End Property Public Enum MoveType Top Up Down Bottom End Enum Public Sub New(wp_DataGridView As DataGridView) If wp_DataGridView Is Nothing Then Return End If m_DataGridView = wp_DataGridView m_RowsCount = m_DataGridView.Rows.Count If m_RowsCount 0 Then m_SelectedRowsCount = m_DataGridView.SelectedRows.Count If m_SelectedRowsCount 0 Then Dim w_RowMin As Integer = m_RowsCount Dim w_RowMax As Integer = 0 For i As Integer = m_SelectedRowsCount - 1 To 0 Step -1 If w_RowMin m_DataGridView.SelectedRows(i).Index Then w_RowMin = m_DataGridView.SelectedRows(i).Index End If If w_RowMax m_DataGridView.SelectedRows(i).Index Then w_RowMax = m_DataGridView.SelectedRows(i).Index End If Next m_SelectedRowMin = w_RowMin m_SelectedRowMax = w_RowMax If m_RowsCount 1 Then If m_SelectedRowMin 0 Then m_MoveUpEnabled = True End If If m_SelectedRowMax m_RowsCount - 1 Then m_MoveDownEnabled = True End If End If End If End If End Sub Public Sub SelectionRowsMove(wp_Move As MoveType) If m_DataGridView.SelectedRows.Count = 0 Then Return End If Dim w_SelectionRowList As New List(Of DataGridViewRow) For Each r As DataGridViewRow In m_DataGridView.SelectedRows w_SelectionRowList.Add(r) m_DataGridView.Rows.Remove(r) Next Dim w_Row1 As Integer = 0 Select Case wp_Move Case MoveType.Top w_Row1 = 0 Case MoveType.Up w_Row1 = m_SelectedRowMin - 1 Case MoveType.Down w_Row1 = m_SelectedRowMin + 1 Case MoveType.Bottom w_Row1 = m_DataGridView.Rows.Count Case Else End Select Dim w_Row2 As Integer = w_Row1 + w_SelectionRowList.Count - 1 m_DataGridView.Rows.Insert(w_Row1, w_SelectionRowList.Count) For i As Integer = 0 To w_SelectionRowList.Count - 1 For j As Integer = 0 To m_DataGridView.Columns.Count - 1 m_DataGridView.Rows(w_Row2 - i).Cells(j).Value = w_SelectionRowList(i).Cells(j).Value Next Next m_DataGridView.CurrentCell = m_DataGridView.Rows(w_Row1).Cells(0) For i As Integer = w_Row1 To w_Row2 m_DataGridView.Rows(i).Selected = True Next End Sub End Class frmCsvFile.Designer.vb Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated() _ Partial Class frmCsvFile Inherits System.Windows.Forms.Form フォームがコンポーネントの一覧をクリーンアップするために dispose をオーバーライドします。 System.Diagnostics.DebuggerNonUserCode() _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub Windows フォーム デザイナーで必要です。 Private components As System.ComponentModel.IContainer メモ 以下のプロシージャは Windows フォーム デザイナーで必要です。 Windows フォーム デザイナーを使用して変更できます。 コード エディターを使って変更しないでください。 System.Diagnostics.DebuggerStepThrough() _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.Label1 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label() Me.TxtConnect = New System.Windows.Forms.TextBox() Me.TxtTableName = New System.Windows.Forms.TextBox() Me.Button1 = New System.Windows.Forms.Button() Me.Label3 = New System.Windows.Forms.Label() Me.TxtWorkFolder = New System.Windows.Forms.TextBox() Me.DataGridView1 = New System.Windows.Forms.DataGridView() Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Column2 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Column3 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.TmiOpen = New System.Windows.Forms.ToolStripMenuItem() Me.TmiAdd = New System.Windows.Forms.ToolStripMenuItem() Me.Label4 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label() Me.TxtCsvFile = New System.Windows.Forms.TextBox() Me.TxtSqlFile = New System.Windows.Forms.TextBox() Me.TxtBatFile = New System.Windows.Forms.TextBox() Me.Button2 = New System.Windows.Forms.Button() Me.Button3 = New System.Windows.Forms.Button() Me.ChkDelWorkFile = New System.Windows.Forms.CheckBox() Me.DataGridView2 = New System.Windows.Forms.DataGridView() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.DataGridViewTextBoxColumn3 = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components) Me.TmiTop = New System.Windows.Forms.ToolStripMenuItem() Me.TmiUp = New System.Windows.Forms.ToolStripMenuItem() Me.TmiDown = New System.Windows.Forms.ToolStripMenuItem() Me.TmiBottom = New System.Windows.Forms.ToolStripMenuItem() Me.SplitContainer1 = New System.Windows.Forms.SplitContainer() CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginInit() Me.ContextMenuStrip1.SuspendLayout() CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).BeginInit() Me.ContextMenuStrip2.SuspendLayout() CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainer1.Panel1.SuspendLayout() Me.SplitContainer1.Panel2.SuspendLayout() Me.SplitContainer1.SuspendLayout() Me.SuspendLayout() Label1 Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(12, 9) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(47, 12) Me.Label1.TabIndex = 0 Me.Label1.Text = "Connect" Label2 Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(12, 35) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(62, 12) Me.Label2.TabIndex = 1 Me.Label2.Text = "TableName" TxtConnect Me.TxtConnect.Location = New System.Drawing.Point(81, 6) Me.TxtConnect.Name = "TxtConnect" Me.TxtConnect.Size = New System.Drawing.Size(100, 19) Me.TxtConnect.TabIndex = 2 TxtTableName Me.TxtTableName.Location = New System.Drawing.Point(81, 31) Me.TxtTableName.Name = "TxtTableName" Me.TxtTableName.Size = New System.Drawing.Size(100, 19) Me.TxtTableName.TabIndex = 3 Button1 Me.Button1.Location = New System.Drawing.Point(435, 2) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 4 Me.Button1.Text = "csv作成" Me.Button1.UseVisualStyleBackColor = True Label3 Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(12, 59) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(62, 12) Me.Label3.TabIndex = 5 Me.Label3.Text = "WorkFolder" TxtWorkFolder Me.TxtWorkFolder.Location = New System.Drawing.Point(81, 56) Me.TxtWorkFolder.Name = "TxtWorkFolder" Me.TxtWorkFolder.Size = New System.Drawing.Size(100, 19) Me.TxtWorkFolder.TabIndex = 6 Me.TxtWorkFolder.Text = "C \Temp\sql" DataGridView1 Me.DataGridView1.AllowUserToAddRows = False Me.DataGridView1.AllowUserToDeleteRows = False Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3}) Me.DataGridView1.ContextMenuStrip = Me.ContextMenuStrip1 Me.DataGridView1.Dock = System.Windows.Forms.DockStyle.Fill Me.DataGridView1.Location = New System.Drawing.Point(0, 0) Me.DataGridView1.Name = "DataGridView1" Me.DataGridView1.ReadOnly = True Me.DataGridView1.RowTemplate.Height = 21 Me.DataGridView1.Size = New System.Drawing.Size(434, 383) Me.DataGridView1.TabIndex = 7 Column1 Me.Column1.HeaderText = "名前" Me.Column1.Name = "Column1" Me.Column1.ReadOnly = True Column2 Me.Column2.HeaderText = "NULL?" Me.Column2.Name = "Column2" Me.Column2.ReadOnly = True Column3 Me.Column3.HeaderText = "型" Me.Column3.Name = "Column3" Me.Column3.ReadOnly = True ContextMenuStrip1 Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TmiOpen, Me.TmiAdd}) Me.ContextMenuStrip1.Name = "ContextMenuStrip1" Me.ContextMenuStrip1.Size = New System.Drawing.Size(154, 48) TmiOpen Me.TmiOpen.Name = "TmiOpen" Me.TmiOpen.Size = New System.Drawing.Size(153, 22) Me.TmiOpen.Text = "tabファイルを開く" TmiAdd Me.TmiAdd.Name = "TmiAdd" Me.TmiAdd.Size = New System.Drawing.Size(153, 22) Me.TmiAdd.Text = "列追加" Label4 Me.Label4.AutoSize = True Me.Label4.Location = New System.Drawing.Point(234, 9) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(42, 12) Me.Label4.TabIndex = 8 Me.Label4.Text = "csvFile" Label5 Me.Label5.AutoSize = True Me.Label5.Location = New System.Drawing.Point(234, 35) Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(39, 12) Me.Label5.TabIndex = 9 Me.Label5.Text = "sqlFile" Label6 Me.Label6.AutoSize = True Me.Label6.Location = New System.Drawing.Point(234, 59) Me.Label6.Name = "Label6" Me.Label6.Size = New System.Drawing.Size(40, 12) Me.Label6.TabIndex = 10 Me.Label6.Text = "batFile" TxtCsvFile Me.TxtCsvFile.Location = New System.Drawing.Point(280, 6) Me.TxtCsvFile.Name = "TxtCsvFile" Me.TxtCsvFile.Size = New System.Drawing.Size(100, 19) Me.TxtCsvFile.TabIndex = 11 TxtSqlFile Me.TxtSqlFile.Location = New System.Drawing.Point(280, 31) Me.TxtSqlFile.Name = "TxtSqlFile" Me.TxtSqlFile.Size = New System.Drawing.Size(100, 19) Me.TxtSqlFile.TabIndex = 12 Me.TxtSqlFile.Text = "csv.sql" TxtBatFile Me.TxtBatFile.Location = New System.Drawing.Point(280, 56) Me.TxtBatFile.Name = "TxtBatFile" Me.TxtBatFile.Size = New System.Drawing.Size(100, 19) Me.TxtBatFile.TabIndex = 13 Me.TxtBatFile.Text = "csv.bat" Button2 Me.Button2.Location = New System.Drawing.Point(435, 27) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(75, 23) Me.Button2.TabIndex = 14 Me.Button2.Text = "csv開く" Me.Button2.UseVisualStyleBackColor = True Button3 Me.Button3.Location = New System.Drawing.Point(435, 52) Me.Button3.Name = "Button3" Me.Button3.Size = New System.Drawing.Size(75, 23) Me.Button3.TabIndex = 15 Me.Button3.Text = "フォルダ開く" Me.Button3.UseVisualStyleBackColor = True ChkDelWorkFile Me.ChkDelWorkFile.AutoSize = True Me.ChkDelWorkFile.Checked = True Me.ChkDelWorkFile.CheckState = System.Windows.Forms.CheckState.Checked Me.ChkDelWorkFile.Location = New System.Drawing.Point(551, 5) Me.ChkDelWorkFile.Name = "ChkDelWorkFile" Me.ChkDelWorkFile.Size = New System.Drawing.Size(85, 16) Me.ChkDelWorkFile.TabIndex = 16 Me.ChkDelWorkFile.Text = "DelWorkFile" Me.ChkDelWorkFile.UseVisualStyleBackColor = True DataGridView2 Me.DataGridView2.AllowUserToAddRows = False Me.DataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize Me.DataGridView2.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.DataGridViewTextBoxColumn1, Me.DataGridViewTextBoxColumn3}) Me.DataGridView2.ContextMenuStrip = Me.ContextMenuStrip2 Me.DataGridView2.Dock = System.Windows.Forms.DockStyle.Fill Me.DataGridView2.Location = New System.Drawing.Point(0, 0) Me.DataGridView2.Name = "DataGridView2" Me.DataGridView2.ReadOnly = True Me.DataGridView2.RowTemplate.Height = 21 Me.DataGridView2.Size = New System.Drawing.Size(302, 383) Me.DataGridView2.TabIndex = 17 DataGridViewTextBoxColumn1 Me.DataGridViewTextBoxColumn1.HeaderText = "名前" Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" Me.DataGridViewTextBoxColumn1.ReadOnly = True DataGridViewTextBoxColumn3 Me.DataGridViewTextBoxColumn3.HeaderText = "型" Me.DataGridViewTextBoxColumn3.Name = "DataGridViewTextBoxColumn3" Me.DataGridViewTextBoxColumn3.ReadOnly = True ContextMenuStrip2 Me.ContextMenuStrip2.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TmiTop, Me.TmiUp, Me.TmiDown, Me.TmiBottom}) Me.ContextMenuStrip2.Name = "ContextMenuStrip2" Me.ContextMenuStrip2.Size = New System.Drawing.Size(99, 92) TmiTop Me.TmiTop.Name = "TmiTop" Me.TmiTop.Size = New System.Drawing.Size(98, 22) Me.TmiTop.Text = "最上" TmiUp Me.TmiUp.Name = "TmiUp" Me.TmiUp.Size = New System.Drawing.Size(98, 22) Me.TmiUp.Text = "上へ" TmiDown Me.TmiDown.Name = "TmiDown" Me.TmiDown.Size = New System.Drawing.Size(98, 22) Me.TmiDown.Text = "下へ" TmiBottom Me.TmiBottom.Name = "TmiBottom" Me.TmiBottom.Size = New System.Drawing.Size(98, 22) Me.TmiBottom.Text = "最下" SplitContainer1 Me.SplitContainer1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.SplitContainer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.SplitContainer1.Location = New System.Drawing.Point(14, 81) Me.SplitContainer1.Name = "SplitContainer1" SplitContainer1.Panel1 Me.SplitContainer1.Panel1.Controls.Add(Me.DataGridView1) SplitContainer1.Panel2 Me.SplitContainer1.Panel2.Controls.Add(Me.DataGridView2) Me.SplitContainer1.Size = New System.Drawing.Size(744, 385) Me.SplitContainer1.SplitterDistance = 436 Me.SplitContainer1.TabIndex = 18 frmCsvFile Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(770, 478) Me.Controls.Add(Me.SplitContainer1) Me.Controls.Add(Me.ChkDelWorkFile) Me.Controls.Add(Me.Button3) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.TxtBatFile) Me.Controls.Add(Me.TxtSqlFile) Me.Controls.Add(Me.TxtCsvFile) Me.Controls.Add(Me.Label6) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.TxtWorkFolder) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TxtTableName) Me.Controls.Add(Me.TxtConnect) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Name = "frmCsvFile" Me.Text = "tabファイルを基にcsvファイルを作成" CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit() Me.ContextMenuStrip1.ResumeLayout(False) CType(Me.DataGridView2, System.ComponentModel.ISupportInitialize).EndInit() Me.ContextMenuStrip2.ResumeLayout(False) Me.SplitContainer1.Panel1.ResumeLayout(False) Me.SplitContainer1.Panel2.ResumeLayout(False) CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainer1.ResumeLayout(False) Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents TxtConnect As System.Windows.Forms.TextBox Friend WithEvents TxtTableName As System.Windows.Forms.TextBox Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents TxtWorkFolder As System.Windows.Forms.TextBox Friend WithEvents DataGridView1 As System.Windows.Forms.DataGridView Friend WithEvents Column1 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Column2 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Column3 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label5 As System.Windows.Forms.Label Friend WithEvents Label6 As System.Windows.Forms.Label Friend WithEvents TxtCsvFile As System.Windows.Forms.TextBox Friend WithEvents TxtSqlFile As System.Windows.Forms.TextBox Friend WithEvents TxtBatFile As System.Windows.Forms.TextBox Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Button3 As System.Windows.Forms.Button Friend WithEvents ChkDelWorkFile As System.Windows.Forms.CheckBox Friend WithEvents DataGridView2 As System.Windows.Forms.DataGridView Friend WithEvents DataGridViewTextBoxColumn1 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents DataGridViewTextBoxColumn3 As System.Windows.Forms.DataGridViewTextBoxColumn Friend WithEvents ContextMenuStrip1 As System.Windows.Forms.ContextMenuStrip Friend WithEvents TmiOpen As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiAdd As System.Windows.Forms.ToolStripMenuItem Friend WithEvents ContextMenuStrip2 As System.Windows.Forms.ContextMenuStrip Friend WithEvents TmiTop As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiUp As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiDown As System.Windows.Forms.ToolStripMenuItem Friend WithEvents TmiBottom As System.Windows.Forms.ToolStripMenuItem Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer End Class frmCsvFile.vb Imports System.Text.RegularExpressions Public Class frmCsvFile Private Enum me_Col1 c0Name c1Null c2Type End Enum Private Enum me_Col2 c0Name c1Type End Enum Private m_SelectionRowsMove As New clsSelectionRowsMove(Me.DataGridView2) Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Me.TxtConnect.Text = pf_GetIni("", "CSV", "Connect", "ユーザ名/パスワード@ネットサービス名") Me.TxtTableName.Text = pf_GetIni("", "CSV", "TableName", "DUAL") Me.TxtWorkFolder.Text = pf_GetIni("", "CSV", "WorkFolder", "C \Temp\sql") Me.TxtCsvFile.Text = pf_GetIni("", "CSV", "csvFile", "csv.csv") Me.TxtSqlFile.Text = pf_GetIni("", "CSV", "sqlFile", "csv.sql") Me.TxtBatFile.Text = pf_GetIni("", "CSV", "batFile", "csv.bat") Me.TmiTop.Enabled = False Me.TmiUp.Enabled = False Me.TmiDown.Enabled = False Me.TmiBottom.Enabled = False End Sub Private Sub Form1_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed Call ps_PutIni("", "CSV", "Connect", Me.TxtConnect.Text) Call ps_PutIni("", "CSV", "TableName", Me.TxtTableName.Text) Call ps_PutIni("", "CSV", "WorkFolder", Me.TxtWorkFolder.Text) Call ps_PutIni("", "CSV", "csvFile", Me.TxtCsvFile.Text) Call ps_PutIni("", "CSV", "sqlFile", Me.TxtSqlFile.Text) Call ps_PutIni("", "CSV", "batFile", Me.TxtBatFile.Text) If Me.ChkDelWorkFile.Checked Then Dim w_SqlFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtSqlFile.Text) Dim w_BatFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtBatFile.Text) Call ms_DelFile(w_BatFile) Call ms_DelFile(w_SqlFile) End If End Sub Private Sub DataGridView1_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView1.CellPainting If e.ColumnIndex 0 AndAlso e.RowIndex = 0 Then Call e.Paint(e.ClipBounds, DataGridViewPaintParts.All) Dim rect As Rectangle = e.CellBounds Call rect.Inflate(-2, -2) Call TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), e.CellStyle.Font, rect, e.CellStyle.ForeColor, TextFormatFlags.Right Or TextFormatFlags.VerticalCenter) e.Handled = True End If End Sub Private Sub DataGridView2_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles DataGridView2.CellPainting If e.ColumnIndex 0 AndAlso e.RowIndex = 0 Then Call e.Paint(e.ClipBounds, DataGridViewPaintParts.All) Dim rect As Rectangle = e.CellBounds Call rect.Inflate(-2, -2) Call TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), e.CellStyle.Font, rect, e.CellStyle.ForeColor, TextFormatFlags.Right Or TextFormatFlags.VerticalCenter) e.Handled = True End If End Sub Private Sub DataGridView2_SelectionChanged(sender As Object, e As System.EventArgs) Handles DataGridView2.SelectionChanged m_SelectionRowsMove = New clsSelectionRowsMove(Me.DataGridView2) If Me.TmiUp.Enabled m_SelectionRowsMove.MoveUpEnabled Then Me.TmiUp.Enabled = m_SelectionRowsMove.MoveUpEnabled Me.TmiTop.Enabled = m_SelectionRowsMove.MoveUpEnabled End If If Me.TmiDown.Enabled m_SelectionRowsMove.MoveDownEnabled Then Me.TmiDown.Enabled = m_SelectionRowsMove.MoveDownEnabled Me.TmiBottom.Enabled = m_SelectionRowsMove.MoveDownEnabled End If End Sub Private Sub TsbTop_Click(sender As System.Object, e As System.EventArgs) Handles TmiTop.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Top) End Sub Private Sub TsbUp_Click(sender As System.Object, e As System.EventArgs) Handles TmiUp.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Up) End Sub Private Sub TsbDown_Click(sender As System.Object, e As System.EventArgs) Handles TmiDown.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Down) End Sub Private Sub TsbBottom_Click(sender As System.Object, e As System.EventArgs) Handles TmiBottom.Click Call m_SelectionRowsMove.SelectionRowsMove(clsSelectionRowsMove.MoveType.Bottom) End Sub Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click If Me.DataGridView1.Rows.Count = 0 Then MsgBox("tabファイルを開いてください。", MsgBoxStyle.SystemModal) Return End If If Me.DataGridView2.Rows.Count = 0 Then MsgBox("列追加してください。", MsgBoxStyle.SystemModal) Return End If Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_CsvFile As String = String.Format("{0}\{1}.csv", Me.TxtWorkFolder.Text, Me.TxtTableName.Text) Dim w_TableName As String = Me.TxtTableName.Text.ToUpper Dim w_CsvSql As String = mf_GetCsvSql(w_CsvFile, w_TableName, Me.TxtConnect.Text) Dim w_SqlFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtSqlFile.Text) Call ms_StreamWriter(w_SqlFile, w_CsvSql) Dim w_BatCommand As String = String.Format("SQLPLUS {0} @{1}", Me.TxtConnect.Text, w_SqlFile) Dim w_BatFile As String = String.Format("{0}\{1}", Me.TxtWorkFolder.Text, Me.TxtBatFile.Text) Call ms_StreamWriter(w_BatFile, w_BatCommand) Call ms_StartProcessWaitForExit(w_BatFile) Select Case MsgBox("csvファイルを開きますか。", MsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton2 Or MsgBoxStyle.SystemModal, "確認") Case MsgBoxResult.Yes Call ms_StartProcess(w_CsvFile) Case Else End Select End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_CsvFile As String = String.Format("{0}\{1}.csv", Me.TxtWorkFolder.Text, Me.TxtTableName.Text) Call ms_StartProcess(w_CsvFile) End Sub Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click Dim w_WorkFolder As String = Me.TxtWorkFolder.Text Call ms_StartProcess(w_WorkFolder) End Sub Private Sub TmiOpen_Click(sender As System.Object, e As System.EventArgs) Handles TmiOpen.Click Dim w_tabFile As String = mf_FileOpenDialog() If w_tabFile = "" Then Return End If Me.TxtTableName.Text = System.IO.Path.GetFileNameWithoutExtension(w_tabFile) Me.TxtCsvFile.Text = String.Format("{0}.csv", Me.TxtTableName.Text) Dim w_FileText As String = mf_GetFileText(w_tabFile) Dim w_DescList As List(Of clsDesc) = mf_FileTextToDescList(w_FileText) Me.DataGridView1.Rows.Clear() If w_DescList.Count 0 Then Me.DataGridView1.Rows.Add(w_DescList.Count) For i As Integer = 0 To w_DescList.Count - 1 Me.DataGridView1.Rows(i).Cells(me_Col1.c0Name).Value = w_DescList(i).c0Name Me.DataGridView1.Rows(i).Cells(me_Col1.c1Null).Value = w_DescList(i).c1Null Me.DataGridView1.Rows(i).Cells(me_Col1.c2Type).Value = w_DescList(i).c2Type Next Me.DataGridView1.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) End If End Sub Private Sub TmiAdd_Click(sender As System.Object, e As System.EventArgs) Handles TmiAdd.Click Dim w_ColumnList As List(Of clsDesc) = mf_GetSelectionColumns() Call ms_AddQuery(w_ColumnList) End Sub Private Function mf_GetCsvSql(wp_TxtFile As String, wp_TableName As String, wp_Connect As String) As String Dim sb As New sb() sb.Add("connect {0}", wp_Connect) sb.Add("set echo off") sb.Add("set heading off") sb.Add("set pagesize 0") sb.Add("set feedback off") sb.Add("set linesize 32767") sb.Add("set trimspool on") sb.Add("spool {0}", wp_TxtFile) sb.Add("SELECT ""列番"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", i + 1) Next sb.Add(" AS 列番") sb.Add("FROM DUAL;") sb.Add("SELECT ""列型"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c1Type).Value)) Next sb.Add(" AS 列型") sb.Add("FROM DUAL;") sb.Add("SELECT ""列名"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 sb.Add(" || ,""{0}"" ", mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c0Name).Value)) Next sb.Add(" AS 列名") sb.Add("FROM DUAL;") sb.Add("SELECT ""明細"" ") For i As Integer = 0 To Me.DataGridView2.Rows.Count - 1 Dim w_c0Name As String = mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c0Name).Value) Dim w_c1Type As String = mf_ObjectToString(Me.DataGridView2.Rows(i).Cells(me_Col2.c1Type).Value) Select Case True Case w_c1Type Like "NUMBER*" w_c0Name = String.Format(" || ,"" || TO_CHAR({0}) || "" ", w_c0Name) Case w_c1Type Like "DATE*" w_c0Name = String.Format(" || ,"" || TO_CHAR({0}, YYYY/MM/DD HH24 MI SS ) || "" ", w_c0Name) Case Else w_c0Name = String.Format(" || ,"" || {0} || "" ", w_c0Name) End Select sb.Add("{0}", w_c0Name) Next sb.Add(" AS 明細") sb.Add("FROM {0};", wp_TableName) sb.Add("spool off") sb.Add("set linesize 80") sb.Add("clear") sb.Add("exit") Return sb.ToString End Function Private Sub ms_StreamWriter(wp_File As String, wp_Text As String) Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis") Dim sw As New System.IO.StreamWriter(wp_File, False, enc) sw.Write(wp_Text) sw.Close() End Sub Private Sub ms_StartProcessWaitForExit(wp_BatFile As String) Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(wp_BatFile) p.WaitForExit() p.Close() p.Dispose() End Sub Private Sub ms_StartProcess(wp_File As String) Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(wp_File) End Sub Private Function mf_GetFileText(wp_TxtFile As String) As String Dim ret As String = "" Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding("shift_jis") Dim sr As New System.IO.StreamReader(wp_TxtFile, enc) ret = sr.ReadToEnd() sr.Close() Return ret End Function Private Function mf_FileTextToDescList(wp_FileText As String) As List(Of clsDesc) Dim ret As New List(Of clsDesc) Dim a1 As String() = Split(wp_FileText, vbCrLf, -1, CompareMethod.Text) For i As Integer = 0 To a1.Count - 1 Dim a2 As String() = Split(a1(i), vbTab, -1, CompareMethod.Text) Select Case a2.Count Case 3 Dim w_Desc As New clsDesc() w_Desc.c0Name = a2(0) w_Desc.c1Null = a2(1) w_Desc.c2Type = a2(2) ret.Add(w_Desc) Case Else End Select Next Return ret End Function Private Function mf_ObjectToString(wp_Object As Object) As String Dim ret As String = "" If Not wp_Object Is Nothing Then ret = wp_Object.ToString End If Return ret End Function Private Sub ms_DelFile(wp_File As String) System.IO.File.Delete(wp_File) End Sub Private Function mf_FileOpenDialog() As String Dim ret As String = "" Dim d As New OpenFileDialog() d.FileName = "" d.InitialDirectory = Me.TxtWorkFolder.Text d.Filter = "tabファイル(*.tab)|*.tab|すべてのファイル(*.*)|*.*" d.FilterIndex = 1 d.Title = "開くファイルを選択してください" d.RestoreDirectory = True If d.ShowDialog() = DialogResult.OK Then ret = d.FileName End If Return ret End Function Private Function mf_GetSelectionColumns() As List(Of clsDesc) Dim ret As New List(Of clsDesc) For Each r As DataGridViewRow In Me.DataGridView1.SelectedRows Dim w As New clsDesc() w.c0Name = mf_ObjectToString(r.Cells(me_Col1.c0Name).Value) w.c1Null = mf_ObjectToString(r.Cells(me_Col1.c1Null).Value) w.c2Type = mf_ObjectToString(r.Cells(me_Col1.c2Type).Value) ret.Add(w) r.Selected = False Next Return ret End Function Private Sub ms_AddQuery(wp_ColumnList As List(Of clsDesc)) If wp_ColumnList.Count = 0 Then Return End If For Each r As DataGridViewRow In Me.DataGridView2.Rows If r.Selected Then r.Selected = False End If Next Me.DataGridView2.Rows.Add(wp_ColumnList.Count) For i As Integer = 0 To wp_ColumnList.Count - 1 Dim w_Row As Integer = Me.DataGridView2.Rows.Count - i - 1 Me.DataGridView2.Rows(w_Row).Cells(me_Col2.c0Name).Value = wp_ColumnList(i).c0Name Me.DataGridView2.Rows(w_Row).Cells(me_Col2.c1Type).Value = wp_ColumnList(i).c2Type Me.DataGridView2.Rows(w_Row).Selected = True Next Me.DataGridView2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells) Me.DataGridView2.Focus() End Sub End Class mdlInit.vb Imports System.Runtime.InteropServices Module mdlInit DllImport("KERNEL32.DLL", CharSet =CharSet.Auto) _ Public Function GetPrivateProfileString( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As System.Text.StringBuilder, _ ByVal nSize As Integer, _ ByVal lpFileName As String) As Integer End Function DllImport("KERNEL32.DLL") _ Public Function WritePrivateProfileString( _ ByVal lpAppName As String, _ ByVal lpKeyName As String, _ ByVal lpString As String, _ ByVal lpFileName As String) As Integer End Function Public Function pf_GetIni(ByVal wp_path As String, ByVal wp_section As String, ByVal wp_key As String, ByVal wp_Default As String) As String Dim ret As String = wp_Default Dim sb As New System.Text.StringBuilder sb.Capacity = 256 Dim i As Integer = GetPrivateProfileString(wp_section, wp_key, wp_Default, sb, sb.Capacity, mf_path(wp_path)) ret = sb.ToString Return ret End Function Public Sub ps_PutIni(ByVal wp_path As String, ByVal wp_section As String, ByVal wp_key As String, ByVal wp_value As String) Dim i As Integer = WritePrivateProfileString(wp_section, wp_key, wp_value, mf_path(wp_path)) End Sub Private Function mf_path(ByVal wp_path As String) As String Dim ret As String = wp_path If ret = "" Then Dim w_path As String = Application.StartupPath If w_path.EndsWith("\") = False Then w_path = w_path "\" End If ret = String.Format("{0}{1}.ini", w_path, My.Application.Info.AssemblyName) End If Return ret End Function End Module sb.vb Public Class sb Private m_sb As System.Text.StringBuilder Public Sub New() m_sb = New System.Text.StringBuilder() End Sub Public Overrides Function ToString() As String Return m_sb.ToString() End Function Public Function Add(ByVal wp_String As String, ByVal ParamArray wp_Args() As Object) m_sb.AppendFormat(wp_String, wp_Args) m_sb.Append(ControlChars.CrLf) Return m_sb End Function Public Function ToStringRemoveLastCrLf() As String Dim ret As String = m_sb.ToString If ret.Length = vbCrLf.Length Then Dim i As Integer = ret.Length - vbCrLf.Length Dim w As String = ret.Substring(i) If w = vbCrLf Then ret = ret.Substring(0, i) End If End If Return ret End Function Public Sub cb() Clipboard.SetText(m_sb.ToString()) End Sub End Class
https://w.atwiki.jp/sevenlives/pages/2115.html
SmartBits 読み:すまーとびっと(つ) 英語:SmartBits 別名: 意味: SmartBitsとは、ルータやLANスイッチなどのネットワーク機器のパフォーマンスを測る計測器のこと。 Spirent Communications社が開発したもので業界標準の一つとして広く普及している。 計測対象の機器をEthernetで繋ぎ、使用状態と同じようなトラフィックを擬似的に作り出し計測します。 2011年01月17日 Smartbits値 スループット レイテンシ? LANスイッチ ルータ Ethernet?