問題タブ [tlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1964 参照

delphi - 山かっこを使用する(TListを使用している人を見たことがあります)。

私は人々が彼らのTリストを次のように宣言しているのを見ます

その後、彼らがそれを作成するとき、彼らはします

したがって、これを行うことで MyList.Items [I]を使用するたびに、次のように型キャストする必要がなくなると思います。

だから代わりに彼らはただするだろう

あれは正しいですか?

もしそうなら、なぜ私はそれをDelphi 2010で動作させることができないのですか?私はまさにそれを試みています-私のリストを次のように宣言します

MyList : TList<PSomeType>;

しかし、コンパイラは次のように述べています。

宣言されていない識別子:TList <>

私はそこで何が間違っているのですか?

0 投票する
8 に答える
67839 参照

delphi - Delphi TList of records

レコードの一時的なリストを保存する必要があり、TListこれを行うには良い方法だと考えていましたか? しかし、私はこれを aTListで行う方法がわからず、これが最善かどうか、また、これを行う方法の例があるかどうか疑問に思っていましたか?

0 投票する
3 に答える
1037 参照

delphi - Delphi 2010: ジェネリック型 TList シナリオを混乱させる? 値または参照で渡しますか?

プロジェクトの途中でジェネリック TList を使用しているときに、数日前に問題が発生しました。簡単なテスト プロジェクトでテストしたところ、同じ問題が発生しました。正確なコードは次のとおりです。

Label1.Caption は10ではなく100になります。なぜこのようになっているのですか?参照渡しではなく値渡しだと思いました!TList.Add(const value)

0 投票する
1 に答える
5191 参照

delphi - タイプ record のレコードを TList<> に追加するにはどうすればよいですか?

データのツリーリストがあります。ツリー リストをループして特定のレコードを照合し、それらをジェネリック TList<> に追加しています。これは、すべてのレコード値が TList 内のすべての項目に追加された最後の値になることを除いて機能します。

ここにいくつかのコードがあります:

次のようにレコードを追加します。

...または次のようにレコードを追加します。

まったく同じ結果になります。AList.Items[0...Count-1] はすべて同じ値です。コードをステップ実行すると、正しいデータがキャプチャされていることがわかりますが、新しいレコードを AList に保存すると、以前のすべてのレコードが同じ値になります。これは、TList 内の各項目がメモリ内の同じレコードへのポインタであることを示しています。レコードが取っているメモリが変更されると、すべての項目が変更されます。これはそれ以来作りますが、私が欲しいものではありません。異なるデータを保持するために TList 内の新しいレコードを割り当てるにはどうすればよいですか?

私は他の方法で最終結果を達成できることを知っており、実際にそうしています。これは、ジェネリックとレコードを使用して、私にとってより教育的なものになりました。Delphi XE を使用しています。

ありがとう

0 投票する
2 に答える
5331 参照

delphi - TListをデータソースとして使用するtcxGrid

TListオブジェクトをcxGridデータソースとしてバインドできるかどうか疑問に思っています。

つまり、私が持っているのは、永続化する必要のないさまざまなオブジェクトを含むTListオブジェクトです。ある種のGridViewを「選択されたアイテム」の概要として機能させ、選択されたアイテムがリスト内のオブジェクトになるようにします。

列は、TListに格納されているオブジェクトタイプによって定義されることが望ましいでしょう。

これは簡単に実行できますか?もしそうなら、これがどのように行われるかについての概要を教えていただけますか。私は現在、一種の列区切り文字としてtabWidthを使用するListBoxを使用していますが、切り替えを希望しています。

0 投票する
3 に答える
10100 参照

delphi - ジェネリック TList を検索する方法コレクション?

重複の可能性:
特定のフィールド値を持つレコードのジェネリック TList を検索するにはどうすればよいですか?

私はのコレクションを持っています

TActivityCategory には文字列型の Name プロパティがあり、Name プロパティを使用して TList を検索したいと考えています。

TList<> に BinarySearch が表示されますが、これには TActivityCategory のインスタンスが必要です。名前の文字列を渡したいだけです。

どうすればこれを行うことができますか?

0 投票する
1 に答える
2585 参照

vim - Vim で NERDTree と Tlist を互いの上に開きます

各プラグインが画面の高さの半分を占めるように、左側の NERDTree と Tlist を (自動的に) 真上に開く方法を探しています。私はすでにこの質問を見つけました.Mohammedの答えは私が探しているものです. しかし、これを行うより直接的な方法があるのではないかと考えています。

0 投票する
6 に答える
1305 参照

delphi - DelphiでTListの先頭からアイテムの大きなブロックを削除する効率的な方法は何ですか?

後続のすべての項目を下に移動する必要があるため、TList からの削除 (0) はコストがかかります。さらに大きなリストの先頭から多数のアイテムを削除する必要がある場合、最も速い方法は何ですか?

0 投票する
1 に答える
1556 参照

delphi - Delphi XE2 TPointerList の使用法

XE2 でいくつかのコンポーネントをコンパイルしようとすると、次の問題が発生します。これらのコンポーネントは XE2 用に準備されていませんでしたが、とにかくコンパイルしようとしています。

コンポーネント内では、次のように宣言されています

使用される場合は、たとえば次のようになります

「ポインタ型が必要です」というコンパイル エラーが発生します。

このように修正できます

しかし、発生したすべてのエラーを修正するのにどれだけの時間が必要かは、神のみぞ知るところです。

これを処理できるコンパイラ ディレクティブまたは設定はありますか。{$X} と {$T} を試しましたが、効果がありませんでした。

XE2 Delphi では、TPointerList (TList.List プロパティ) は動的配列として宣言されています。

誰かが助けることができれば?

0 投票する
2 に答える
1386 参照

delphi - Delphi:TStringListアイテムのインデックスを作成するための整数以外のタイプ

Arraysユーザー定義の列挙型を使用してインデックスを作成できます。例えば:

この配列の要素は、TIndexValue値をインデックスとして使用して参照できます。

これと同じ一般的な機能を。で取得しようとしていTStringListます。

Integer簡単な解決策の1つは、参照時にすべてのインデックス値を型にキャストすることです。

別の解決策(すべてのキャストを非表示にする)は、のサブクラスを作成し、継承されたプロパティTStringListにアクセスするこのサブクラスのサブルーチンへのすべてのキャストを延期することです。Strings

これは、列挙型を使用する単一の実装で正常に機能しますTIndexValue

ただし、可能な列挙型ごとにサブクラスTStringListを定義することなく、この同じロジックまたはサブクラスを、異なる列挙型によってインデックス付けされたいくつかの異なるオブジェクトに再利用したいと思います。TStringList

このようなことは可能ですか?Delphiのジェネリックに依存する必要があるのではないかと思いますが、これを実現するためのより簡単な方法があることを知りたいと思います。