Hatalar, hatalar, sorular - sayfa 2732

 
Vladimir Karputov :

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:


Hata... Teşekkürler.
 
Artyom Trishkin :

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:

dir/b/s  *. 3 g2 *. 3 gp *. 3 gp2 *. 3 gpp *. 3 gpp2 *.asf *.asx *.avi *.bin *.dat *.drv *.f4v *.flv *.gtp *.h264 *.m4v *.mkv *.mod *.moov *.mov *.mp4 *.mpeg *.mpg *.mts *.rm *.rmvb *.spl *.srt *.stl *.swf *.ts *.vcd *.vid *.vid *.vid *.vob *.webm *.wm *.wmv *.yuv > d:\filename.txt

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)))

 
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 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?!

 string s_arr_1[];
// эти массивы чем-нибудь отличаются?
string s_arr_2[ 10 ];
 
Igor Makanu :

.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.
 
Igor Makanu :

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.

string s_arr_1[]; - bir açıklama ve bir veri dizisinden oluşan dinamik dizi.
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).
 
Sergey Dzyublik :

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.

string s_arr_1[]; - bir açıklama ve bir dizi veriden oluşan dinamik dizi.
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ı


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.
 
Sergey Dzyublik :

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?

 
Igor Makanu :

.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:

 int StringArrayToCharArray ( string &stringArr[], uchar &c[]) {
   uchar temp[];
   int pos= 0 ;
   for ( int i= 0 ; i< ArraySize (stringArr); i++) {
       ArrayFree (temp);
       StringToCharArray (stringArr[i],temp);
       ArrayCopy (c,temp,pos);
      pos+= ArraySize (temp);
   }
   return pos;
}
//+------------------------------------------------------------------+

int CharArrayToStringArray ( string &stringArr[], uchar &c[]) {
   ArrayFree (stringArr);
   int pos= 0 ;
   int j= 0 ;
   for (; pos< ArraySize (c); j++) {
       ArrayResize (stringArr,j+ 1 );
      stringArr[j]= CharArrayToString (c,pos);
       while (c[pos]!= 0 ) pos++;
      pos++;
   }
   return j;
}

MQL4 ve MQL5 için aynı şekilde çalışır