Pascal
このブログはLazarus(FreePascal)アドベントカレンダー25日目の記事です。 qiita.com 大オチ。 で、結局今Lazarusを使う理由とはなんなのか。 一言で言うと、そんなものはないに尽きます(権利関係とか分からないので画像略)。 ただでさえ言語自体がマイナー…
このブログはLazarus(FreePascal)アドベントカレンダー24日目の記事です。 qiita.com 24日は標準ライブラリのソースコードについて。 Pascalはやはりマイナーな言語です。とくにDelphiではなくあえてFree Pascalを使う という人は更に少ない。 あえてLazarus…
このブログはLazarus(FreePascal)アドベントカレンダー23日目の記事です。 qiita.com 今回の内容はPascalのデータ型について。 Pascalのデータ型はちょっと特徴的で(といっても、最近PythonやJavaScriptなど明確に型のない言語しかつかってないのでどれだけ…
このブログはLazarus(FreePascal)アドベントカレンダー22日目の記事です。 qiita.com 22日目はユニットファイルの循環参照について。 ほかの言語と同様、usesでお互いのユニットを参照したプログラムを作ると、循環参照が発生します。 循環参照を示すメッセ…
このブログはLazarus(FreePascal)アドベントカレンダー21日目の記事です。 qiita.com 今回のテーマはLazarusのアプリを終了すると表示されることがある デバッグレポートについて。 Heap dump heaphtc unitのダイアログ プロジェクトオプションの「コンパイ…
このブログはLazarus(FreePascal)アドベントカレンダー20日目の記事です。 qiita.com 今回のお題はLazarusのパッケージマネージャについて。Lazarusにはオンラインパッケージマネージャというものが付属しており、パッケージメニューから起動することができ…
このブログはLazarus(FreePascal)アドベントカレンダー19日目の記事です。 qiita.com 今回のお題はIDEの構成。LazarusはIDEの構成を変更することで、機能を追加・削除することができるというユニークな機能を持った開発環境です。 パッケージは基本的に*.lpk…
このブログはLazarus(FreePascal)アドベントカレンダー18日目の記事です。 qiita.com この機能を使えば昔Delphiで作ったあんなアプリをインポートして、Lazarusで使うことができます。 LazarusのLCLなどのライブラリにはある程度DelphiのVCLと互換性があるの…
このブログはLazarus(FreePascal)アドベントカレンダー17日目の記事です。 qiita.com 今回は(も)小ネタ。Lazarusでコードの折りたたみブロックを作ります。 やり方は簡単で、折りたたみを開始する箇所を{$REGION 'リージョンの名前'}、終了する箇所を{$ENDRE…
このブログはLazarus(FreePascal)アドベントカレンダー16日目の記事です。 qiita.com Lazarus(というかPascal)ではメソッドの使用方法などを紹介するために、ドキュメントコメントを設定することができます。 Pascalにおけるドキュメントコメントは、XMLの形…
このブログはLazarus(FreePascal)アドベントカレンダー15日目の記事です。 qiita.com 最近はなんだかんだちょっと複雑なテキストをレンダリングするには、HTMLビューアを使う というパターンが多いのではないかと思います。 LazarusでHTMLビューアを内蔵した…
このブログはLazarus(FreePascal)アドベントカレンダー14日目の記事です。 qiita.com たとえばリリースパッケージを作りたいときなど、Lazarusのコンパイル以外にも複数の処理を行ないたいのでIDE以外からコンパイル操作を行いたい ということはときどきあり…
このブログはLazarus(FreePascal)アドベントカレンダー13日目の記事です。 qiita.com 13日目はそもそもLazarusを触るきっかけにもなったアプリ、ClipboardMonitorについて。 github.com このアプリは、クリップボードを常に監視し、テキストがコピーされたら…
このブログはLazarus(FreePascal)アドベントカレンダー12日目の記事です。 qiita.com ちょこっとしたプログラムの動作検証を行なうときにいちいちコードを書き込める場所を探すのが面倒なので、PascalPadというツールを作ってみました。 github.com とりあえ…
このブログはLazarus(FreePascal)アドベントカレンダー11日目の記事です。 qiita.com Lazarusには(というかPascalには)、他の言語でいう拡張メソッド的な書き方を実現する仕組みがあります。 それがヘルパークラスです。 wiki.freepascal.org えっ、そんな機…
このブログはLazarus(FreePascal)アドベントカレンダー10日目の記事です。 qiita.com 今日は小ネタ・・・ですが、意外と重要な小ネタ。 LazarusでGUIデザイナー上よりコンポーネントをコピーしようとすると、lfmファイルに書き込まれているのとおなじテキス…
このブログはLazarus(FreePascal)アドベントカレンダー9日目の記事です。 qiita.com Delphiでアプリケーションのバージョン情報を取得するには、FileInfoユニットにあるTVersionInfoクラスを用います。 procedure TAboutDialog.FormCreate(Sender: TObject);…
このブログはLazarus(FreePascal)アドベントカレンダー8日目の記事です。 qiita.com 8日目はアッサリ目にfor文の話し。 Lazarusでのfor文はfor [カウンタ] := [開始値] to [終了値] do ...です。他の言語のように増分を指定するStep値の指定はできません。常…
このブログはLazarus(FreePascal)アドベントカレンダー7日目の記事です。 qiita.com 7日目はLazarusでファイルを開く・保存ダイアログやメッセージボックスを表示する方法を。 コモンダイアログを表示する Lazarusは、Delphiと同様、LCLに標準ダイアログを表…
このブログはLazarus(FreePascal)アドベントカレンダー6日目の記事です。 qiita.com プログラムのショートカットファイル(*.Ink)を作るには、ほかの言語と同様にCOMオブジェクトのShellLinkオブジェクトを使用します。 詳細については公式Wikiを参照。 wiki.…
このブログはLazarus(FreePascal)アドベントカレンダー5日目の記事です。 qiita.com 5日目はおまちかね(?)テストについて。 コンパイルして動かすLazarusのプログラムはとくに、メソッドを作ったときのテストがないのは不安です。 なのでとりあえず、Lazarus…
このブログはLazarus(FreePascal)アドベントカレンダー4日目の記事です。 qiita.com Lazarusでほかのプロセスを呼び出す場合、ProcessモジュールにあるTProcessというクラスを使用します。 Executing External Programs/ja - Free Pascal wiki 使い方は大ま…
このブログはLazarus(FreePascal)アドベントカレンダー3日目の記事です。 qiita.com Lazarusでリソースを使う画像やアイコン、スクリプトファイルなどのファイルはリソースとしてプロジェクトに取り込んでおくと便利です。 Lazarusで扱えるリソースには2種類…
このブログはLazarus(FreePascal)アドベントカレンダー2日目の記事です。 qiita.com Lazarusでプロジェクトを作成する場合、まず気になるのがGitで管理できるかということです。 Delphiも昔は「他人が作ったコンポーネントの情報とかを自プロジェクトに含め…
このブログはLazarus(FreePascal)アドベントカレンダー1日目の記事です。 qiita.com さて、今回は以前もちょこっと話題にしたLazarusという環境について2,3書いてみようと思い、勢いでこのカレンダーを立ち上げました(Delphiアドベントカレンダーはあるけど…
Lazarusという開発環境をご存知でしょうか。 Delphiのベースになった言語、Object Pascalの開発環境で、オープンソースで開発が進められています。 www.lazarus-ide.org 今回デスクトップで比較的高速に起動するアプリケーションを作る必要があり、とりあえ…