CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Resource Files

Resource Files

dział ogólny

Resource Files

Nowy postprzez Slynx » poniedziałek, 27 czerwca 2011, 01:24

Szukam jakichś informacji na temat pracy z plikami zasobów, ale nie mogę nic znaleźć. Szukam już od jakiegoś czasu. Znalazłem trochę, ale 90 % dotyczy win32. Może ktoś przybliżyć odczyt i zapis danych w plikach zasobów i/lub wskazać jakieś materiały (na msdn też nie znalazłem :/).
Informacje dotyczące funkcji z klas netowych.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Resource Files

Nowy postprzez Cyfrowy Baron » poniedziałek, 27 czerwca 2011, 09:04

Ja również szukam czegoś co się tyczyłoby plików *.RES. Jeżeli chodzi o pracę z zasobami w plikach *.DLL i *.EXE to opisałem to w serwisie Cyfrowy Baron dział: porady -> API -> Edycja zasobów (modyfikacja, usuwanie, wstawianie). Niestety nie działa to z plikami *.RES i sam jestem bardzo ciekaw jak się można do nich dobrać... :roll:
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Resource Files

Nowy postprzez Slynx » poniedziałek, 27 czerwca 2011, 12:52

Ty masz res, ja mam rc i resx. Poza tym, ja mam na myśli konkretnie korzystanie z klas NET-owych by się do tego dobrać.

Mam coś (w C#)
KOD cpp:     UKRYJ  
public static List<string> GetImageList()
            {
                System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly();
                System.Globalization.CultureInfo culture = Thread.CurrentThread.CurrentCulture;
                string resourceName = asm.GetName().Name + ".g";
                System.Resources.ResourceManager rm = new System.Resources.ResourceManager(resourceName, asm);
                System.Resources.ResourceSet resourceSet = rm.GetResourceSet(culture, true, true);
                List<string> resources = new List<string>();
                foreach (DictionaryEntry resource in resourceSet)
                {
                    resources.Add((string)resource.Key);
                }
                rm.ReleaseAllResources();
                return resources;
            }
 

Jeszcze nie wiem czy działa...

i coś takiego (C++/CLI)
KOD cpp:     UKRYJ  
for each(System::String ^name in System::Reflection::Assembly::GetExecutingAssembly()->GetManifestResourceNames())
{
MessageBox::Show(name);
}
 

Ok, napisałem do pewnego źródła informacji. Zaraz się dowiem jak to się robić powinno (bo mam nadzieję, że w tak dużym programie użyli plików zasobów)
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome

Re: Resource Files

Nowy postprzez Slynx » piątek, 8 lipca 2011, 12:06

KOD cpp:     UKRYJ  
                               
 ResourceManager^ resourceManager = gcnew ResourceManager("namespace.app_resources", GetType()->Assembly);
(Image^)resourceManager->GetObject("delete");
 

gdzie namespace jest kolejnymi przestrzeniami nazw (u mnie jest tylko jedna), app_resources nazwą pliku zasobów (resx), "delete" nazwą obiektu dodanego przez resource editor.
I działa. Szukałem kilka godzin, ale w końcu ostatecznie sam znalazłem i zmusiłem do działania pod C++/CLI :D

Krótko ? Zdecydowanie. Takiego właśnie rozwiązania szukałem.
Avatar użytkownika
Slynx
Mądrosław
Mądrosław
 
Posty: 350
Dołączył(a): piątek, 17 grudnia 2010, 21:59
Podziękował : 11
Otrzymał podziękowań: 0
System operacyjny: Windows 7 32
Kompilator: Visual C++ 2005; Visual C++ 2008; Visual C++ 2010; Visual C# 2010;
Gadu Gadu: 0
    Windows 7Chrome


Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości