Bir arama başlatın (herhangi bir arama, herhangi bir ad) ve aramayı hemen durdurun. Sonuç olarak, dosya türünü seçebileceğiniz bir arama çubuğu görünecektir:
MQL5 bulut koruması ile derleme, internet olmadığında düzenleyiciyi askıda tutuyor gibi görünüyor. İlk olarak, yumuşak bir şekilde askıda kalıyor (yani, düzenleyici diğer eylemler için kullanılabilir, ancak derleme komutu tamamlanmayı bekliyor ve bir zaman aşımı varsa ne kadar bekleneceği açık değil). İptal düğmesine basarsanız, zaten sıkıca kapatılmıştır.
.dll'den MQL4'e bir dize döndürmek istiyorum (MQL5 ile her şey sorunsuz bir şekilde yazılır)
genel olarak, zaten birçok kopyayı kırdım, bu yüzden bilenlere sormak istiyorum: bellekte bir dizi dizi nedir? - dizi dizisi nedir?!
Bir dizi dizisi, bir dizi nesne dizisidir. Bir yerde, geliştiricilerden biri iki alan olduğunu yazdı: bir dizgeye işaretçi ve 32 bit tahsis edilmiş bellek boyutu. Genel olarak, tahmin etmemek için bu tür şeyleri resmi rıhtımlara kaydetmek güzel olurdu.
bellekteki bir dizi dizi nedir? - dizi dizisi nedir?!
ARRAY veri yapısı hakkında. MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Genel olarak, dizi iki bölümden oluşur: açıklama ve veriler, ancak yalnızca verilerden de oluşabilir. Veri - dizi öğeleri için ayrılan bellek. Açıklama - aşağıdaki alanları içeren bir yapı, sıra kaydedilmez:
flags - diziyi tanımlayan bir dizi bayrak: IsDynamic, IsSetAsSerrias, IsIndexBuffer, ... boyut - dizide oluşturulan öğelerin sayısı; kapasite - dizideki ayrılmış öğelerin sayısı; yapıcı işaretçisi - dizi öğeleri için yapıcı işlevine işaretçi; yıkıcı işaretçi - dizi öğeleri için yıkıcı işlevine işaretçi; veri işaretçisi - veri dizisinin başlangıcına işaretçi.
strings_arr_1[]; - bir açıklama ve bir veri dizisinden oluşan dinamik dizi. strings_arr_2[10]; - dizinin türü, dizenin konumuna bağlıdır: yerel değişken olarak kullanılırsa, bir açıklama ve yığın üzerinde sıralı olarak yer alan bir veri dizisinden oluşan statik bir dizidir. bir yapı/sınıfta bir alan olarak kullanılırsa, bu sadece bir veri dizisidir (açıklama kısmı eksiktir).
ARRAY veri yapısı hakkında. Hafızadan anlatıyorum ve MT5 için, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Genel olarak, dizi iki bölümden oluşur: açıklama ve veriler, ancak yalnızca verilerden de oluşabilir. Veri - dizi öğeleri için ayrılan bellek. Açıklama - aşağıdaki alanları içeren bir yapı, sıra kaydedilmez:
flags - diziyi tanımlayan bir dizi bayrak: IsDynamic, IsSetAsSerrias, IsIndexBuffer, ... boyut - dizide oluşturulan öğelerin sayısı; kapasite - dizideki ayrılmış öğelerin sayısı; yapıcı işaretçisi - dizi öğeleri için yapıcı işlevine işaretçi; yıkıcı işaretçi - dizi öğeleri için yıkıcı işlevine işaretçi; veri işaretçisi - veri dizisinin başlangıcına işaretçi.
strings_arr_1[]; - bir açıklama ve bir dizi veriden oluşan dinamik dizi. strings_arr_2[10]; - dizinin türü, dizenin konumuna bağlıdır: yerel değişken olarak kullanılırsa, bir açıklama ve yığın üzerinde sıralı olarak yer alan bir veri dizisinden oluşan statik bir dizidir. bir yapı/sınıfta bir alan olarak kullanılırsa, bu sadece bir veri dizisidir (açıklama kısmı eksiktir).
Teşekkür ederim!
WinAPI'den bazı standart yapıların var olabileceğine dair bir umut vardı, ancak görünüşe göre bu dizelerle olamaz
Not: Daha önce olduğu gibi, dll ile değişimi kurdum, daha önce olduğu gibi, 2 çağrıda - dll'de bir işlem talep ederek ve gerekli tampon boyutunu dize altında döndürerek ve 2. çağrıyı, dizeyi hazırlanan arabelleğe kopyalayarak, tamam, görev yerel, ancak çözümü basitleştireceğime dair bir umut vardı
Vladimir Simakov : Bir dizi dizisi, bir dizi nesne dizisidir. Bir yerde, geliştiricilerden biri iki alan olduğunu yazdı: bir dizgeye işaretçi ve 32 bit tahsis edilmiş bellek boyutu. Genel olarak, tahmin etmemek için bu tür şeyleri resmi rıhtımlara kaydetmek güzel olurdu.
asıl sorun, MQL4 ve 5'in çok farklı programlar olmasıdır))))
.Net'te MQL4'teki dizeler mükemmel bir şekilde ayrıştırılır StringBuilder Class , genel olarak, burada bir dizenin hala bir bellek alanı değil, belirli bir nesne olduğu konusunda haklısınız.
что из себя представляет массив строк в памяти? - что такое массив строк?!
STRING veri yapısı hakkında. MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Dize Açıklama + Veriden oluşur. Açıklama aşağıdaki alanları içerir:
buffer_len - hat için ayrılan tamponun boyutu; unicode_str işaretçisi - Veri yapısındaki unicode_str (offset+8) alanına işaretçi.
Veriler aşağıdaki alanları içerir:
bayraklar - dizeyi açıklayan bir dizi bayrak: statik (0x03)/dinamik (0x01), muhtemelen kodlamalar... len - dize uzunluğu; unicode_str - doğrudan Açıklama'dan unicode_str işaretçisi tarafından gösterilen unicode_str dizesi.
STRING veri yapısı hakkında. MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Dize Açıklama + Veriden oluşur. Açıklama aşağıdaki alanları içerir:
buffer_len - hat için ayrılan tamponun boyutu; unicode_str işaretçisi - Veri yapısındaki unicode_str (offset+8) alanına işaretçi.
Veriler aşağıdaki alanları içerir:
bayraklar - dizeyi açıklayan bir dizi bayrak: statik (0x03)/dinamik (0x01), muhtemelen kodlamalar... len - dize uzunluğu; unicode_str - doğrudan Açıklama'dan unicode_str işaretçisi tarafından gösterilen unicode_str dizesi.
Soru. Bu bir yerde anlatılıyor mu, yoksa kendiniz mi ayırdınız?
Bir arama başlatın (herhangi bir arama, herhangi bir ad) ve aramayı hemen durdurun. Sonuç olarak, dosya türünü seçebileceğiniz bir arama çubuğu görünecektir:
Video dosyalarını bulmak için neye ihtiyacım olduğunu biliyorum. Herşey. Kesinlikle. Ve ne tür ve adları - makinenin onu aramasına izin verin.
makinenin nasıl arama yaptığını hayal etmek zor, ancak DOS'ta nasıl arama yapılır (Win + R tuşlarına basın, cmd yazın), şöyle bir şey:
uzantılar, http://fileext.ru/video ile karşılaşan ilk siteyi google'da arattı, sütunlar olacak şekilde Excel'e, ardından bir not defterine eklendi
yollar ve dosya adlarıyla arama verilerinin yazılacağı son parametre d:\filename.txt
kontrol edildi, çalışıyor .... ama hiçbir şekilde videolu ikili dosyalarım yok)))
.dll'den MQL4'e bir dize döndürmek istiyorum (MQL5 ile her şey sorunsuz yazılır)
genel olarak, zaten birçok kopyayı kırdım, bu yüzden bilenlere sormak istiyorum: bellekte bir dizi dizi nedir? - dizi dizisi nedir?!
.dll'den MQL4'e bir dize döndürmek istiyorum (MQL5 ile her şey sorunsuz bir şekilde yazılır)
genel olarak, zaten birçok kopyayı kırdım, bu yüzden bilenlere sormak istiyorum: bellekte bir dizi dizi nedir? - dizi dizisi nedir?!
bellekteki bir dizi dizi nedir? - dizi dizisi nedir?!
ARRAY veri yapısı hakkında.
MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Genel olarak, dizi iki bölümden oluşur: açıklama ve veriler, ancak yalnızca verilerden de oluşabilir.
string s_arr_1[]; - bir açıklama ve bir veri dizisinden oluşan dinamik dizi.Veri - dizi öğeleri için ayrılan bellek.
Açıklama - aşağıdaki alanları içeren bir yapı, sıra kaydedilmez:
string s_arr_2[10]; - dizinin türü, dizenin konumuna bağlıdır:
yerel değişken olarak kullanılırsa, bir açıklama ve yığın üzerinde sıralı olarak yer alan bir veri dizisinden oluşan statik bir dizidir.
bir yapı/sınıfta bir alan olarak kullanılırsa, bu sadece bir veri dizisidir (açıklama kısmı eksiktir).
ARRAY veri yapısı hakkında.
Hafızadan anlatıyorum ve MT5 için, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Genel olarak, dizi iki bölümden oluşur: açıklama ve veriler, ancak yalnızca verilerden de oluşabilir.
string s_arr_1[]; - bir açıklama ve bir dizi veriden oluşan dinamik dizi.Veri - dizi öğeleri için ayrılan bellek.
Açıklama - aşağıdaki alanları içeren bir yapı, sıra kaydedilmez:
string s_arr_2[10]; - dizinin türü, dizenin konumuna bağlıdır:
yerel değişken olarak kullanılırsa, bir açıklama ve yığın üzerinde sıralı olarak yer alan bir veri dizisinden oluşan statik bir dizidir.
bir yapı/sınıfta bir alan olarak kullanılırsa, bu sadece bir veri dizisidir (açıklama kısmı eksiktir).
Teşekkür ederim!
WinAPI'den bazı standart yapıların var olabileceğine dair bir umut vardı, ancak görünüşe göre bu dizelerle olamaz
Not: Daha önce olduğu gibi, dll ile değişimi kurdum, daha önce olduğu gibi, 2 çağrıda - dll'de bir işlem talep ederek ve gerekli tampon boyutunu dize altında döndürerek ve 2. çağrıyı, dizeyi hazırlanan arabelleğe kopyalayarak, tamam, görev yerel, ancak çözümü basitleştireceğime dair bir umut vardı
Bir dizi dizisi, bir dizi nesne dizisidir. Bir yerde, geliştiricilerden biri iki alan olduğunu yazdı: bir dizgeye işaretçi ve 32 bit tahsis edilmiş bellek boyutu. Genel olarak, tahmin etmemek için bu tür şeyleri resmi rıhtımlara kaydetmek güzel olurdu.
asıl sorun, MQL4 ve 5'in çok farklı programlar olmasıdır))))
.Net'te MQL4'teki dizeler mükemmel bir şekilde ayrıştırılır StringBuilder Class , genel olarak, burada bir dizenin hala bir bellek alanı değil, belirli bir nesne olduğu konusunda haklısınız.
STRING veri yapısı hakkında.
MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Veriler aşağıdaki alanları içerir:Dize Açıklama + Veriden oluşur.
Açıklama aşağıdaki alanları içerir:
STRING veri yapısı hakkında.
MT5 için hafızadan anlatıyorum, fikre göre, aynısı MT4 için de geçerli olmalı, belki bir şeyler yanlış olacak, ama yakın olmalı.
Veriler aşağıdaki alanları içerir:Dize Açıklama + Veriden oluşur.
Açıklama aşağıdaki alanları içerir:
Soru. Bu bir yerde anlatılıyor mu, yoksa kendiniz mi ayırdınız?
.dll'den MQL4'e bir dize döndürmek istiyorum (MQL5 ile her şey sorunsuz bir şekilde yazılır)
genel olarak, zaten birçok kopyayı kırdım, bu yüzden bilenlere sormak istiyorum: bellekte bir dizi dizi nedir? - dizi dizisi nedir?!
Bir dize dizisi yerine yalnızca bir uchar dizisi iletin. Daha kolay.
Örneğin, şu şekilde dönüştürebilirsiniz:
MQL4 ve MQL5 için aynı şekilde çalışır