17. december 2003 - 15:56Der er
17 kommentarer og 2 løsninger
Resources. Put en fil i mit program
Hey...
Jeg søger noget kode som kan putte en fil(Billed, Dokument o.s.v) ind i mit program også når man vil trakke filen ud igen. Jeg ved at man kan gøre dette med en resource, men kan ikk finde noget kode/guide om dette. Kan nogle hjælpe mig??? Man skal helst kunne gøre det med alle slags fil typer.
Hvis du bruger Visual Studio.NET kan du embedded dem i projektet (tilføj dem til projektet, og vælg i properties at de skal embeddes). Herefter kan de hentes med: System.IO.StreamReader bitmapStream = new System.IO.StreamReader(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("pic1.bmp"));
Men hvis jeg prøver at sætte f.eks et billed ind med flg. kode:
Bitmap picDown = new Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("resprog.69.jpg")); pictureBox1.Image = picDown;
Giver den mig en fejl: ************** Exception Text ************** System.ArgumentException: 'null' is not a valid value for 'stream'. at System.Drawing.Bitmap..ctor(Stream stream) at resprog.Form1.Form1_Load(Object sender, EventArgs e) in c:\documents and settings\stoffer\dokumenter\visual studio projects\resprog\resprog\form1.cs:line 92 at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Kan ikk lige hitte ud af det...
Synes godt om
Slettet bruger
17. december 2003 - 16:20#5
Har fået det med billede til at virke.. taste fejl...
wisen: Har prøvet din kode med teksten filen. Men den kommer med fejl: C:\Documents and Settings\Stoffer\Dokumenter\Visual Studio Projects\miniTro\miniTro\Form1.cs(80): The type or namespace name 'thisAssembly' could not be found (are you missing a using directive or an assembly reference?)
En enklere måde som du måske vil bruge er bare: pictureBox1.Image = new Bitmap(GetType(),"1.jpg");
Tilføj 1.jpg til dit projekt, sæt Compile Action til Embedded Resource. Hvis du vil have billederne i en mappe der hedder 'pics'(evt), skal du bruge "pics.1.jpg"!
Og nu har jeg ikke læst alle indlæg, men jeg poster lige min kode her(du skal stadig tilføje filen til dit projekt og sætte den ene property ordenligt):
Bitmap mitPic = new Bitmap(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream("ditNameSpace.evtMappe.1.jpg")); pictureBox1.Image = mitPic;
Synes godt om
Slettet bruger
17. december 2003 - 17:45#12
Det med billeder har jeg fået tilæ at funke... Nu mangler jeg bare at det til at virke med andre fil formater. Vil gerne(hvis det lave sig gøre) kunne trække filer ud af min exe, som jeg har puttet ind via Compile Action til Embedded Resource. Også skal brugeren/propgrammet vælge hvor de skal gemmes(Dokumenter, Billder og måske musik(MP3, Midi)). Har nogen noget/guide til det?
.. hvis du på din form har en "SaveFileDialog" som hedder "saveFileDialog1" så kan nedenstående snip trække en embedded text fil ud af din assembly og gemme den igen med et navn og en placering som brugeren bestemmer....
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.