Re^2: 表部品でのソートについて

投稿者:アーク 投稿日:2024/02/12(Mon) 10:54:56 No.2911

アークです。

状況を確認しました。
「はじめの手順」の最後の行を下記のように変更する事でエラーが解消します。

「表部品1の2列目を昇順に並び替える」

但しこのままだと数値ではなく文字列なので期待通りではないかも知れません。

Re: 表部品でのソートについて

投稿者:KNIGHT 投稿日:2024/02/12(Mon) 08:43:55 No.2910

アークさん、お返事をありがとうございます。
使用しているプロデルは、やや古いのですが、
==========
◆動作環境情報◆
プロデル 1.7.1150
Windows 10(32)
メモリ:3.39 GB
==========

デザイナーで、ウィンドウを追加して以下のようにしましたが、同じエラー文が出ました。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
メイン画面を表示する
待機する
メイン画面とは
  ウィンドウを継承する
はじめの手順
  初期化する
  ーー貼り付けた部品に対する操作をここに書きます
  データというデータ表を作る
  データに{「名前」,「値段」}という列を加える
  データへ{名前=「みかん」,値段=30}を加える
  データへ{名前=「りんご」,値段=50}を加える
  データへ{名前=「なし」,値段=100}を加える
  データへ{名前=「めろん」,値段=1000}を加える
  データへ{名前=「ぶどう」,値段=120}を加える
  表部品1のデータ表をデータに変える
  表部品1の2列目を昇順に並べ替える
終わり
  初期化する手順
    ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
      この内容を「メイン画面」に変える
      初期化開始する
      表部品1という表部品を作る
      表部品1を初期化開始する
        その位置と大きさを{17,42,256,114}に変える
        その列見出し高さを18に変える
      表部品1を初期化終了する
      初期化終了する
  終わり
終わり
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

実際にやりたかったのは、「あるフォルダに保存されているPDFファイルを、更新日の新しい順に並び変える」ことだったのですが、DOSコマンドなど使わずに、プロデル上でやるとすれば、アークさんならどうプログラミングされますか?

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

Re: 表部品でのソートについて

投稿者:アーク 投稿日:2024/02/11(Sun) 17:47:37 No.2909

KNIGHT さん、こんばんは。アークです。

かなり前のバージョン迄遡ると通っていたようですが、
最近のバージョンでは通らないようです。

表部品はGUI部品のひとつなので土台であるウィンドウが必要なようです。
何処かの時点で内部仕様が変わったようです。現在は、

Window1というウィンドウを作る
  Window1の実質大きさを{300,200}に変える
  Window1のタイトルを「Test」にする
Window1へ表部品1という表部品を作る

等とする事でエラーを吐かなくなります。

Re: 2次配列のソートについて

投稿者:KNIGHT 投稿日:2024/02/10(Sat) 17:39:29 No.2908

自己解決しました。
データ表を使いました。

データというデータ表を作る
データに{「果物名」,「値段」}という列を加える
データの2列目を取得してそのデータ型を整数に変える
果物リスト={{「みかん」,30},{「りんご」,100},{「なし」,120},{「メロン」,800},{「かき」,80},{「ぶどう」,300}}
データの一覧を果物リストに変える
データを「値段」で並び替えて並替後データとする
果物値段表は、並替後データすべての一覧
果物値段表を表示する

ただ、最後から2行目の「果物値段表は、並替後データすべての一覧」という文章の中の「すべて」が必要なのはどうしてか疑問です。
普通に考えて、これに気が付ける人はいないんじゃないかと思いますが。

表部品でのソートについて

投稿者:KNIGHT 投稿日:2024/02/10(Sat) 14:53:53 No.2907

引き続き御世話になります。
2次配列でのソートができないので、表部品に配列を設定して、ソートしようとしましたが、これも文法エラー(助詞「を」は、この手順呼出し文で使われません。)で実行できません。

