記事"グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6)"についてのディスカッション

 

新しい記事 グラフィカルインタフェースX: Timeコントロール、チェックボックスコントロールのリストとテーブルのソート(ビルド6) はパブリッシュされました:

グラフィカルインタフェースを作成するためのライブラリの開発が続きます。今回は、チェックボックスコントロールのリストとTimeが対象となります。さらに、CTableクラスではデータを昇順または降順に並べ替えることができるようになりました。

Timeコントロールのすべての構成要素を列挙してみましょう。

  • 背景
  • アイコン
  • 説明
  • 2つのエディットボックス

図1 Timeコントロールの複合部分

図1 Timeコントロールの複合部分

 

作者: Anatoli Kazharski

 

具体的な質問があります:

1. テーブルの列名の行は、垂直方向にスクロールしても静止したままですか、それとも可視フィールドから外れますか?行名のある最初の列についても同様の質問がありますが、水平スクロール スライダーを右に動かしたときに左に移動するのでしょうか、それとも移動しないのでしょうか?

2.列の幅は変化しますか?

3.上の例のテーブルはキャンバス上に描かれているのですか、それともオブジェクトでできているのですか?

 
Реter Konow:

具体的な質問があります:

1. テーブルの列名の行は、垂直方向にスクロールしても静止したままですか、それとも可視フィールドから外れますか?行名のある最初の列についても同様の質問がありますが、水平スクロールスライダーを右に動かしたときに左に移動するのでしょうか、それとも移動しないのでしょうか?

2.列の幅は変化しますか?

3.上の例のテーブルはキャンバス上に描かれているのですか、それともオブジェクトでできているのですか?

1.これらのモードはカスタマイズ可能です。つまり、最初の行と最初の列を固定(ヘッダーを作る)することができ、それらはテーブルデータと共にスクロールしません。

2.2.この記事では、更新はCTable 型のテーブルに関するものです。このテーブルでは、列の幅はテーブルの全幅に自動的に調整されます。

3.CTable タイプのテーブルは、OBJ_EDIT タイプの標準的なグラフィカル・オブジェクトで作られています。

その他のテーブル・タイプおよびそれらにリリースされたアップデートは、以下の記事(この記事を含む)で見ることができる:

次の記事でもリストとテーブルのアップデートがあります。まだまだやることはたくさんある。

 
Anatoli Kazharski:

1. これらのモードはカスタマイズ可能です。つまり、最初の行と最初の列を固定することができ(ヘッダーを作成)、テーブルデータとともにスクロールすることはありません。

2.この記事では、更新はCTable タイプのテーブルに関するものです。このテーブルでは、列の幅はテーブルの全幅に自動的に調整されます。

3.CTable タイプのテーブルは、OBJ_EDIT タイプの標準的なグラフィカル・オブジェクトで作られています。

その他のテーブル・タイプとそれに対するアップデートは、以下の記事(この記事を含む)にあります:

次の記事でもリストとテーブルのアップデートがあります。まだまだやることはたくさんある。

この資料は記事で詳しく読みました。原則的に、提案されたクラスとメソッドはユーザーが必要とするテーブルを作成し、その品質と思慮深さのレベルで満足させます。もちろん、テーブルのセルにさまざまな要素(チェックボックスやドロップダウンリストなど)を挿入する機能を追加することはできますが、これは将来の話です。

提案された技術を使用する際の労働強度について考えてみることをお勧めします。客観的に言えば、労働集約度はまだある。

これらの開発が広く使われ、応用されるかどうかは、使いやすさにもかかっている。これに反論することはほとんど不可能ですが......。

表を作成するプロセスを簡素化するために、私は、ユーザーが何も学ばずに必要な表を作成できるような簡単な方法を開発することを提案したい。しかし、ユーザーを訓練する 必要性を考慮すると、私は、労働集約的であればあるほど良いと言っている...。

 
Реter Konow:

...

テーブルを作成するプロセスを簡略化するために、ユーザーが何も学ばずにテーブルを作成できる簡単な方法を開発することを提案するが、ユーザー・トレーニングの 必要性を考慮すると、手間がかかる方が良いと言えるだろう...。

ライブラリーの内部は開発者向けに詳しく説明されている。つまり、プログラミングを学んでいる人にとっては、実際のプロジェクトに基づいたこのような例は非常に役に立つだろう。グラフィカル・インターフェースを 作るためのライブラリを作るのに頭を使いたくないというユーザーのために、各記事にはテスト・アプリケーションがあり、あれこれコントロールを作る方法の簡単な例を示している。

