Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 08:41 Der er 15 kommentarer og
1 løsning

file.delete() problemer (flytte program)

Hey

er i fuld gang med at lave et program der skal flytte, kopirer eller slette filer, jeg har lavet flyt og kopier, men slet driller lidt.

eks. på flyt:

if (radioflyt.Checked == true)
                    {
                        file.MoveTo(textBox3.Text + file_name);
                        textBox4.Text += "Fil: " + file_name + " Er blevet flyttet til: " + textBox3.Text;
                    }
                    else
                    {
                        //ingen ting                       
                    }


Slet:

                    if (radioslet.Checked == true)
                    {
                        file.Delete(textBox2.Text + file_name);
                        textBox4.Text += "Fil: " + file_name + " Er blevet flyttet til: " + textBox3.Text;
                    }
                    else
                    {
                        //ingen ting
                    }


Fejlen:

Error    1    No overload for method 'Delete' takes '1'
Avatar billede lasserasch Juniormester
27. september 2007 - 09:04 #1
du har det forkerte antal parametre angivet når du kalder metoden "file.Delete"

Hvad er file en instans af?

/Lasse
Avatar billede nielle Nybegynder
27. september 2007 - 09:04 #2
Hvor er din file defineret? Er det et FileInfo objekt eller er det i virkeligheden klassen File du ønsker at bruge?
Avatar billede mikkelbm Nybegynder
27. september 2007 - 09:04 #3
Jeg går ud fra at din 'file' er af typen FileInfo?

I så fald tager delete-metoden ingen parametre:

file.Delete();
Avatar billede nielle Nybegynder
27. september 2007 - 09:05 #4
Forresten: Tage et kig på Path.Combine() metoden - den er at foretrække fremfor at danne de fulde filnavne ved at addere dem sammen.
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 09:14 #5
Hej igen,

Koden ser sådan her ud:



DirectoryInfo dir = new DirectoryInfo(textBox2.Text);

                foreach (FileInfo file in dir.GetFiles())
                {
                    string file_name = file.Name;

                    if (radiokopier.Checked == true)
                    {
                        file.CopyTo(textBox3.Text + file_name, true);
                        textBox4.Text += "Fil: " + file_name + " Er blevet flyttet til: " + textBox3.Text + "\n";
                    }
                    else
                    {
                        //ingen ting
                    }



Stien til filen får man vha. en "gennemse" knap, samme gælder hvor filen skal hen:

        {
            folderdialog.ShowDialog();
            textBox3.Text = folderdialog.SelectedPath + "\\";
        }



Håber det gav lidt svar, har programmeret C# i 2½ uge.. for godt 1 år siden
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 09:17 #6
Et billed af "interfacet"

http://peecee.dk/?id=70020

Den store blok er textbox4
fra gennemse er textbox2
til gennemse er textbox3
Avatar billede nielle Nybegynder
27. september 2007 - 09:25 #7
Jeg vil egentlig fraråde at du kalder dem for "file" da det kan forveklses med klassen som hedder "File".

Men derudover er det altså:

file.Delete();

uden nogen argimenter.
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 09:28 #8
#Nielle

Det er selfølgeligt, men kan ikke helt se hvordan det virker uden argumenter:S

Jeg er jo nød til at angive hvad det er den skal slette, som jeg angiver hvor det er den skal flytte/kopier fra i de 2 andre jeg har lavet.

Jeg er ikke lige så vild til C# endnu, så det er måske et dumt spørgsmål?
Avatar billede lasserasch Juniormester
27. september 2007 - 09:44 #9
Du har jo allerede informationen omkring hvilken fil vi snakker om.

Du looper jo igennem en mappe (dir) og finder alle filer heri.
"file" vil så for hvert loop være en fil for dig.

Derfor kan du bruge file.Delete();

/Lasse
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 09:49 #10
Ah, på den måde, sad og lavede programmet med en kammerat igår, han er lidt smartere til C# end jeg er, så hans lavede starten :)

Mange tak.
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 09:50 #11
Nielle smider du et svar?
Avatar billede nielle Nybegynder
27. september 2007 - 09:57 #12
mikkelbm gav vist allerede svaret 27/09-2007 09:04:50 :^)
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 10:15 #13
Ja det rigtigt nok :)

Well.. hvis han ikke får smidt et så smider du bare et :)
Avatar billede nielle Nybegynder
27. september 2007 - 10:17 #14
Og lasserasch gav forklaringen 27/09-2007 09:44:57 ;^)
Avatar billede lasserasch Juniormester
27. september 2007 - 10:29 #15
;-)
Avatar billede kasper_aaroe Nybegynder
27. september 2007 - 11:03 #16
Sådan :)
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