OBJ_TEXTオブジェクトでテキストを複数行に出力することは可能ですか? - ページ 6

 
Реter Konow:
ResourceReadImageを使ってリソースからデータを読み取ることができますが、そのためにはResourceCreateを使ってそこにデータを書き込まなければなりません。ResourceCreate関数はuintデータの配列しか受け付けないので、他のデータ型の配列を書く必要がある場合は、unionを使う必要があります。その中に型の異なる複数の配列を宣言する。その後、文字列を含む任意のデータをリソースに格納することができる。文字列をchar型に変換する場合はStringToCharArrayを、その逆はCharArrayToStringを使用します。つまり、カンヴァスのことではなく、ユニオンの助けを借りてあらゆるデータを書き込むことができるリソースのことなのです。

ご回答ありがとうございました。それこそ私にとっての世紀のミステリーです。差し支えなければ、もっと詳しく教えてください。

uintデータからResourceCreateでリソースを作成したが、リソースを読んでも結果が出ない。そして、以下の意見を読んでいただければ、私がなぜあきらめたのかがわかると思いますが、希望を与えてくれたのです。

 
Alexey Viktorov:

ご回答ありがとうございました。それこそ私にとっての世紀のミステリーです。差し支えなければ、もっと詳しく教えてください。

リソースはuintデータからResourceCreateで作成しますが、リソースの読み込みがうまくいきませんでした。そして、以下の意見を読んでいただければ、私がなぜあきらめたのかがわかると思いますが、希望を与えてくれたのです。

それはピーターが言っているのではない :) 。彼は自分の波長に合っているんです。EA間でリソースを介したデータのやり取り ができる仕組みの概要を説明した。

キャンバスの刻印を認識する作業とは関係ないのですが...。

 
Andrey Barinov:

それはピーターが言っているのではない :) 。彼は自分の波長に合っているんです。EA間でリソースを介してデータをやり取りする仕組みの概要を説明した。

カンヴァスの碑文を見分けるというあなたの課題とは何の関係もないのですが...。

質問の表現が適切でなかったという可能性は否定できませんが。

リソースを作れば 保存されるし、強制保存もできる。そして、読んでみてください。最初の質問にあるように、リソースを正確に読むことです。

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

OBJ_TEXTオブジェクトで、テキストを複数行に分けて出力することは可能でしょうか?

アレクセイ・ビクトロフ 2019.08.05 09:30

新しい質問:キャンバスにあるリソースからテキストを読み取る ことはできますか?

例えばこのようなセリフ、あるいはそのいずれかを。

目的:カンヴァスには日付の入った行があります。読みたいのはこの日付です。

または、GV、ファイル、グラフィックなど、昔から試されてきた方法のいずれかを使用します。


 
Alexey Viktorov:

質問の言い方が悪かったということも否定はしませんが。

リソースを作れば 保存されるし、強制的に保存することもできる。そして、読んでみてください。最初の質問で言われたように、リソースを正確に読むこと。


さて、ここからが本題です。

 
Andrey Barinov:

さて、これでよしとしましょう。


アンドレイ、しかし、それは私が気づかなかったわけではありません。

トレーディング、自動売買システム、ストラテジーテスティングに関するフォーラム

OBJ_TEXTオブジェクトのテキストを複数行に分けて出力することは可能でしょうか?

アレクセイ・ビクトロフ, 2019.08.06 13:19

見つけてはみたものの、何も効果がない。配列を文字列に変換しようとしたが、配列の型が一致しない。どうすればいいのかわからない。何か間違っているのかもしれないが、新しいアイデアはまだない。


そして、それ以上何も提示しなかった。
 
Alexey Viktorov:

ご回答ありがとうございました。それこそ私にとっての世紀のミステリーです。よろしければ、もう少し詳しく教えてください。

uintデータからResourceCreateでリソースを作成したが、リソースの読み込みに失敗した。そして、以下の意見を読んでいただければ、私がなぜあきらめたのか、でも希望を与えてくれたのかがわかると思います。

わかりました、もう少し詳しく説明します。

1.組合結成を宣言する。

2.ユニオンの内部では、異なる型の複数の配列を宣言します。

例えば、こんな感じです。

//--------------------------------------------------------------------
union SEND{uchar char_Send[32000]; uint uint_Send[8000];};
union READ{uchar char_Read[32000]; uint uint_Read[8000];};
//--------------------------------------------------------------------


3.文字列を書き込むには、char_Send配列が必要です。

4.文字列を読み込むには、配列char_Readが必要です。

5.例えば、"aalksdjghalkfhaerlkvhelvkjhalekhavk "という文字列があり、それをリソースに書き込むとする。私たちはこうしています。

int q = StringToCharArray("aalksdjghalkfhaerlkvkhelvkjhalekhavk",send.Char_Send);

その後、私たちの文字列はChar_Send配列に入ります。

6.リソースに文字列を入れるには、ResourceCreate()でuint_Send配列を保存する必要があります。

ResourceCreate("::Имя_ресурса",send.uint_Send,8000,1,0,0,0,COLOR_FORMAT_XRGB_NOALPHA);

7.Char_Sendに文字列を書くことで、char型に変換したことになり、自動的にuint型に文字列が表示されることを理解することが重要です。これが労働組合の本質なのです。Char_Send に文字列を書き込むと、すでに Uint_Send に入っていることになります。ResourceCreate()で保存するだけです。

8.リソースから文字列を取り出すには、ResourceReadImage() を使用する。リソース名を指定し、uint_Read 配列を渡す。

ResourceReadImage("::Имя_ресурса",read.uint_Read,width,height);

9.その後、uint_Read で提示された文字列は、すでに char_Read 配列に (上書きされずに) 入っているので、CharArrayToString() で char_Read から取り出すことができるようになります。


ふぅ、これでいいのかな...)

 
Реter Konow:

わかりました、もう少し具体的に説明します。


ふぅ、これでいいのかな...)

ピーターさん、ありがとうございます。ただ、 リソース作成 時にCOLOR_FORMAT_XRGB_NOALPHAを使用すると、控えめに言っても絵柄が違ってくるので注意が必要です。COLOR_FORMAT_ARGB_NORMALIZEを使用すると、画像はきれいですが、複数の記号が含まれています。 コードページで実験してみようかな。もしかしたら、うまくいくかもしれない...。

 
Alexey Viktorov:

ピーターさん、ありがとうございます。ただ、 リソース作成 時にCOLOR_FORMAT_XRGB_NOALPHAを使用すると、控えめに言っても絵柄が違ってくるので注意が必要です。COLOR_FORMAT_ARGB_NORMALIZEを使用すると、画像はきれいですが、複数の記号が含まれています。コードページで実験してみようかな。もしかしたら、うまくいくかもしれない...。

リソースが画像を格納することになっている場合、色処理のための3つのオプションがあります - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_ROW。しかし、リソースがデータを保存するものである場合、色処理は不適切であるため、COLOR_FORMAT_XRGB_NOALPHAオプションを使用する必要があります。
 
Реter Konow:
リソースが画像を保存することになっている場合、色処理のための3つのオプションがあります - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_RAW.しかし、リソースがデータを保存するものである場合、色処理は適切ではないので、COLOR_FORMAT_XRGB_NOALPHAオプションを使用する必要があります。

了解です、ありがとうございます。画像とデータの転送のために、2種類のリソースを作らなければならないことがわかりました。

 
Alexey Viktorov:

なるほど、ありがとうございます。画像用とデータ転送用の2種類のリソースを作らなければならないことがわかりました。

もちろんです。