外部ファイル(テキスト)に指定された数のコンポーネントを配置するには

解決


冬眠熊  2009-01-15 00:30:38  No: 33122

初めて書き込みします。お知恵をお貸し下さい。

1週間前からDelphiの勉強を始めました。
プログラミングはPHPでWebサイトを作ったくらいの経験しかありません。

外部ファイル(テキスト)から多数の質問文(TLabel・・・それぞれ1行なので)を読み込んで、その下にそれぞれラジオボタン(TRadioGroup)を配置して、ユーザーに答えてもらい、その結果をローカル保存するようなプログラムを考えています(特殊な業界でインターネットに接続していないスタンドアローン環境のため)。

困っているのは質問文の数が変化する、ということです(そのために質問文を外部ファイルに指定したいなと)。問題文の数が固定ならば、予めその分だけ「TLabel」と「TRadioGroup」のセットを画面上に配置しておいて、必要なprocedureを記述していけば良いと思うのですが。

PHP(Web)の場合でしたら、forやwhileを使って、質問文や<input type="radio"・・・>などのhtmlタグを必要回数(外部ファイルの質問文の数)だけ発生させれば良かったのですが、Delphiの場合はどのような手順を踏めば良いのでしょうか。

「.pas」ファイルでは、既にそのコンポーネントが存在するという前提で記述しているので、おそらくもっと根本を辿らないといけないのだと思います。プロジェクト内で生成した他ファイルの中身を見ていくと、「.dfm」というファイルの中に、コンポーネントの定義らしき記述を見つけたので、そこに何らかの条件を書き込めば可変にできるのではないかと・・・でもそういったことについての記述が書籍やネットで見つけられず・・・ここでギブアップです。

こういう場合の対応方法について、「こんなやり方ならできるはず」「このサイトに似たようなやり方が書かれている」といった形で御指南いただけないでしょうか。

よろしくお願いいたします。


Fusa  2009-01-15 01:05:55  No: 33123

動的にコンポーネントを配置する
という系統で調べるとよいですよ。

http://www.geocities.jp/asumaroyuumaro/program/tips/createcompo.html


冬眠熊  2009-01-15 03:53:13  No: 33124

Fusaさん、レスありがとうございます。
恥ずかしながら「動的」という言葉が全く思い浮かびませんでした。
光が見えましたのでトライしてみます。
ありがとうございました。


Fusa  2009-01-16 05:52:00  No: 33125

Mr.XRAYさんのページ、もとてもわかりやすいようです。
http://mrxray.on.coocan.jp/Delphi/plSamples/160_CreateComponent.htm

ご参考にしてがんばってください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加