Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak wgrać zdjęcia do pliku exe Visual 2008

mariuszprus 03 Lut 2010 22:05 1361 5
  • #1 03 Lut 2010 22:05
    mariuszprus
    Poziom 11  

    Napisałem program w którym przedstawiane są zdjęcia. Problem pojawia się w momencie jeśli komus wysyłam sam plik exe. Program nie widzi zdjęć z folderu w którym powinny być . Program piszę w visual 2008 windows form.
    Czy istnieje możliwość wgrania na stałe jakichś dodatkowych plików które są wykorzystywane w programie??

    0 5
  • Pomocny post
    #2 03 Lut 2010 22:47
    PanBo
    Poziom 16  

    Jeśli dobrze rozumiem chcesz mieć zdjęcia zaszyte w pliku exe? Dodaj zdjęcia do projektu, Build Action zmień im na Embedded Resource i ładuj np tak:

    Code:
    pictureBox1.Image = new Bitmap( 
    
       Assembly.GetExecutingAssembly().GetManifestResourceStream(
          "DefaultowyNamespace.NazwaObrazu.jpg") );

    W razie problemów można podejrzeć nazwę resource'a np Reflectorem.

    0
  • #3 03 Lut 2010 23:23
    mariuszprus
    Poziom 11  

    Code:
    switch(number_of_encoder)
    
            {
               case 1:
                 {
                 pictureBox1->Load("./koder_8.jpg");
                 pictureBox2->Load("./koder8.jpg");
                 number_of_encoder=2;
                
                }
                break;
              case 2:
                {
                  pictureBox1->Load("./koder_16.jpg");
                  pictureBox2->Load("./koder16.jpg");
                  number_of_encoder=3;
                  }
                break;
              case 3:
                {
                  pictureBox1->Load("./koder_4.jpg");
                  pictureBox2->Load("./koder4.jpg");
                  number_of_encoder=3;
                }
                break;
              default :;

           }


    Ja robię coś takiego. Po naciśnięciu przycisku zmieniam zdjęcie w głównym oknie programu.które są wczytywane z folderu gdzie jest plik exe. Mogłbyś wstawić w odpowiednie miejsca swoje funkcje które by wgrały te zdjęcia na stałe. czy trzeba to zrobić w innym miejscu programu a jeśli tak to w jaki sposób pozniej je zmieniać. Bede wdzieczny za pomoc pozdrawiam

    0
  • Pomocny post
    #4 04 Lut 2010 12:43
    PanBo
    Poziom 16  

    W projekcie C++ trzeba trochę inaczej. Prawy na nazwie projektu w Solution explorerze->configuration properties->linker->input->
    Embed Managed Resource File. Wpisz tu po średniku nazwy plików do dołączenia

    Code:
    koder_8.jpg;koder8.jpg;koder_16.jpg;koder16.jpg;koder_4.jpg;koder4.jpg

    Dodaj metodę
    Code:
    void LoadPictureFromResources( PictureBox^ pictureBox, String^ pictureName )
    
    {
       pictureBox->Image = gcnew Bitmap(      System::Reflection::Assembly::GetExecutingAssembly()->GetManifestResourceStream(
                   pictureName ) );
    }

    i wywołuj tak:
    Code:
    LoadPictureFromResources(pictureBox1, "koder_16.jpg");

    0
  • #5 04 Lut 2010 15:38
    mariuszprus
    Poziom 11  

    Zrobiłem tak jak mówiłeś ale niestety wywala mi jakiś błąd . gdzie dokładnie muszą sie znajdować te zdjęcia aby mogł je program Aładować

    Error 73 general error c101008d: Failed to write the updated manifest to the resource of file "..\Release\TCM_inzynierka.exe". Odmowa dostpu. mt.exe

    0
  • #6 04 Lut 2010 16:11
    PanBo
    Poziom 16  

    Spróbuj usunąć katalog Release i zbudować jeszcze raz. Może to być też antywirus blokujący dostęp do pliku - testowo wyłącz ochronę.
    Zdjęcia powinny być w katalogu projektu, tam gdzie źródła (jeśli w opcjach linkera wpisałeś same nazwy plików bez ścieżki).

    0