Avatar billede trenskow Nybegynder
16. oktober 2005 - 01:15 Der er 3 kommentarer og
1 løsning

Gemme i resource file, runtime

Hejsa

Sidder og prøver at forstå de her resource files, og leger lidt med det i den anledning... men jeg kan ikke få den til at gemme runtime.

Jeg har eksemplerne fra Troelsen, "Pro C# 2005 and the .NET 2.0 Platform"

ResourceWriter rw = new ResourceWriter("PropRes.resources");
            rw.AddResource("email", "mail@domæne.dk");
            rw.Generate();
            rw.Close();

            Console.WriteLine("**** READING FROM RESX ****");
            ResourceManager rm = new ResourceManager("MailWatcher.PropRes",Assembly.GetExecutingAssembly());
            MessageBox.Show( rm.GetString("email"));

Problemet er bare, at min messagebox viser ingenting... jeg har testet lidt, og ved at rm.GetString("email") virker...

Hvordan får jeg den til at gemme min info?
Avatar billede arne_v Ekspert
16. oktober 2005 - 08:16 #1
er du sikker på at filnavnene er rigtige ?

har du checket indhold af de 2 filer ?
Avatar billede trenskow Nybegynder
16. oktober 2005 - 11:55 #2
Jeg er sikker på at "MailWatcher.PropRes" er rigtig, for indtaster jeg noget manuelt i email stringen, så bliver det rigtigt skrevet ud i messagebox.

Det er nok mere skriveren der er noget galt med, men hvad kan jeg ikke lige finde ud af.
Jeg har taget Troelsen's eksempel meget slavisk, og næste kun ændret filnavnet. Jeg har lavet en PropRes.resx i mit projekt, og så vidt jeg kan forstå, så skal jeg skrive PropRes.resources for at få lov ti lat skrive i den.
Avatar billede trenskow Nybegynder
17. oktober 2005 - 00:02 #3
Ok.. jeg sidder her og kan stadig ikke få det til at virke.

Her er eksemplet fra MSDN

C#

using System;
using System.Resources;


public class WriteResources {
  public static void Main(string[] args) {
     
      // Creates a resource writer.
      IResourceWriter writer = new ResourceWriter("myResources.resources");
   
      // Adds resources to the resource writer.
      writer.AddResource("String 1", "First String");

      writer.AddResource("String 2", "Second String");

      writer.AddResource("String 3", "Third String");

      // Writes the resources to the file or stream, and closes it.
      writer.Close();
  }
}
-----------------------------------------------------------------------------------

Her er så min kode

using System;
using System.Collections.Generic;
using System.Text;
using System.Resources;
using System.Reflection;

namespace SharedResources
{
    public class PropRes
    {
        public PropRes()
        {
            SetRessources();
        }

        public static void SetRessources()
        {
            IResourceWriter rw = new ResourceWriter("PropertiesRes.resources");
            rw.AddResource("email", "mail@domæne.dk");
            rw.Close();

            /*
            * og her forsøger jeg så at læse fra samme fil,
            * for at se om der er skrevet til filen
            */
            Console.WriteLine("**** READING FROM RESX ****");
            ResourceManager rm = new ResourceManager("SharedResources.PropertiesRes", Assembly.GetExecutingAssembly());
            Console.WriteLine(rm.GetString("email"));
        }
    }
}
-------------------------------------------------------------------------------------
Avatar billede trenskow Nybegynder
21. august 2011 - 23:58 #4
Lukket af mig selv
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester