Avatar billede swamboo Seniormester
02. februar 2008 - 22:38 Der er 5 kommentarer og
1 løsning

Gem txt-fil

Hejsa.

Jeg syntes det burde være så enkelt - men det virker ikk...

Jeg skal bare gemme en fil i txt format.

Jeg forsøgte med:

        {
            string fileName = @"Edit_print_control.txt";
            string Text_at_gemme="OK - så er vi i gang!";
            try
            {
                if (!System.IO.Directory.Exists(Application.StartupPath + "\\Printcontrol"))
                {
                    System.IO.Directory.CreateDirectory(Application.StartupPath+"\\Printcontrol");
                }
            }
            catch
            {
                Console.WriteLine("FEJL!");
            }
            if (fileName != null && fileName != "" /*&& File.Exists(fileName)*/)
            {
                using (StreamWriter sr = new StreamWriter(fileName))
                {
                    sr.Write(teksten);

                }
            }

Hvad gør jeg forkert?

PS!
hvis du syntes det ligner kode til en PDA har du ret, for jeg plejer at programere til PDA, men denne kode skulle gerne fungere på en alm. pc.
Avatar billede arne_v Ekspert
02. februar 2008 - 22:50 #1
Hvad sker der ? Compile fejl ? Runtime exception ?
Avatar billede nielle Nybegynder
02. februar 2008 - 22:51 #2
Hvad får u da af fejl?

Kan dog se et par fejl:

1) Dit filnavn er inne et absolut navn. Det har derfor intet at gøre med det bibliotek du opretter.

2) Din tekst variavel hedder Text_at_gemme men du forsøger at gemme "teksten" som ikke er defiberet noget sted?
Avatar billede swamboo Seniormester
02. februar 2008 - 22:53 #3
OK - jeg sku bare skrive:

                using (System.IO.StreamWriter sr = new System.IO.StreamWriter(fileName))
Avatar billede swamboo Seniormester
02. februar 2008 - 22:54 #4
Nu virker det efter hensigten.
Tak for jeres deltagelse. Jeg skal nok være mere informativ ang. fejlkoder næste gang - kan godt se der ikke var meget at gå efter her - beklager.

<<LUKKER>>
Avatar billede nielle Nybegynder
02. februar 2008 - 22:59 #5
Hvorfor smider du ikke et par using's i toppen af din kode? Så bliver det nget lettere at læse den.

Et par ændringer til dit oprindelige oplæg:

{
    string dirName = System.IO.Path.Combine(Application.StartupPath, @"\Printcontrol");
    string fileName = @"Edit_print_control.txt";

    string Text_at_gemme = "OK - så er vi i gang!";

    try
    {
        if (!System.IO.Directory.Exists(dirName))
            System.IO.Directory.CreateDirectory(dirName);

        fileName = System.IO.Path.Combine(dirName, fileName);
    }
    catch
    {
        Console.WriteLine("FEJL!");
    }

    fileName = System.IO.Path.Combine(dirName, fileName);

    if (fileName != null && fileName != "" /*&& File.Exists(fileName)*/)
    {
        using (System.IO.StreamWriter sr = new System.IO.StreamWriter(fileName))
        {
            sr.Write(Text_at_gemme);
        }
    }
Avatar billede swamboo Seniormester
02. februar 2008 - 23:15 #6
Hej Nielle.

Jeg havde slet ikke tænkt mig at det skal skrives sådan som det står i min kode - det var bare for at prøve at få det til at fungere - jeg er ret ny i at gemme filer... Men tak for din ide - den vil jeg huske!
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