• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

C++ Builder - jak znaleźć Name obiektu Image

Object Storage Arubacloud
0 głosów
156 wizyt
pytanie zadane 15 grudnia 2018 w C i C++ przez k1313 Początkujący (250 p.)

Witam,

próbuję napisać program, gdzie jedna z funkcji przebiega w tablicy po kilkudziesięciu "komórkach". Jeśli napotka spełniony warunek, ma wczytać do obiektu Image (których jest tyle ile komórek w tablicy) określony plik.

Każdy obiekt Image jest ściśle powiązany z komórkami w tablicy np komórka tablicy tablica[0][0] odpowiada obiektowi P1, tablica[0][1] obiektowi P2 itd aż do P81.

pytanie:

jesli warunek jest spełniony np. w komórce tablica[2][1], to w jaki sposób "przekształcić" to w odpowiadającą jej Name obiektu P20? Tak, by zadziałało:

P20->Picture->LoadFromFile("img\\"+szukana_str+".jpg"

oczywiście zamiast P20 chciałbym, by była tam zmienna np. nazwaPola. Z tym, że :

nazwaPola->Picture->LoadFromFile("img\\"+szukana_str+".jpg"

nie działa (Error: nie ma takiego obiektu)

Próbowałem użyć FindComponent, ale źle to zrobiłem i utknąłem.

void znajdzNumerPola (int szukana)
{
    tablica_Na_NumerPola(i, j); // ma zwracac nazwe w  postaci stringu "numerPola_str"
    TComponent *component=Image1->FindComponent(numerPola_str)
    if(component)
    {
        TImage *image = dynamic_cast<TImage *>(component);
        if(image)
        {
            image->Picture->LoadFromFile("img\\"+szukana_str+".jpg")
        }
    }
}

Nie podaję całego kodu, żeby nie zaciemniać sprawy. Jeśli potrzeba jednak więcej informacji, to proszę powiedzieć. 

komentarz 16 grudnia 2018 przez j23 Mędrzec (194,920 p.)

ale źle to zrobiłem i utknąłem.

A to utknięcie na czym polega?

 

Najprościej zrobić tablicę wskaźników do obiektów TImage.

 


TComponent *component=Image1->FindComponent(numerPola_str)

To FindComponent powinieneś wywołać (chyba) na rzecz obiektu, który jest właścicielem szukanych kontrolek.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 736 wizyt
pytanie zadane 8 grudnia 2017 w C i C++ przez maniek358257 Początkujący (290 p.)
+3 głosów
1 odpowiedź 3,553 wizyt
0 głosów
1 odpowiedź 366 wizyt
pytanie zadane 21 stycznia 2016 w C i C++ przez adrianv Nowicjusz (150 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...