OBJ_TEXT nesnesinde metni birden çok satırda görüntülemek mümkün mü? - sayfa 6

 
Реter Konow :
ResourceReadImage kullanarak bir kaynaktan veri okuyabilirsiniz, ancak bunu yapmak için ResourceCreate kullanarak oraya yazmanız gerekir. ResourceCreate işlevi yalnızca uint türünde bir veri dizisini kabul eder ve farklı türde bir veri dizisi yazmamız gerekirse, union kullanmamız gerekir. İçinde farklı türlerde birkaç dizi bildirin. Bundan sonra, dizeler dahil olmak üzere herhangi bir veriyi kaynakta saklayabiliriz. Bir dizgiyi char tipine dönüştürmek için StringToCharArray kullanın ve tam tersi - CharArrayToString. Bu nedenle, mesele tuvalde değil, birleşimler kullanılarak her türlü verinin yazılabileceği bir kaynakta.

Cevap verdiğiniz için teşekkürler. Bu benim için bir asrın bilmecesi birlik. Sakıncası yoksa, bu konuda daha fazla ayrıntı.

Kaynak, uint verilerinden ResourceCreate kullanılarak oluşturuldu, ancak kaynağın okunması herhangi bir sonuç vermedi. Ve aşağıdaki görüşleri okursanız, bu fikirden neden vazgeçtiğimi anlayacaksınız ama bana umut verdiniz.

 
Alexey Viktorov :

Cevap verdiğiniz için teşekkürler. Bu benim için bir asrın bilmecesi birlik. Sakıncası yoksa, bu konuda daha fazla ayrıntı.

Kaynak, uint verilerinden ResourceCreate kullanılarak oluşturuldu, ancak kaynağın okunması herhangi bir sonuç vermedi. Ve aşağıdaki görüşleri okursanız, bu fikirden neden vazgeçtiğimi anlayacaksınız ama bana umut verdiniz.

Peter tamamen farklı bir şeyden bahsediyor :). O kendi başına. Kaynaklar aracılığıyla danışmanlar arasında veri alışverişinin nasıl mümkün olduğuna dair bir diyagram çizdi.

Bunun, Canvas'tan bir yazıyı tanıma görevinizle hiçbir ilgisi yok ...

 
Andrey Barinov :

Peter tamamen farklı bir şeyden bahsediyor :). O kendi başına. Kaynaklar aracılığıyla danışmanlar arasında veri alışverişinin nasıl mümkün olduğuna dair bir diyagram çizdi.

Bunun, Canvas'tan bir yazıyı tanıma görevinizle hiçbir ilgisi yok ...

Soruyu tam olarak doğru formüle etmediğim gerçeğini dışlamıyorum.

Bir kaynak oluşturursam , o zaman kaydedilir veya onu kaydedilmeye zorlayabilirsiniz. Ve sonra oku. İlk soruda söylendiği gibi kaynağı tam olarak okuyun.

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

OBJ_TEXT nesnesinde metni birden çok satırda görüntülemek mümkün mü?

Alexey Viktorov , 2019.08.05 09:30

Yeni soru: Kanvastaki kaynaktaki metni okumak mümkün müdür ?

Örneğin bu satırlar veya bunlardan herhangi biri.

Amaç: Kanvas yardımı ile tarih içeren bir dize var. İşte tarih ve okunması arzu edilir.

Veya eski kanıtlanmış yöntemlerden birini, GV, dosya, grafik veya başka bir şey uygulayın.


 
Alexey Viktorov :

Soruyu tam olarak doğru formüle etmediğim gerçeğini dışlamıyorum.

Bir kaynak oluşturursam , o zaman kaydedilir veya onu kaydedilmeye zorlayabilirsiniz. Ve sonra oku. İlk soruda söylendiği gibi kaynağı tam olarak okuyun.


İşte burada:

 
Andrey Barinov :

İşte burada:


Andrey, ama bu farkedilmeden gitmedi

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

OBJ_TEXT nesnesinde metni birden çok satırda görüntülemek mümkün mü?

Alexey Viktorov , 2019.08.06 13:19

Buldum ama hiçbir şey alamadım. Bir diziyi dizgeye çevirmeye çalıştım ama dizi türleri uyuşmuyor. Ne kadar bükülmüş nikrom çalışmaz. Belki yanlış bir şey yapıyorum. ama henüz yeni bir fikir yok.


Ve sonra hiçbir şey teklif etmedin.
 
