【雑談】こんなの使うのか?みたいな関数やクラスの紹介
【雑談】こんなの使うのか?みたいな関数やクラスの紹介
ここに来られる方々なら一度は経験があるのではないでしょうか…
完全なる自己満足でしかない関数やクラスを作って途方にくれたことが…(笑)
そんな関数やクラスでも、誰かが役に立ててくれるかもしません。
ここで紹介してみませんか?
ってな訳で、言いだしっぺの私が1つ紹介させていただきます。
Win32APIのコンソールアプリ作成時に便利な関数をまとめてクラス化したCConsoleクラスです。
これがあれば、味気ないコンソールアプリでも(少しだけ)色が使えます!!
これがあれば、(制限はあるけれど…)コンソールアプリのWindowのサイズを変更できます!!
これがあれば、自分の指定した場所にテキストを表示することができます!!
これがあれば、邪魔なカーソルを非表示にすることができます!!
ってな感じの自己満足クラスです。
希望があれば、リファレンスを作成しますが、そんな人は居ませんね(苦笑)
完全なる自己満足でしかない関数やクラスを作って途方にくれたことが…(笑)
そんな関数やクラスでも、誰かが役に立ててくれるかもしません。
ここで紹介してみませんか?
ってな訳で、言いだしっぺの私が1つ紹介させていただきます。
Win32APIのコンソールアプリ作成時に便利な関数をまとめてクラス化したCConsoleクラスです。
これがあれば、味気ないコンソールアプリでも(少しだけ)色が使えます!!
これがあれば、(制限はあるけれど…)コンソールアプリのWindowのサイズを変更できます!!
これがあれば、自分の指定した場所にテキストを表示することができます!!
これがあれば、邪魔なカーソルを非表示にすることができます!!
ってな感じの自己満足クラスです。
希望があれば、リファレンスを作成しますが、そんな人は居ませんね(苦笑)
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
CConsoleライブラリは結構需要ありそうですね。(扱うと楽しいですね)
そういえば私も昔(半年前)分数ライブラリっていうのを作った記憶があります。
そういえば私も昔(半年前)分数ライブラリっていうのを作った記憶があります。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
WinAPIとDxライブラリで使うのに作ってみた「DateTime」クラスです。正直64ビット非対応なんですが、本当に使いどころがありません。
ちなみに、iostream対応です。
ちなみに、iostream対応です。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
WindowsAPIのAnimateWindow関数。
ただでさえ使うべき場面が少ないのに、ウィンドウリージョンと併用できないんですよね。
リージョン使うなら、WM_SHOWをトリガーにして自前で実装するとか?
標準ライブラリのgetenv、<stdarg.h>、<locale.h>等。
便利なのですが、使う機会はあまり無いですよね。
標準ライブラリの<setjmp.h>。
使いたくないってのを通り越して、存在自体を忘れてました。
ただでさえ使うべき場面が少ないのに、ウィンドウリージョンと併用できないんですよね。
リージョン使うなら、WM_SHOWをトリガーにして自前で実装するとか?
標準ライブラリのgetenv、<stdarg.h>、<locale.h>等。
便利なのですが、使う機会はあまり無いですよね。
標準ライブラリの<setjmp.h>。
使いたくないってのを通り越して、存在自体を忘れてました。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
皆さん、なにげに色々と作ってますねぇ…(^_^;)
>>lbfuvabさん
コンソールアプリでも、意外に色々と遊べるんですよね。
分数ライブラリとは、どのようなものだったんですか?(?_?)
>>tkmakwins15さん
.NetやMFCには似たようなクラスがありますが、標準ではありそうでないですよね。
なんらかのログを残したい時なんかに、日付を添付したりする場合にはいいかも?
>>ibisさん
AnimateWindow…まぁ、その、あれです。
なんとなく派手にしたいかなー?とかそういう気分になった場合の為に(笑)
>>Justyさん
boostには興味があるものの、未だに触ったことがないので、分からない部分もありますが…
確かにコンストラクタが大変なことになってますね(笑)
>>組木紙織さん
なにげにBitmap操作って面白いですよね。
.NetにあるBitmapクラスのSetPixelが遅過ぎるので、どうにか速度アップできないかと自作したのが下記の関数です。(ちなみにC#です)
unsafeコードですが、スピードが一気に上がりました(笑)
>>lbfuvabさん
コンソールアプリでも、意外に色々と遊べるんですよね。
分数ライブラリとは、どのようなものだったんですか?(?_?)
>>tkmakwins15さん
.NetやMFCには似たようなクラスがありますが、標準ではありそうでないですよね。
なんらかのログを残したい時なんかに、日付を添付したりする場合にはいいかも?
>>ibisさん
AnimateWindow…まぁ、その、あれです。
なんとなく派手にしたいかなー?とかそういう気分になった場合の為に(笑)
>>Justyさん
boostには興味があるものの、未だに触ったことがないので、分からない部分もありますが…
確かにコンストラクタが大変なことになってますね(笑)
>>組木紙織さん
なにげにBitmap操作って面白いですよね。
.NetにあるBitmapクラスのSetPixelが遅過ぎるので、どうにか速度アップできないかと自作したのが下記の関数です。(ちなみにC#です)
unsafeコードですが、スピードが一気に上がりました(笑)
public void SetPixelEx(ref Bitmap bitmap, int x, int y, Color color) { Rectangle angle = new Rectangle(0, 0, bitmap.Width, bitmap.Height); BitmapData data = bitmap.LockBits(angle, ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int stride = data.Stride; unsafe { byte* p = (byte*)(void*)data.Scan0; int count = 0; int offset = stride - bitmap.Width * 3; count = x * 3 + y * bitmap.Width * 3 + offset * y; p[count] = color.B; p[count + 1] = color.G; p[count + 2] = color.R; bitmap.UnlockBits(data); } }
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
>>lbfuvabさん
ほほう、なかなか面白いですね(^o^)
という訳で、C++でクラス化してみました♪(^-^)
計算用の関数は演算子を多重定義することで実装しています。
符号情報は分子用の変数をint型変更して変数自身に持たせる事にしました。
って、最早別物になってしまいましたね…(^_^;)
ほほう、なかなか面白いですね(^o^)
という訳で、C++でクラス化してみました♪(^-^)
計算用の関数は演算子を多重定義することで実装しています。
符号情報は分子用の変数をint型変更して変数自身に持たせる事にしました。
って、最早別物になってしまいましたね…(^_^;)
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
え~と、自分のソースで
uint32 GetDCV(uint32 va,uint32 vb); //最小公倍数(内部で_DCVを呼ぶ)
って書いてましたけど
uint32 GetDCV(uint32 va,uint32 vb); //最大公約数(内部で_DCVを呼ぶ)
の間違いです。
サーセン。
uint32 GetDCV(uint32 va,uint32 vb); //最小公倍数(内部で_DCVを呼ぶ)
って書いてましたけど
uint32 GetDCV(uint32 va,uint32 vb); //最大公約数(内部で_DCVを呼ぶ)
の間違いです。
サーセン。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
>標準ライブラリの<setjmp.h>。
>使いたくないってのを通り越して、存在自体を忘れてました。
あまりにもインパクトが強すぎて、どういうわけだかいつも心の片隅にぽつねんと居座っています。
小さい頃からの数度の引っ越しに生き抜いた書籍やぬいぐるみのような存在です。
あるいはずっと昔に買った全く信じていないお守りのような物かもしれません。
とは言っても過去に1度しか使ったことはありませんが。
そんな経験ってありませんか?
>使いたくないってのを通り越して、存在自体を忘れてました。
あまりにもインパクトが強すぎて、どういうわけだかいつも心の片隅にぽつねんと居座っています。
小さい頃からの数度の引っ越しに生き抜いた書籍やぬいぐるみのような存在です。
あるいはずっと昔に買った全く信じていないお守りのような物かもしれません。
とは言っても過去に1度しか使ったことはありませんが。
そんな経験ってありませんか?
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
そういえばこんなのがありました。
自作の型演算ライブラリ。
型の大きさの比較とか、その他いろいろ。
クラスの階層関係は、既にBoostにあったので割愛。
何故か整数拡張や通常の算術型変換も実装してますが、
用途を思いつかなくて苦悩。
bccで使えないっぽいので、long longとかは対応してません。
自作の型演算ライブラリ。
型の大きさの比較とか、その他いろいろ。
クラスの階層関係は、既にBoostにあったので割愛。
何故か整数拡張や通常の算術型変換も実装してますが、
用途を思いつかなくて苦悩。
bccで使えないっぽいので、long longとかは対応してません。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
>>ibisさん
bccでlong longを使用する場合は、__int64型で代用されるのも1つの手かと思います(^-^)
あくまでも、long long型が64ビット整数だというのが前提ですが…(^_^;)
bccでlong longを使用する場合は、__int64型で代用されるのも1つの手かと思います(^-^)
あくまでも、long long型が64ビット整数だというのが前提ですが…(^_^;)
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
> bccで使えないっぽいので、long longとかは対応してません。
確か、バージョン5.6.xあたりからは使えますので、入れてもよいかと思います。
確か、バージョン5.6.xあたりからは使えますので、入れてもよいかと思います。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
>>バグさん
コマンドプロンプト上で動くリバーシを作成しているのですが、
「少し色が変えられたら……」と思っていたのでこっそりCConsoleクラス(?)を使用させて頂きました。
クラス、ライブラリなどがどういったものかという知識も、
APIに関する知識もないのでどういう仕組みで動いているのかは分かりませんが、
とにかく白黒が当たり前だと思っていたコマンドプロンプトに色がついた時はちょっと感動しました^^;
この場を借りて御礼申し上げます。
コマンドプロンプト上で動くリバーシを作成しているのですが、
「少し色が変えられたら……」と思っていたのでこっそりCConsoleクラス(?)を使用させて頂きました。
クラス、ライブラリなどがどういったものかという知識も、
APIに関する知識もないのでどういう仕組みで動いているのかは分かりませんが、
とにかく白黒が当たり前だと思っていたコマンドプロンプトに色がついた時はちょっと感動しました^^;
この場を借りて御礼申し上げます。
Re:【雑談】こんなの使うのか?みたいな関数やクラスの紹介
>>柏
お役に立てたようでなによりでした(^-^)
私はコンソールアプリで落ち物パズルを作るのが好きなのですが、その際に描画関係の関数を毎回コピペするのが面倒に感じたのが、あのクラス作成の切っ掛けだったりします。
リバーシを作るのでしたら、前景を白or黒に、背景を緑色にするとそれっぽくなりそうですね。
お役に立てたようでなによりでした(^-^)
私はコンソールアプリで落ち物パズルを作るのが好きなのですが、その際に描画関係の関数を毎回コピペするのが面倒に感じたのが、あのクラス作成の切っ掛けだったりします。
リバーシを作るのでしたら、前景を白or黒に、背景を緑色にするとそれっぽくなりそうですね。