ひとりも見捨てないことを、あきらめない

学校教育、社会教育、数学、技術家庭科、Youtube、EdTech、ICT、プログラミング、その他

フログラミングって、おもしろい!

プログラムが止まる!!その2  01/19 日

昨日の記事についてですが、「同時にアクセスしようとするからダメなんだろう」と考えて、いくつかの方法を試してみました。(たとえばトランザクションという仕組みを使うとか) 現時点で、大丈夫そうな方法は、「最初にデータベースをオープンしたら、あと…

プログラムが止まる!!!  01/18 土

アプリケーションを作るときに、私は、最初はとりあえず外観とか、入力したときの具体的な動きとかを作って、実際のデータの構造の決定や、「class」(って言われても分かんないですよね)の構造の決定は、少し後回しにします。 自分で、半分、遊びながら試…

データベースへのアクセス 01/17 金

現在作成しているアプリでは、データベースは SQLite を使用しています。これは、「あとで、処理内容を確認したい」というときに、SQLite であれば、データファイルを保存しておけば、そのファイルを開くだけで過去のデータにアクセスできるからです。 具体…

自動スクロールについて 01/16 木

画面になにかを表示させたときに、画面に収まり切らない場合があります。このときに、スクロールバーがあれば、見えない部分を見ることができるので、便利です。 スクロールバーは、いろいろなものにつけることができます。タブにも、パネルにも、つけること…

イベントハンドラの「裏技」 01/15 水

こんな方法があるんだと、びっくり仰天です。 でも、この記事を読んでおられる皆様は、「いったい何がびっくり仰天なのか」、「なぜ、そのことが、びっくり仰天に値するのか」が、分からないだろうなあと思います。申し訳ありません。 自分用のメモとして少…

だいぶ形になってきました 01/14 火

PDF ファイルも読めるようになりましたし、読み込んだデータを、SQLite のデータファイルに保存したり、再度、読み込んだりすることもできるようになりました。 画面構成は、すいませんが、とても荒削りです。 まだまだ、これからです。

日付を「普通の数字」に変更する  01/12 日

C# になって、日付のシリアル値が、あまりはっきりしなくなったように思います。つまり、歴史上のある年月日、時分を基準として、そこから何秒後という数字を、「一意的に表すような関数」を、誰かが標準的に決めるということをしなくなったように思います。…

実行ファイルをコンパクトにまとめる 01/11 土

Visual Studio で C# と NET 4.7 あたりをつかってしばらくプログラミングしていましたが、SQLite や PDFium などを追加していくと、どんどん DLL ファイルが増えていって、実行ファイルが埋もれていきます。 また、実際に配布する際に、いろいろなファイル…

SQLite データベースに、画像を保存する 01/10 金

デスクトップで画像を処理して、それをデータベースに保存したり読み出したりというのは、基本的な事柄だと思います。しかし、現実には、検索してみても、ほとんどそういう記事が出てきません。 自分で調べたり、他の詳しい方に質問したりして、だいたい次の…

「クラス」の考え方のひとつ 01/09 木

今まで C++ を使っていて、最近になって C# を使うようになって、やはりひっかかったのがクラスの考え方です。 Visual Stidio 2019 では、あらかじめ「ひな形」が用意されているので、「だいたいこんな感じのものが作りたい」と考えたときには、その原型にな…

プログラミングで「クラス」を使ってみる  01/08 水

ひとつの「ことがら」について、さまざまな「属性」を考慮しなければならないので、いろいろな「変数」や「関数」がゴチャゴチャしてきました。 こっちを、こういうふうに動かしたい、と考えたときに、あれもこれもみんな調整しなければならないので、ついう…

画像を切り取るのは、意外に面倒くさい  01/05 日

あたえられた画像があって、「ある範囲の部分を切り取って、別のところに貼り付ける」という作業は、しばしば行う作業だと思います。図面でも、イラストでも、地図でも、「一部を切り取る」というのは、ごく普通のことだと思います。 ところが、プログラムで…

PDFファイルを読むことに成功しました 12/31 火

Visual Studio 2019 の C# NET Core では、NuGet を用いて、PDFium ライブラリを使うことができます。しかし、私が拝見したブログの内容をそのまま実現することはできませんでした。 そうなると、他の方法を考えなければなりません。NuGet のライブラリには…

どれを選ぶか PDFium C# Nuget・・・12/29 日

開発言語を C++ から C# に変更したのは、PDF を読んだり書いたりするライブラリが比較的容易に入手できるからです。具体的には、NuGet というライブラリ集があって、必要なライブラリをここで見つけてインストールのボタンを押せば、それでインストール完了…

C# は「とっかかり」は面倒。わかってみれば簡単 ・・・ 12/28 土

C# を使い始めました。「ひな形」は用意されているので、真っ白な画面をひとつだけ出すのであれば、すぐにできます。問題はその後で、「じゃあ、こういうことをやろうと思うんだけど、それって、どこに書けばいいの?」という状態になります。 どうやら、C++…