Alexey Viktorov :

Cevap verdiğiniz için teşekkürler. Bu benim için bir asrın bilmecesi birlik. Sakıncası yoksa, bu konuda daha fazla ayrıntı.

Kaynak, uint verilerinden ResourceCreate kullanılarak oluşturuldu, ancak kaynağın okunması herhangi bir sonuç vermedi. Ve aşağıdaki görüşleri okursanız, bu fikirden neden vazgeçtiğimi anlayacaksınız ama bana umut verdiniz.

Tamam, daha spesifik olmaya çalışacağım.

1. Bir birlik ilan edin.

2. Birliğin içinde, farklı türlerde birkaç dizi bildirirsiniz.

Örneğin:

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


3. Bir dize yazmak için char_Send dizisine ihtiyacımız var.

4. Bir diziyi okumak için char_Read dizisine ihtiyacımız var.

5. Diyelim ki "aalksdjghalkfhaerlkvhelvkjhalekhavk" dizgemiz var ve onu bir kaynağa yazmak istiyoruz. Biz bunu yaparız:

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

Bundan sonra dizimiz Char_Send dizisinde.

6. Dizenin kaynakta olması için, uint_Send dizisini ResourceCreate() işlevinde saklamamız gerekir;

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

7. Char_Send'e bir string yazarak onu char tipine çevirdiğimizi ve stringin otomatik olarak uint tipinde olacağını anlamak önemlidir. Sendikaların özü budur. Char_Send'e bir dize yazarsanız, zaten Uint_Send'de olacaktır. Sadece ResourceCreate() ile kaydedin;

8. Bir kaynaktan bir dize almak için ResourceReadImage() işlevini kullanın; Kaynağın adını belirtin ve uint_Read dizisini ona iletin.

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

9. Bundan sonra, uint_Read dizisinde sunulan dize zaten char_Read dizisinde olacak (yeniden yazmadan) ve onu CharArrayToString() işlevini kullanarak char_Read'den çıkaracaksınız.


Vay canına, her şey görünüyor...))

 
Реter Konow :

Tamam, daha spesifik olmaya çalışacağım.


Vay canına, her şey görünüyor...))

Teşekkürler Peter, işe yaradı. Yalnızca, bir kaynak oluştururken COLOR_FORMAT_XRGB_NOALPHA kullanırsanız, resmin aynı değil, hafifçe söylemek gerekirse elde edildiğini belirtmekte fayda var. Ve COLOR_FORMAT_ARGB_NORMALIZE kullanırsanız, resim güzel ama krakozyabry okunuyor. Muhtemelen kod sayfasıyla deneme yapmak gerekir. Belki bir şeyler işe yarar...

 
Alexey Viktorov :

Teşekkürler Peter, işe yaradı. Yalnızca, bir kaynak oluştururken COLOR_FORMAT_XRGB_NOALPHA kullanırsanız, resmin aynı değil, hafifçe söylemek gerekirse elde edildiğini belirtmekte fayda var. Ve COLOR_FORMAT_ARGB_NORMALIZE kullanırsanız, resim güzel ama krakozyabry okunuyor. Muhtemelen kod sayfasıyla deneme yapmak gerekir. Belki bir şeyler işe yarar...

Kaynağın bir görüntüyü depolamak için kullanılması gerekiyorsa, üç renk işleme seçeneği vardır - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_ROW. Ancak, kaynağın veri depolaması gerekiyorsa, renk işleme uygun olmadığından COLOR_FORMAT_XRGB_NOALPHA seçeneği kullanılmalıdır.
 
Реter Konow :
Kaynağın bir görüntüyü depolamak için kullanılması gerekiyorsa, üç renk işleme seçeneği vardır - COLOR_FORMAT_XRGB_NOALPHA, COLOR_FORMAT_ARGB_NORMALIZE, COLOR_FORMAT_ARGB_RAW. Ancak, kaynağın veri depolaması gerekiyorsa, renk işleme uygun olmadığından COLOR_FORMAT_XRGB_NOALPHA seçeneği kullanılmalıdır.

Her şey açık, teşekkürler. Resim ve veri aktarımı için iki farklı kaynak yapmanız gerekeceği ortaya çıktı.

 
Alexey Viktorov :

Her şey açık, teşekkürler. Resim ve veri aktarımı için iki farklı kaynak yapmanız gerekeceği ortaya çıktı.

Kesinlikle.
Neden: