水瓶座列車

どこまで行けるか、とりあえず発車します。

プログラミング

vimエディタの使い方とインストール手順を解説

Linuxでエディタといえば、viエディタをイメージするかもしれませんが、 viエディタを進化させたvimエディタがあります。 vimエディタには、viエディタに無い便利な機能が多くあります。 これから、viエディタを覚えようとする方は、vimエディタから触った方…

Linuxローダブルカーネルモジュールの作り方とアクセス手順

Raspberry Pi に接続したLCD1602キャラクタデバイスのデバイスドライバを自作するために、 まずは、ローダブルカーネルモジュールを作ろうと思います。 最終的には、カーネルに組み込んでRaspberry Pi の電源ON時から、LCD1602キャラクタデバイスを制御しよ…

C言語の演算子と優先順位の解説

四則演算についてはC言語でなくても、算数と同じなのでわかると思いますが、 プログラムでのビット演算や論理演算などは2進数の勉強をしていないとわかりにくいと思います。 今ここで完全に理解できなくても、「こういうものがあるのか。。」ぐらいでも大丈…

WindowsでC言語のプログラミング環境構築手順

C言語は、UbuntuなどのLinuxのデバイスドライバやカーネルに使用されていますので、 組み込み系の仕事では、必須のプログラム言語になります。 C言語を仕事にしたいと考えている方は、WindowsよりもUbuntuのようなLinuxで始める方が良いですが、 そもそもC言…

私がviエディタを好きになった理由とその使い方

パソコンで文章やプログラムを書くとき、エディタは何を使っていますか? ブログの記事を直接ブラウザで書く時は、エディタは選べませんが、 Windowsでは、MSWordやワードパット、メモ帳があり、Linuxでは、viエディタがあります。 OSによって定番のエディタ…

Qtで入力した文字を取り込むやり方

Qtアプリケーションを作成する時に、アプリログイン画面ならユーザーIDやパスワードの入力、 家計簿アプリなら金額入力など、ユーザーが入力した文字をプログラム内に取り込みたい場合があります。 ここでは、Qtで文字を取り込むために使用するクラスやAPIの…

Qtのボタンの色変更やカスタマイズのやり方

Qtアプリケーションのボタンの背景色や枠色などの色変更や文字サイズ、枠の丸みなどのカスタマイズのやり方は、 HTMLで使用するCSS ( Cascading Style Sheets )と同じような記述のQSS ( Qt Style Sheets )で設定することができます。 Qtのスタイルシート記述…

QTableWidgetクラスの使い方をプログラムをもとに解説

Qtで家計簿アプリを作成しようとしているのですが、その日に買い物した場所などをカテゴリにして、 日付、使用した金額を一緒にして表に一覧として表示しようと思っています。 Qtで表を作成するには、QTableWidgetクラスかQTableVIewクラスのどちらかを使用…

Qt5とQtCreatorをUbuntu20.04にインストールする手順と使い方を解説

Qtは、C++でGUIアプリを作成できるアプリケーション開発フレームワークで、C++を勉強するには最適だと思います。 Qtを使用せずにC++でボタンやスクロールバーなどを作ろうとすると面倒ですが、 Qtではそれらが既にクラス化されていて、簡単に作成することが…

C言語のデータ型と変数、関数について解説

前回は、C言語の始め方と基本構造、コンパイルから実行までを解説 - 水瓶座列車で、 C言語の始め方や基本構造、プログラムのコンパイルや実行までを解説しました。 今回は、C言語のデータ型と変数、関数について解説していきたいと思います。 C言語のデータ…

C言語のポインタと配列について解説

ポインタの考え方は、プログラミングを始める方にとって、イメージすることが難しいかもしれません。 しかし、ポインタを理解することができると他の言語もスムーズに習得することができます。 また、ポインタと一緒に使用する場合が多い配列についても説明…

C言語の構造体について解説

配列は、同一の型でデータを管理していますが、 構造体は、異なった型を集合体にしてデータを管理することができるものです。 構造体を理解できるとC++のようなオブジェクト指向言語にも考え方を活かすことができます。 C++でいうと、構造体はメンバ変数が全…

プログラミングを独学で勉強するためのLinuxパソコン準備手順

携帯電話やカーナビなどLinuxをベースにしたAndroidが搭載されており、開発現場のパソコン環境は、Linuxが使用されています。 プログラミング未経験者にとって、Linuxを触った経験はほとんど無いと思います。 これからC言語やC++、Python、Javaのプログラミ…

C言語の関数定義と作成、コール(呼び出し)手順について解説

C言語のプログラムは、main()関数から様々な関数をコールして、更にその関数から別の関数をコールしたりと、処理が徐々に広がっていきます。 関数を使用する時は、「関数をコールする」や「関数を呼び出す」といった感じで会話では使用します。 C言語に限ら…

C言語の条件分岐構文について解説

条件分岐構文は、C言語に限らず他のプログラム言語でも必ずある構文です。 C言語の条件分岐構文は、if文、else if文、else文とswitch文があります。 それでは、C言語の条件分岐構文について解説していきます。 条件分岐とは 条件分岐構文のif文の解説 if文の…

C言語の始め方と基本構造、コンパイルから実行までを解説

会社の新入社員研修では、C言語よりもJavaが重要視されていたり、 そもそもC言語自体が古いイメージがあると思いますが、 Linuxのデバイスドライバやカーネルのプログラムは、C言語で書かれています。 なので、仕事の需要として無くなることはまずありません…

C言語の繰り返し構文( while, do while, for )の解説と応用

どのようなプログラミング言語でも繰り返し処理を行う構文がありますが、 ここでは、C言語の繰り返し構文について、解説していきます。 また、構文の基本以外にも、応用的な使い方についても書いていきたいと思います。 C言語の繰り返し構文とは C言語のwhil…

QtでのSQLiteの使い方をプログラムをもとに解説

家計簿アプリを作成する中で、カレンダーの日付とその日に使った金額とカテゴリを紐づけて、データベースで管理しようと思っています。 データベースで管理する理由は、アプリを終了しても入力したデータを残しておきたいからです。 そして、月間の支出総額…

QCalendarWidgetクラスの使い方をプログラムをもとに解説

Qtで家計簿アプリを作成する中で、カレンダーで指定した日の支出を表示したり、 月の支出や週の支出を計算するために、カレンダーをもとにデータ管理したいと思っています。 データ管理のデータベースは、SQLiteを使用する予定ですが、 まずは、Qtのカレンダ…

最小限のMakefileの書き方を解説

RaspberryPiのサンプルプログラムをコンパイルするとき、WiringPiというライブラリを使用することもあって、 コンパイルオプションやファイル名を毎回コマンドラインに手入力するのは大変面倒です。 私は、テキストメモに記載したコンパイルの記述をコマンド…