Pole Image – wczytywanie pliku

0

Cze,
C++ Builder 6, jak wczytać plik do pola Image, jeśli mam wiele takich pól, a nazwa konkretnego zależy od programu i znajduje go zmienna np. NumerPola_str:

NumerPola_str->Picture->LoadFromFile("img\\"+szukana_str+".jpg");

wyskakuje błąd:

E2280 Member identifier expected
0

A ten NumerPola_str to co to jest? Kontrolka typu TImage?

0

to zmienna AnsiString, której nadaje sie wartosc/text w zależności od pola np. P1, P2, P3..itd.
właśnie o to chodzi, że nie ma czegoś takiego jak NumerPola_str wśród kontrolek...:( więc stąd moje pytanie jak to "pokazać" programowi

1

No to jak chcesz do ciągu znaków wczytać obrazek z pliku? Ładuj go do komponentu, skoro tego chcesz.

0

eee... no a nazwa pola, w Properties - Name nie jest ciągiem znaków?
bo przecież tak to powinno wygladać:

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

tyle, że zamiast Name chcę wsadzić zmienną

to działa jeśli tam wstawię Name odpowiedniego Image'u

0

Nie, nie tak to powinno wyglądać. Metoda LoadFromFile ładuje obrazek z pliku do komponentu typu TImage. Ciąg znaków jest jest potrzebny do zlokalizowania pliku, który ma załadować.

Albo konkretnie napisz co chcesz osiągnąć, albo baw się z tym sam – nie mam czasu na zgadywanki.

0

napisane jest jak byk, że chcę wczytać plik do Image'u i mój problem polegania nie na wczytaniu, a na wskazaniu w odpowiedni sposób, do którego komponentu typu TImage chce to zrobić.

P1->Picture->LoadFromFile("img/1.jpg")

to powyższe działa, bo jest taki komponent P1 typu TImage.
a to poniższe już nie działa:

NumerPola_str->Picture->LoadFromFile("img/1.jpg")

boooo, NumerPola_str jest zmienną, która ma nam wskazać do którego komponentu wczytać.
Alzo... Jak mam to zrobić? Bawimy sie razem..;)

0

Może jakbyś swoje posty pisał porządnie, używając znaków interpunkcyjnych i dużych liter, a także układając krótkie i sensowne zdania przekazując w prosty sposób konkretne informacje, to nikt nie miałby problemu z ich zrozumieniem i szybką odpowiedzią.

Jeśli chcesz znaleźć komponent na podstawie jego nazwy trzymanej w zmiennej łańcuchowej, to skorzystaj z metody FindComponent i z rzutowania, a dopiero na końcu wywołaj metodę LoadFromFile na pozyskanej referencji. Częściej korzystaj z dokumentacji dostarczonej wraz ze środowiskiem oraz z wyszukiwarki, niż z forum.

0

Żeby korzystać z dokumentacji, najpierw muszę wiedzieć czego szukać. ok, dzięki, lukne w FindComponent.

0

Żeby wiedzieć czego szukać, trzeba wiedzieć czego się chce, a następnie wpisać wymagania do wyszukiwarki i przeanalizować wyplute propozycje. Potrzebujesz znaleźć kontrolkę na podstawie nazwy, więc wystarczy wpisać w Google frazę c++ builder get component by its name i sprawdzić wyniki.

Ooo, popatrz – pierwszy wynik to link do dokumentacji z opisem metody FindComponent:

google.png

Magic.

0

halo! topic jest na dziale Newbie... magic;) szanuję, że bezinteresownie pomagasz, ale odpuść ten mentorski ton. mogę Cię zapewnić, że nie jest tak, że kiedy tylko coś nie działa w kodzie to przybiegam tu z płaczem. Parę godzin dziennie walczę, na tyle ile mogę. Gdzieś też tutaj przeczytałem coś takiego, że nie ma co wyważać otwartych drzwi, choć z drugiej strony, to szukając/guglując wchodzę do różnych pokojów i wiele rzeczy innych czytam. Kwestia podejścia... Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1