問題タブ [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 投票する
1 に答える
168 参照

delphi - TStringList の公開

ここにあるクラスにいくつかのログ機能を実装したいと考えています。基本的に、私の考えは、ログを含むクラス内に TStringList を作成することです。問題なくこれを行うことができますが、私の質問は、含まれているフォームが存在する場合にコントロール (TMemo または TListBox) がコンテンツを動的に表示できるように、クラスの外部に公開する方法です。クラス内のコントロールに直接関連付けることもできますが、クラスをフォーム コード自体から目立たないようにして、この関連付けを行うクラス内にプロシージャを作成したいと考えています。

基本的に、クラスにLogFile: TStringListがある場合、そこに行を追加すると、クラスとは別のフォームから TMemo に表示されるようにするにはどうすればよいですか?

0 投票する
4 に答える
9910 参照

delphi - Delphi TStringList でテキストを分割する高速な方法

TStringList で大量のテキスト操作を行う必要があるアプリがあります。基本的に、区切り文字でテキストを分割する必要があります。たとえば、1000 文字の単一行があり、この区切り文字がこの行で 3 回発生する場合、3 行に分割する必要があります。区切り文字には複数の文字を含めることができます。たとえば、'[test]' のようなタグにすることができます。

このタスクを実行するために 2 つの異なるアプローチで 2 つの関数を作成しましたが、どちらも大量のテキスト (通常は 2 メガバイト以上) では遅くなります。

この目標をより速く達成するにはどうすればよいですか?

ここに両方の​​関数があり、どちらも 2 つのパラメーターを受け取ります。元の tstringlist である「lines」と区切り文字である「q」です。

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

android - XE5 TStringList

Delphi XE5 Professional を使用して Android アプリを開発しています。アプリは、Android 4.1.2 を搭載した Galaxy S3 電話で実行されています。TStringListがどのように機能するのか、おそらくわかりません。これが私が試していることです

私の FireMonkey モバイル フォームには、edt1、edt2、edt3、edt4 という名前の 4 つの TEdit があります。

最初にリストを作成します: TStringList

明らかな構造を持つ [1 2 3 4]。次に、2 番目の項目を削除します。

この手順の後、リストの構造は [1 3 4] になります。次の手順で問題が発生します。ここでは、List から編集内容にデータをコピーしようとしています。つまり、edt1 には List[0] が含まれ、edt2 には List[1] が含まれています...これを行うためのコードは次のとおりです。

この手順の後、List の構造は [1 2 3] になるため、btnDeleteItem 手順で最後の項目が L​​ist Deleted からのものだったように思えます。ここで紹介するリストの構造は、プロシージャ間で Memo1.Lines.Add(List.Text) を使用して取得したものです。

ここで何が起こっているのか、誰にもわかりませんか?

0 投票する
0 に答える
668 参照

delphi - TStringList で、List.Sort を呼び出すが、順序が間違っている

私はラザロで働いています。2 つの TStringList があり、それらを並べ替えた後、画面に表示します。しかし、順番が間違っています。それがどのように間違っていたのかを判断することは不可能です。

これは、TStringList がソートされていない場合のスクリーンショットです。

ここに画像の説明を入力

FMover.AList.Sort と FMover.BList.Sort を呼び出した後、それらを画面に表示します。これは、リストを並べ替えた後のスクリーンショットです。

ここに画像の説明を入力

'.../kam1.in' の前に項目 '.../kam14.in' が表示されていることがわかります。ソート手順が正しく機能していません。

これは、プログラムで使用される手順です。

そしてもう一つ