ここまでできました。 12/26 木

Windows10, Visual Studio 2019, C++ という開発環境で、アプリケーションの開発をしていますが、現時点で「ここまでできた」というものを Youtube に投稿しました。 以下を御覧ください。 画像の表示と拡大・縮小、ワクの設定と移動・拡大・縮小・削除、ス…

リソースの開放に成功しました 12/25 水

昨日の記事で、リソースをどんどん浪費する様子をみていただきました。 Visual Studio 2019 で C++ でアプリを作成しています。 プログラムで使用したリソースは、プログラムの中で開放します。実際にリソースを開放するようにプログラムできたので、画面上…

GDIビューアって、すごく便利・・・12/24 火

プログラムを作っていると、作ったプログラムでコンピュータのメモリとかディスクとか、いろいろなものを消費します。あまりたくさん消費しすぎると、コンピュータ全体がモタモタしたり、ひどい場合には、コンピュータ全体が止まってしまったりします。 特に…

また、助けていただきました・・・12/22 日

「たぶん、リソースの開放がうまくいっていないんだろうなあ」と思っていたのですが、自分では場所が特定できなかったので、いつも頼りにしている teratail で質問してみました。 その結果、実際に不具合のある場所をおしえていただくことができ、アプリの動…

今度はアプリ全体が停まる・・・12/21 土

次から次へと、問題が発生します。 Visual Studio 2019 C++ アプリが途中で止まる。困った・・・。 画像にいくつかのワクが表示してあり、カーソルを重なると、その都度、ワクが選択されるようなプログラムを作成しています。 実際には、マウスをうごかすた…

スクロールバー成功♪ 12/20 金

昨日、縮んでしまった画素は、本日、原因が特定できて、きちんと表示できるようになりました。 Visual Studio 2019 C++ 画像スクロールができました 前回、うまくいかなかった原因が特定できました。 具体的には、Draw(x,y,width,height) 等の関数で、height…

スクロールバーが縮む・・・12/19 木

今週は、ずっとスクロールバーと格闘しています。 Visual Studio 2019 C++ スクロールで行が縮む 画像を表示させて、上下にスクロールさせる部分を作成しています。 画像は表示できたのですが、スクロールさせると行がだんだん縮んでいきます。 これでは、実…

スクロールバー表示成功 12/18 水

ごらんのとおり、スクロールバーの表示が成功し、動き始めました。でも、なかなか思い通りには動きません。画面と、うまく連携させるためには、「計算」が必要です。こういう面倒くさい計算を、みなさんやっていたんですねえ・・・。

スクロールバーって難しい 12/17 火

画像を上手に表示することに成功しましたが、画像は縦長なので、大きく表示すると、下の方が見えなくなります。 そこで、スクロールバーを用いて、画像を動かそうと考えたのですが、これが難しい!! こんな面倒なことをやっていたのかと、びっくりしていま…

画面を画像として保存できるようになりました。12/14 土

画面上で画像を表示したり、四角を書いたり、いろいろと加工しています。その画面を画像として保存できるようになりました。 Attach() という関数が一番大事でした。 // BitBlt_CImage.cpp : アプリケーションのエントリ ポイントを定義します。// #include …

チラチラがなくなりました。12/13 金

自分自身が覚えておくために、cpp ファイルの中身だけ、掲載しておきます。「裏で描画し、表に一度にコピーする」ということをやっています。 // BitBlt_Test.cpp : アプリケーションのエントリ ポイントを定義します。 #include "framework.h"#include "win…

teratailで質問させていただいています。 12/11 水

プログラムを作っていると、わからないことだらけです。そもそも「自分が何が分かっていないのかが分からない」場合も、たくさんあります。質問するにしても、トンチンカンな質問になってしまうことも、たくさんあります。トンチンカンな質問をしてしまうと…

ABCコンテスト147参加。12/10 火

AtCoder のビギナーズ・コンテスト、第147回に参加しました。 atcoder.jp いろいろと事情があって、コンテスト「だけ」に集中できないこともあり、2問だけ解いて(2問とも正解)終了しました。 300点は獲得しましたが、自分自身のレートは下がってしまいま…

やったー。成功(●'◡'●)。(●'◡'●)。 12/08 日

画面のチラチラが無くならない件について、いろいろと試したり、文献を読んだりして、「とりあえず」解決方法を見つけました。 InvalidateRect 関数で、「画面描写が必要だよー」というコマンドを送るのですが、マニュアルをよくよく読んでみると、 BOOL Inv…

どうしてもチラチラがなくならない・・・。12/07 土

VM_MOUSEMOVE でマウスが動いたら、InvalidateRect で「画面の描写が必要だよー」というコマンドを送り、WM_PAINT で実際に画面を描写する。 描写する際には、一時的にメモリ上に Bitmap 領域をつくり、その上で図形等を描写して、最後に BitBlt 関数で一度…