このシリーズのすべての記事を読んだ後で(そして、あなたはそれらをすべて読んだと繰り返し明言している)、私にこれを説明する必要があるのは奇妙なことだ。

 
Anatoli Kazharski:

ライブラリーの内部は、開発者向けに詳しく説明されている。つまり、プログラミングを勉強している人にとっては、実際のプロジェクトに基づいたこのような例はとても役に立つだろう。グラフィカル・インターフェースを 作成するためのライブラリを作ることに頭を悩ませたくないユーザーのために、各記事にはテスト・アプリケーションがあり、このコントロールやこのコントロールを作成する方法の簡単な例を示している。

このシリーズのすべての記事を読んだ(そして、あなたはそれをすべて読んだと何度も明言している)あなたが、私にこれを説明する必要があるのは奇妙なことだ。

残念ながら、私はまだ記事をよく読んでいない。普段は、写真のグラフィックが開発全体の真髄なので、それしか見ていない。

もし私がコード全体に手を出し始めたら、アプローチについてあなたと何倍もの意見の相違が生じるだろうと恐れています。

しかし、あなたの記事がプログラマーの教育に役立つことは明らかです。

P.S.より正確に言うと、私は労働と実践が学習と技術習得の基本だと考えている。教育において不必要な「緩和」は避けるべきです。例えば、小学校での電卓の使用は、算数の授業を無意味なものにしてしまう。小学校1年生に電卓を与えると、きちんとした数え方を学べなくなる。暗算を教え、指で説明する必要がある。しかし、学校の近くで電卓を売れば儲かるとしたらどうだろう?どうすればいいのだろう?

子供たちには、電卓は学習の妨げになるから使ってはいけないと説明すべきだと思うのですが......。意識の高い子供たちは必ず耳を傾けるだろう)))。
 

記事にしてくれてありがとう......。

さて、これで宇宙時代のパネルを作ることができる。

(あとは、この富を何に使うか考えるだけだ)。

 
Реter Konow:

残念ながら、私はまだ記事をじっくり読んでいない。普段は、写真に写ったグラフィックが 展開全体の真髄なので、そればかり見て いた。

写真しか見ない読者が少ないことを祈る。)

ライブラリーの一般ユーザー向けには別の記事を用意し、そこではライブラリーの内部構造に飛び込むことなく、ライブラリーの使い方に全神経を集中させる。また、ユーザーがカスタムクラスから利用できるメソッドの説明を含む詳細なドキュメントも用意する予定です。しかし、それはまだしばらく先のことだ。その前に多くの便利で必要な機能が実装される予定だ。

 
Anatoli Kazharski:

写真しか見ないような読者が少ないことを願っている。)

ライブラリの一般ユーザー向けには、内部構造には触れず、ライブラリの使い方に焦点を当てた別の記事を用意する予定です。その上、ユーザーがカスタムクラスから利用できるメソッドの説明を含む詳細なドキュメントも用意する予定です。しかし、それはまだしばらく先のことだ。その前に、もっと多くの便利で必要な機能が実装されるだろう。

繰り返しになりますが、残念ながら、私はまだあなたのライブラリの実装のニュアンスを読み、掘り下げていません。 これが私の欠点です。

将来、もっと自由な時間が持てるようになったら、あなたのライブラリーを一から勉強し始め、すべての解決策を理解するつもりです。 しかし、そのときには、効果がないと思われるものすべてについて、詳細かつ技術的に正しい方法でコメントし、批判し、並行して他の解決策を提案するつもりです。あなたは嫌がるかもしれないが、私はそれ以外のやり方はできない。


P.S. あなたがこれからやろうとしていることは正しい。ライブラリーの開発を続けてください。

 
Реter Konow:

...

将来、もっと時間ができたら、あなたのライブラリーを最初から勉強して、すべての解決策を理解するつもりです。 でも、そのときは、効果的でないと思われることはすべて、詳細かつ技術的に正しい方法でコメントし、批判し、並行して他の解決策を提案します。あなたは嫌がるかもしれませんが、私はそれ以外のやり方はできません。

...

批判を始める前に、第10部以降に追加や修正が加えられているので、シリーズ全体を読む必要がある。もし、あなたの解決策が技術的に証明され、コードに実装され、テストすることができ、それに基づいて正しい結論を導き出すことができるのであれば、私はそれを好まないわけにはいかない。それどころか、とても嬉しい。)

 
Anatoli Kazharski:

批判を始める前に、このシリーズを全部読んでください。もしあなたの解決策が技術的に証明され、コードに実装され、テストが可能で、それに基づいて正しい結論を導き出すことができるのであれば、私はそれを好まないわけにはいかない。それどころか、とても嬉しい。)

取引する)