問題タブ [tstringlist]

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 投票する
4 に答える
22312 参照

string - TStringListから文字列を削除します

リストボックスまたはアイテムを含むリストビューがあります。そして、リストボックス/リストビューと同じアイテム(文字列)を持つ文字列リストがあります。リストボックス/リストビューで選択したすべてのアイテムを文字列リストから削除したい。

実行する方法?

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

c# - c# - ワイルドカードを使用した BinarySearch StringList

ソートされた StringList があり、置き換えたい

cardList はかなり大きく (~18k)、この検索は時間の約 80% を占めるため、binarySearch を使用します。

だから私は List.BinarySearch-Methode を見つけましたが、私の問題は cardList の行が次のようになっていることです:

しかし、私は c1p... を生成する方法がありません。これは List.BinarySearch が正確な一致しか見つけられない原因となる問題です。

文字列の一部のみが一致する場合に一致を見つけるように List.BinarySearch を変更するにはどうすればよいですか?

たとえば、Brindle_Boar_(Magic_2012) を検索すると、Brindle_Boar_(Magic_2012).c1p247924.prod の位置が返されます。

0 投票する
5 に答える
5243 参照

delphi - デバッガで TStringList の内容を表示するにはどうすればよいですか?

アプリケーションのデバッグ中に TStringList の内容全体を表示したいと考えています。代わりに、ポインタを取得するだけです。Flist はアドレスのみを表示しています。

0 投票する
10 に答える
4900 参照

delphi - DelphiXEで大量のメモリを使用するオブジェクトのTStringList

私はシミュレーションプログラムに取り組んでいます。

プログラムが最初に行うことの1つは、巨大なファイル(28 mb、約79,000行)を読み取り、各行(約150フィールド)を解析し、オブジェクトのクラスを作成して、TStringListに追加することです。

また、実行中にオブジェクトを追加する別のファイルを読み込みます。最終的には、約85,000個のオブジェクトになります。

私はDelphi2007を使用していて、プログラムは大量のメモリを使用していましたが、問題なく動作しました。Delphi XEにアップグレードし、プログラムを移行したところ、より多くのメモリを使用しているため、実行の途中でメモリが不足してしまいます。

したがって、Delphi 2007では、最初のファイルを読み込んだ後、1​​.4ギガを使用することになります。これは明らかに膨大な量ですが、XEでは、ほぼ1.8ギガを使用することになります。これは非常に大きく、不足して取得することになります。エラー

だから私の質問は

  1. なぜそんなに多くのメモリを使用しているのですか?
  2. XEで2007よりもはるかに多くのメモリを使用しているのはなぜですか?
  3. これについて私は何ができますか?ファイルの大きさや長さを変更することはできません。行ごとにオブジェクトを作成して、どこかに保存する必要があります。

ありがとう

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

algorithm - 2つの文字列リストの等しい行を同期する方法

同期したい2つの文字列リストがあるので、等しい行は同じインデックスを取得しますが、異なる行は元の場所のリストに保持され、他の文字列リストはそのインデックスの「フィラー」を取得する必要があります。この例を考えてみましょう。

手順はリストをこれに変更する必要があります

または、リストが並べ替えられている場合は、これに

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

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

delphi - Delphi StringList オブジェクトが作成されているかどうかを識別する方法

private セクションで TStringList の変数を宣言しました。ボタン クリック イベントで、その TStringList オブジェクトにアクセスしたいと考えています。

新しく作成され、メモリがその変数に割り当てられるたびに、そのボタンをクリックするたびに。その変数に対してオブジェクトが作成されているかどうかを判断できるプロパティ/関数はありますか?アクセス違反エラーも発生しませんか?

0 投票する
5 に答える
4813 参照

delphi - TStringListローカル変数がnilに初期化されていません-なぜですか?

私はこのコードを使用して、TStringListが作成されているかどうかを確認しています。

しかし、条件はFalse常にあります、なぜそれが起こるのですか?TStringListオブジェクトが作成されているかどうかを確認するにはどうすればよいですか?

追伸私は同様の質問を知っています、私はその質問に投稿された解決策を試しましたが、それは私にとってはうまくいきません。

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

delphi - 古いバージョンから最新バージョンへのTStringListバックアップの互換性

TStringListを使用するバックアップシステムがありますが、古いDelphi(Ansi文字列)でコーディングしています。

基本的に私は保存するときにこれを持っています:

そして私がリロードするとき:

このシーケンシャル(サイズ+データサイズバイト、次にサイズ+データサイズバイトなど)システムをさまざまなコンポーネントのバックアップに使用します。実際、一部のものは、stringlistバックアップの前に常に「読み取り元」または「書き込み先」になります(つまり、StringListバックアップの前後にいくつかのデータがあります)。

ここで大きな問題を紹介していますか(最新のDelphiバージョンに切り替える場合)?チャンクは、将来のdelphiバージョンでもキャスト可能ですか(切り替えた場合)。バックアップヘッダーに文字列バージョンを書き込む必要がありますか?

残念ながら、これをテストすることはできません。少なくともヘッダーに文字列エンコーディングタイプを記述すれば、Delphiのバージョンが何であれ、後で正しい方法でキャストできるようになると思いますね。

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

c++ - stringList コンテナーの反復中にエラーが発生しました..?

「m_itFileBuffer」文字列リスト コンテナーを反復処理しているときに、イテレーターから値をフェッチしているときに例外が発生します。このコード行は、ほとんどの場合は機能しますが、例外が発生するのは一部の時間だけです。私のコードでは、「m_itFileBuffer」イテレーターを設定しています。異なる値に。コードの一部を以下に示します

以下は、出力ウィンドウに表示される例外です。

助けてください、なぜこの例外が発生するのですか? また、イテレータをリセットするにはどうすればよいですか?