PathRemoveFileSpec

PathRemoveFileSpecは、ファイルのパスから、ファイル名とその前の'\'を取り除き、そのファイルの上のフォルダパスに修正する。PathRemoveFileSpecA function (shlwapi.h) - Win32 apps | Microsoft DocsGetModuleFileNameで取得したフルパスから、そのファ…

GetModuleFileName

GetModuleFileNameは、実行ファイル自身のフルパスを取得する。GetModuleFileNameA function (libloaderapi.h) - Win32 apps | Microsoft Docsコンソールアプリケーションで実行ファイル自身のパスを出力してみる。これを実行すると、 tszModulePath = c:\pr…

BeginPath

BeginPathは、パスに対する処理を開始する時に使う。BeginPath function (wingdi.h) - Win32 apps | Microsoft Docs パス画面ではなくパスなので、直接描画されることはなく、パスを描画する命令が実行された時に描画される。通常のTextOutで"ABCDE"を描画後…

Map.set

Map.setでキーと値をマップにセットする。マップ(Map)Mapそのものより、setを先にやる。key1に100をセットして、key1の値を取りに行く。取れてる取れてる。Sample/js/Map/set/src/Map at master · bg1bgst333/Sample · GitHub

h1-h6

h1タグからh6タグまでの6つのタグは見出しに使う。<h1>~<h6> - 見出しh1が一番文字が大きく、h6が一番文字が小さい。それぞれの字がどうなるか。上が一番大きくて徐々に小さくなっていく上が一番大きくて徐々に小さくなっていく。Sample/html/h1_h6/h1_h6/src/h1_h6</h6></h1>…

echo

PHP

echoも標準出力。PHP入門 - 入出力 PHP の echo と print のちがいと使いどころ | gotohayato.comただし、echoは複数の引数を受け取れるので、カンマで区切れる。 こうすると、10と20と30を連続して出力10と20と30を連続して出力。Sample/php/echo/echo/src/…

bool型

Pythonのbool型は、"True"と"False"で表される。組み込み関数 — Python 3.8.1 ドキュメント bool(論理)型 | Python学習講座Trueを入れてifで評価し出力、Falseにしてifで評価し出力。 (コーディングルール(詳細はいずれ説明)付けないと怒られる模様。) $ vi …

puts

putsは、改行ありで出力する時に使う。puts (Kernel) - Rubyリファレンスこれで、 $ vi puts.rb $ ruby puts.rb ABCDE $ printと違って、"\n"が無くても改行される。Sample/ruby/puts/puts/src/puts at master · bg1bgst333/Sample · GitHub

スコープ解決演算子

PerlもC++と同様に"::"でスコープ解決する。 つまり、パッケージを指定してその中の変数にアクセスできる。package - パッケージの宣言 - Perl入門ゼミパッケージ名と変数名を連結した「完全修飾名」で呼び出している。 $ vi package.pl $ perl package.pl 1…

basic_fstream

C++

basic_fstreamは、高水準ファイル入出力クラスの基本となるもので、fstreamはこれのchar版。basic_fstream - cpprefjp C++日本語リファレンス std::basic_fstream - cppreference.comファイル入出力と標準入出力の継承関係は結構わかりにくいけど、入出力ラ…

setjmp

setjmpで、その呼び出した時の実行コンテキスト(実行情報)を保存できる。C言語関数辞典 - setjmp いにしえのsetjmp()とlongjmp()、あるいはCの例外とは - Qiita setjmp | Programming Place Plus C言語編 標準ライブラリのリファレンスこれを呼んで実行コン…

GetClipboardData

GetClipboardDataで、クリップボードからデータを取得する。GetClipboardData function (winuser.h) - Win32 apps | Microsoft DocsSetClipboardDataでマルチバイト文字列に変換したので、GetClipboardDataではワイド文字列に戻す必要がある。で、この状態か…

IsClipboardFormatAvailable

IsClipboardFormatAvailableで、クリップボードにテキストなどのデータが残っているかを確認する。IsClipboardFormatAvailable function (winuser.h) - Win32 apps | Microsoft Docsテキスト(CF_TEXT)があるか確認する。エディットコントロールにあいうえお…

SetClipboardData

SetClipboardDataは、クリップボードにデータをセットする。SetClipboardData function (winuser.h) - Win32 apps | Microsoft Docsクリップボードの下準備の後、文字コード変換を挟んでから、ここに来たのは、どうもそのままではうまくクリップボードにセッ…

allocator

C++

allocatorは、メモリの確保と解放を行うクラステンプレート。allocator - cpprefjp C++日本語リファレンス アロケータ | Programming Place Plus C++編【標準ライブラリ】 第32章basic_stringなどに、独自のchar_traitsを指定したように、独自のallocator…

複素数

