Próbuje stworzyc tablice gdzie bedzie dodawana do tablicy wartosć lini "valLBUY1" jeżeli
wcześniej nie występowała w tablicy. A jeśli już wystąpiła to zmienna " int juz_istnieje=0; Nie moge znaleść tego w necie więc sam kombinuje.
Po punktach to wygląda to tak.
1. valLBUY1 to wartość lini
2. zadeklarowana tablica double a1[];
3. Sprawdzanie czy valLBUY1 już istnieje ( dwa sposoby)
3a
if(( ArrayBsearch(a1, valLBUY1, WHOLE_ARRAY, 0,MODE_ASCEND) != valLBUY1 ) to chyba znaczy że jeśli znaleziono ale różne.
3b przez petle
int wielkość_tablicy = ArraySize(a1);
for(int i = wielkość_tablicy; i >= 0; i--)
{
if (a1==valLBUY1)
{
Comment("Już było");
juz_istnieje=0;
}
else
{
Comment("nie ma");
juz_istnieje=1;
}
4. Jeśli nie znaleziono w tablicy to dodać do tablicy jako ostatni element przez powiększenie tablicy
if (juz_istnieje==1)
{
if (ArrayResize(a1, (wielkość_tablicy+1)) // powiekszenie tablicy o 1
{
Alert ("dodane");
a1[ArraySize(a1)-1]=valLBUY1; // wstawienie w pusty elemęt
}
}
if ( a1[wielkość_tablicy-1]== valLBUY1) Comment(" potwierdzenie dodania"); // sprawdzenie zostało dodane
Wiem że to wydaje sie proste ale jak to zapisać aby nie było błędu.
Prosze o pomoc
- int juz_istnieje=0;
double a1[];
int start()
{
double valLBUY1 = ObjectGet( "linia name", OBJPROP_PRICE1);
int wielkość_tablicy = ArraySize(a1);
for(int i = wielkość_tablicy; i >= 0; i--)
{
if (a1==valLBUY1)
{
Comment("Już było");juz_istnieje=0;
}
else
{
Comment("nie ma"); juz_istnieje=1;
}
}
if (juz_istnieje==1)
{
if (ArrayResize(a1, (wielkość_tablicy+1))
{
wielkość_tablicy = ArraySize(a1);
Alert ("dodane");
a1[ArraySize(a1)-1]=valLBUY1;
}
}
if ( a1[wielkość_tablicy-1]== valLBUY1) Comment("dodane");