[DataGridView]改行を含むセル値を、Excelに貼付できるようにする方法
DataGridViewにテキストを表示させているとき、Ctrl-C,VでデータをExcelへコピー&ペーストさせたい場合があります。 通常であれば特にプログラムを書かなくてもコピペは可能なのですが、コピー元となるDataGridViewのセル値に改行が含まれる場合は上手くいきません。 例えば、以下のようなデータがあった場合、Excelへコピペをすると… Excel上では、下記のようにコピー元にあった改行文字の単位で別のセルに値が入ってしまいます。 このような場合は、下記の対処方法をとると解決できます。 ※余談ですが、DataGridViewのセル内で改行を許可するには、下記のよう…
続きを読む
Xamarin Studioを使いたい人が、最初に読むべきチュートリアル資料
新しい開発環境を試してみたい場合、簡単なチュートリアルを参考にしながら、試しに1本プログラムを作ってみると、手の動かし方など基本的な部分を理解するのに役立ちます。 先日、Xamarin Studioを評価してみたですが、下記のサンプルプログラムがわかりやすかったため、メモしておきます。 Xamarin Studioの参考ページ一覧 Xamarin Studioを最初にセットアップする方法 https://github.com/ytabuchi/XamarinHOL/blob/master/XamarinHandsOn_Prepare_JXUG.pdf ハンズオンのドキュメント https://…
続きを読む
[Xamarin] *.xaml.csに書いたInitializeComponent()メソッドでエラーが出る場合
Xamarinでプログラムを作成しているとき、InitializeComponentメソッドを呼び出している箇所で、メソッドが見つからないという意味の赤い波線が表示される場合があります。 具体的には、以下のようなコードです。 public partial class MainPage :ContentPage { public MainPage() { InitializeComponent(); } … }public partial class MainPage :ContentPage { publ…
続きを読む
cURLで、エラー”Initializing NSS with certpath: none”出る理由を、ソースから調べてみた
Linux上で実行するPHPのスクリプト内で、curlを使用したプログラムを書いていたのですが、テスト中に下記のエラーが出力されました。 Initializing NSS with certpath: none Unable to initialize NSSInitializing NSS with certpath: none Unable to initialize NSS メッセージ通りcertファイルがあるPATHがわからないせいで、初期化に失敗したのだろうとは思っていたのですが、このエラーが具体的にどの条件で出力されるか気になったので、curlのソースを確認してみました。 該当のメ…
続きを読む
[Google APIs Client Libraries]認証処理でOAuth2 access tokenの保存エラーが出たときの対処法
Google APIs Client Librariesを使用して、Googleのサーバへ対してOAuth2認証を行う際、SDKは認証のアクセストークンを/tmpフォルダに保存しようとします。 レンタルサーバなどで/tmpフォルダに権限がない場合、トークンの保存処理でエラーになってしまいます。 cURL Problem with the SSL CA cert (path? access rights?)cURL Problem with the SSL CA cert (path? access rights?) このような場合は、下記の処理でトークンの保存先を変更できます。 $config…
続きを読む
[GoogleAnalytics API]Googleサーバへの接続タイムアウトを指定するには
Google Client APIを使用して認証を行う際、google提供のSDK内ではGoogle_IO_Curlというクラスを利用しています。 この中で、接続タイムアウト時間を変更するには、下記のコードでオプションを指定します。 接続するまでのタイムアウトを指定する場合 $client = new \Google_Client(); $client->setClassConfig(’Google_IO_Curl’, ‘options’, array(CURLOPT_CONNECTTIMEOUT=>10));$client = ne…
続きを読む
[FuelPHP]task作成時、指定可能なクラス名・ファイル名の組み合わせとは?
FuelPHPでtaskを作ったとき、実行が可能なファイル名とクラス名の組合わせです。 良く忘れるので忘備録代わりに置いておきます。 特に大文字小文字と、アンダーバーの組み合わせで、何がOKなのかよく忘れてしまいます… まずは、テスト結果から。 クラス名 ファイル名 コマンド 実行 説明 Test test.php php oil refine test OK これが基本形 Test test.php php oil refine Test OK コマンドは大文字小文字関係ない Test test.php php oil refine tESt OK コマンドは大文字小文字関係ない…
続きを読む
[GoogleAnalytics API]エラー:(403) User does not have any Google Analytics account. が出るときの対処法
GoogleAnalytics APIを使用したプログラムで、APIをコールすると、”User does not have any Google Analytics account”エラーが出る場合があります。 data PHP Fatal error: Uncaught exception ‘Google_Service_Exception’ with message ‘Error calling GET https://www.googleapis.com/analytics/v3/management/accounts: (403) User does not h…
続きを読む
[GoogleAnalytics API] エラー:This library must be installed via composer or by downloading the full package. が出るときの対処法
GoogleAnalytics APIを利用したプログラムを実行すると、”This library must be installed via composer or by downloading the full package.”というエラーが出る場合があります。 PHP Fatal error: Uncaught exception ‘Exception’ with message ‘This library must be installed via composer or by downloading the full package. See the ins…
続きを読む
[GoogleAnalytics API]Google_Service_Exception(Insufficient Permission)例外が出るときの対応
GoogleAnalyticsでは、APIを使用することでデータのバッチ登録が可能です。 データを検索(取得)は可能だだが、データファイルのインポートするためにREST APIをコールしたとき、Insufficient Permissionエラーが出る場合があります。 Fatal error: Uncaught exception ‘Google_Service_Exception’ with message ‘Error calling POST https://www.googleapis.com/upload/analytics/v3/management/accounts/…: (…
続きを読む
[FuelPHP]taskとして作ったバッチはサブディレクトリで管理可能?
FuelPHPでは、バッチ処理をtaskのしくみで実行することができます。 インストール直後では、robotsというサンプルスクリプトがおいてあり、下記のコマンドで実行可能です。 php oil refine robotsphp oil refine robots プログラムは、fuel/app/tasksの下で管理するのですが、タスクの数が多くなるとサブディレクトリを作って管理したくなります。 ですが、FuelPHP1.8以下のバージョンでは、taskをサブディレクトリに格納することはサポートされていないようです。 FuelPHPの掲示板でも以下のようなやり取りがあり、FuelPHPの2.0…
続きを読む
[C#] AsinItemManager : アマゾンの商品情報を最も取得できるライブラリ
C#で、amazonの商品情報を簡単に取得できるライブラリを作成したので公開します。 ファイルは、1ファイルだけで、下記のソースをコピペするだけで動作します。 using System.Xml; //********************************************************************* /// <summary> amazon商品情報の取得管理クラス /// </summary> //*************************************************************…
続きを読む
[PHP]PHP5におけるgotoの利用について
PHPでは、PHP5.3以降でgoto文をサポートしました。 echo "prog1\n"; goto END_LABEL; echo "prog2\n"; END_LABEL: echo "prog3\n";echo "prog1\n"; goto END_LABEL; echo "prog2\n"; END_LABEL: echo "prog3\n"; 手元のPHP5.3.3環境で上記プログラムの実行すると、結果は以下のようになり、確かにpro…
続きを読む
[PHP]関数の外と中で、同じ名前の変数を定義したときの振る舞いは?
PHPでは変数のスコープに、グローバルは変数と、関数内のみ有効な変数があります。 この2つの間で同じ変数名を定義することは可能ですが、それらは別々のものとみなされます。 $a = 10; function func() { $a = 20; return $a; } func(); echo $a;$a = 10; function func() { $a = 20; return $a; } func(); echo $a; 上記コードを実行した場合、echo $aで見ているのはグローバル変数です。 一方で、funcの中で利用…
続きを読む
[PHP]PHP5から導入された抽象クラスについて
PHPでは、PHP5より抽象クラス(abstract class)が導入されました。 抽象クラスの特徴は下記のとおりです。 ・抽象メソッド(abstruct function …)を含むクラスは、抽象クラスとして宣言される必要があります。 ・抽象クラスには非抽象メソッドを含めることができます。 ・抽象メソッドはメソッド定義を持つ必要はありません。 メソッドの実態は、継承先のクラスでメソッド定義を行います。・抽象メソッド(abstruct function …)を含むクラスは、抽象クラスとして宣言される必要があります。 ・抽象クラスには非抽象メソッドを含める…
続きを読む
[PHP]md5, sha1, crc32の中で最も長いハッシュ値を返す関数はどれ?
PHPでは値のハッシュ値を求めるために、md5(), sha1(), crc32()など、複数の関数が用意されています。 各ハッシュ関数はそれぞれ下記の長さのハッシュ値を返し、3つの中ではsha1()が最も長いです。 [md5] 32byte [sha1] 40byte [crc32] 10byte これは、下記のコードで確認できます。 $md5Val = md5( "a" ); $sha1Val = sha1( "a" ); $crc32Val = crc32( "a" ); &nbs…
続きを読む
[PHP]echoやprintは関数なのか?それとも言語構造なのか?
PHPではechoを使っても、printを使っても画面に文字を出力することができます。 これらはecho( “aaa” )のような形式で文字出力が行えるため、関数のように感じますが、実はどちらも関数ではなく言語構造です。 言語構造というのは、if/functioin/returnと同じように、プログラム言語の一部として組み込まれているという意味です。 言語構造であることは、PHPのオフィシャルドキュメントでも明記されています。 echo は実際には関数ではありません (言語構造です)。 このため、使用する際に括弧は必要ありません。 (いくつかの他の言語構造と異なり) e…
続きを読む
PHPの基本的な知識ついて
PHPは、サーバ側のスクリプト言語です。 PHPファイルには、テキスト、HTMLタグや、PHPスクリプトファイルを含むことができます。 PHPのプログラムは、Windows/Linux以外にもMac等のOS上でも動作することができます。 PHPのプログラムは、同一バージョンであれば、今日使われている多くのサーバで互換性があります。
続きを読む
[PHP]メンバメソッドで、変数の可視性を指定しなかった場合の振る舞いは?
PHPのクラスに含まれるメンバメソッドで,private/public等の可視性(visibility)を指定することができます。この可視性を明示的に指定しなかったときは、publicとみなされます。 PHPのオフィシャルドキュメント(http://php.net/manual/ja/language.oop5.visibility.php)にも下記の記載があります。 クラスメソッドは、public, private, または protected として定義します。 アクセス権を明示せずに宣言したメソッドは、 public となります。クラスメソッドは、public, private, または…
続きを読む
[PHP]if文がfalseと満たされる条件は?(“0.0″はtrue?、それともfalse?)
PHPにてif文がfalseと満たされる条件は、下記値が条件式に書かれた場合です。 false NULL 整数の0 浮動小数点の0.0 空の文字列「""」 文字列"0" 要素が0の配列 プロパティとメソッドをもたないオブジェクトfalse NULL 整数の0 浮動小数点の0.0 空の文字列「""」 文字列"0" 要素が0の配列 プロパティとメソッドをもたないオブジェクト ここで、注意が必要となる点は、文字列”0.0″は、falseではないということです。 たとえば下記のコードは、trueとみ…
続きを読む