Pythonでは、変数の値に複素数を扱える。とほほのPython入門 - 数値・文字列・型 #!/usr/bin/python # a + bjという形の複素数 v1 = 1 + 2j # 出力 print v1 # bjという形の複素数 v2 = 3j # 出力 print v2 # a + jという形の複素数 v3 = 3 + j # 出力 print…

ラベル

goto文をほとんど使わないので、goto文の飛び先のラベルについて、気になることを試してみた。goto•¶ /* ヘッダファイルのインクルード */ #include <stdio.h> /* 標準入出力 */ /* main関数 */ int main(void){ /* 変数の宣言 */ int i; /* ループ変数i */ int j; /*</stdio.h>…

join

joinは、指定された区切り文字を挟んで、配列を結合する。join関数 - 区切り文字で配列を結合 - Perl入門ゼミ':'で結合。 実行すると、 $ vi join.pl $ perl join.pl abc:def:ghi $確かに結合された。Sample/perl/join/join/src/join at master · bg1bgst333…

char_traits

C++

char_traitsは、文字や文字列の操作を抽象化したクラステンプレートで、指定された文字の種類で動作を変えることができ、basic_stringにこれの派生クラスを渡すことで、独自の処理に切り替えることが出来る。char_traits - cpprefjp C++日本語リファレンス …

goto文

gotoを使うと、指定したラベルの位置まで飛ぶことが出来る。goto•¶ C言語 - ラベルBASICの名残であり、現代では使ってはいけないとはよく言われる。 /* ヘッダファイルのインクルード */ #include <stdio.h> /* 標準入出力 */ /* main関数 */ int main(void){ /* 変数</stdio.h>…

パッケージ

Perlでは、オブジェクト指向関連の機能が後付けで追加された。 その中の機能の一つがパッケージであり、C++の名前空間や、Javaのパッケージに相当するものである。package - パッケージの宣言 - Perl入門ゼミパッケージやブロックが変数の所属にどのように影…

reverse

reverseは、渡された配列や文字列を逆順にする。reverse関数 - 配列/リスト - Perl関数のリファレンス実行すると、 $ vi reverse.pl $ perl reverse.pl 1 2 3 4 5 5 4 3 2 1 ABCDE EDCBA $確かに逆になっている。Sample/perl/reverse/reverse/src/reverse at…

splice

spliceは、配列に対して複雑な操作ができる。splice関数 - 配列の要素の複雑な操作 - Perl入門ゼミ簡単に言うと、指定した位置からの指定した個数の要素たちを、指定した別の複数要素たちに置き換えるというか・・・。2番目からの2つ、300と400を、@newの3つ…

pop

popは、配列の末尾から要素を取り出す。pop関数 - 配列/リスト - Perl関数のリファレンス実行すると、 $ vi pop.pl $ perl pop.pl 10 20 30 30 10 20 $最初の3つがpop前の配列。 次が取り出した値30。 最後に残った10と20。 末尾から取り出せた。Sample/perl…

unshift

unshiftは、配列の先頭に要素を追加。unshift関数 - 配列/リスト - Perl関数のリファレンス実行すると、 $ vi unshift.pl $ perl unshift.pl $array[0] = 100 $array[1] = 200 $array[2] = 300 $var = 50 $array[0] = 50 $array[1] = 100 $array[2] = 200 $a…

tr///

文字を置換する場合は、"tr///"を使う。tr - Perlリファレンス"a"を"A"に、"C"を"c"に。 $ vi tr.pl $ perl tr.pl ABcDE AABcc AABcc ABAcc AAAcc AAbcc AAABc AAbcc $それぞれの文字が置換された。Sample/perl/tr/tr/src/tr at master · bg1bgst333/Sample ·…

s///

パターンにマッチした文字列を、別の文字列に置換する場合は、"s//"を使う。Perl講座: 変数と文字列として、"AbC"または"ABC"があれば、"XYZ"に置換する。 $ vi s.pl $ perl s.pl XYZDE aaBCC AaBCC ABACC AAACC aXYZC aAaBC AAbcC $ 正確に一致するところだ…

エイプリルフールなのでB.G-STATIONを更新しました

せっかく、エイプリルフールなので、B.G-STATIONを更新しました。B.G-STATIONDocumentからこのブログに飛ぶだけですけどね。 他にもいろいろ動かしていきたいですが、ひとまずはこれだけ。

m//

パターンマッチは以前もやっているが、実は、"//"というのは"m//"の省略形らしい。パターンマッチ演算子(m//) - 正規表現の基本 - Perlにおける正規表現ここだとパターンマッチ演算子と言っているけど、"m//"は組み込み関数の1つと書いてあるところもあって…

rindex

rindexは、指定された文字列の中で、指定された部分文字列があった場合に、最後に見つかった場所の位置(前から数えて)を返す。rindex関数 - 文字列 - Perl関数のリファレンス3番目の検索終了位置がわかりにくいけど、として実行すると、 $ vi rindex.pl $ pe…