データというデータ表を作る
データに{「名前」,「値段」}という列を加える
データへ{名前=「みかん」,値段=30}を加える
データへ{名前=「りんご」,値段=50}を加える
データへ{名前=「なし」,値段=100}を加える
データへ{名前=「めろん」,値段=1000}を加える
データへ{名前=「ぶどう」,値段=120}を加える
表部品1のデータ表をデータに変える
表部品1の2列目を昇順に並べ替える   ←サンプルに記載されていますが エラーが出て実行できません。

https://produ.irelang.jp/docs/data/grid/grid.htm#%E9%99%8D%E9%A0%86%E3%81%AB%E4%B8%A6%E3%81%B9%E6%9B%BF%E3%81%88%E3%82%8B

どうかよろしくお願いいたします。

2次配列のソートについて

投稿者:KNIGHT 投稿日:2024/02/10(Sat) 14:12:19 No.2906

御世話になります。
TTSneoで作成していたプログラムをプロデルに移植しようとしています。
2次配列をソートするにはどうすればよいのでしょうか?
例えば、果物の名前と、その値段が対になっている以下のような2次配列があるとき、
{{みかん、50}、{りんご、80}、{なし、100}、{メロン、1000}、{かき、30}、{ぶどう、120}}

値段の安い順や、値段の安い順に並べなおすにはどうすればよいのでしょうか?
TTSneoでは、「配列の2列目が大きい順に並び直す」などとできたのですが、プロデルではできません。

どうかよろしくお願いします。

エラーを回避する方法

投稿者:アーク 投稿日:2024/01/27(Sat) 22:40:46 No.2905

いつもお世話になっております。アークです。

フォント繋がりでの質問です。
C#が使えないのでPowershellで書きます。

$Location = Get-Location
$file = Join-Path $Location '851tegaki_zatsu_normal_0883.ttf'

$signature = @'
[DllImport("gdi32.dll")]
public static extern int AddFontResource(string lpszFilename);
'@

$type = Add-Type -MemberDefinition $signature `
-Name FontUtils -Namespace AddFontResource `
-Using System.Text -PassThru

$type::AddFontResource($file)

上記スクリプトを実行すると指定フォントがフォントテーブルに追加されます。
フォントファイルはインストールされないので一時的な使用方法です。
フォントテーブルに追加するのでワードパッドやエディタ等で使用可能になります。
これはこれで使い道が有りそうです。

プロデルからも選択はできますが直後にエラーになってしまいます。
エラーを回避して使えるようにする方法が有りますでしょうか。

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

Re^2: 同梱したフォントの使用

投稿者:アーク 投稿日:2024/01/23(Tue) 21:51:55 No.2904

ゆうとさん、ありがとうございます。

行き成り私が考えていた最終形だったので驚きました。
お蔭様で「AddFontFile」の方も解決しました。
やはり未だメソッドとプロパティの区別がついていないようです。
C#のコードではどちらも「.」なので…。
ドットネット型を習得できたら最強です。

Re: 同梱したフォントの使用

投稿者:ゆうと <yutopia あっとまーくutopiat.net> 投稿日:2024/01/23(Tue) 19:56:43 No.2903

こんにちは ゆうとです。

インストールされていないフォントを利用する手段があるようですので
ドットネット型の仕様確認も含めて、サンプルコードを作ってみました。

参考にしてください。

https://produ.irelang.jp/bbs/progbbs/forump.php?mode=viewcode&id=101

Re^2: 素材のポインタを取得したい

投稿者:アーク 投稿日:2024/01/22(Mon) 10:38:43 No.2902

アークです。コメントありがとうございます。

〉もう少し具体的な話が分からないと、これ以上の説明はできないです。
今は「System.Drawing.Text.PrivateFontCollection」を試行錯誤中です。
最終的にはリソースに格納したフォントを「AddMemoryFont」で使用したいと考えています。
先ずは「ドットネット型」の理解を深めないと初期段階で堂々巡りです。

▲ページの先頭へ

- WebForum -