30. december 2011 - 18:35Der er
14 kommentarer og 1 løsning
Program bruger ikke det rigtige filnavn
Her er en programstump af csharp. Når jeg kører programmet (dvs trykker på knappen), så kommer fejl K1. Hvorfor virker det ikke?
private void button1_Click(object sender, EventArgs e) { // Her er koden for kalender knappen. // Hent sti og navn for filen. string kalender_s = "C:\\sombok\\kalender-2012.pdf"; // Her får kalender_s den nye og rigtige værdi.
if ( System.IO.File.Exists( kalender_s ) == true ) { try { FileStream fileStream = new FileStream(@"kalender_s", FileMode.Open, FileAccess.Read); // Her bruger programmet en tidligere værdi for kalender_s. // Hvorfor sker det, når kalender_s har fået en ny værdi? // Den gamle værdi er: Filen 'C:\Users\bjs\Desktop\Filer fra Store\Færdigt Csharp\Sommerhus_booking\toftevej\bin\Debug\kalender_s' blev ikke fundet fileStream.Close() ; } catch { // Fejl meddelelse her. // Brødtekst string bt = "Programmet kan ikke finde kalenderen.\nMuligvis ingen internet forbindelse.\nFejl K1."; // Overskrift string os = "Fejlmeddelse."; MessageBox.Show(bt, os, MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { // Fejl meddelelse her. // Brødtekst string bt = "Programmet kan ikke finde kalenderen.\nMuligvis ingen internet forbindelse.\nFejl K2."; // Overskrift string os = "Fejlmeddelse."; MessageBox.Show(bt, os, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
Nu har jeg fjernet apostrofferne, som du også skrev første gang. Når jeg nu trykker på knappen, sker der ingen ting. Programmet åbner ikke pdf-filen og der kommer ikke nogen fejl-meddelelse. Programmet kører stadig, det kan uden videre lukkes.
Den fil, der skal åbnes, er en kalender. Filen er en pdf-fil. Når brugeren trykker på knappen, skal kalenderen komme op på skærmen. Lige som når man i stifinder dobbelt-klikker. Når brugeren har kigget på kalenderen, lukker han den som enhver anden pdf-fil.
Nåh, men så er det en helt anden vej du skal. Det du var i gang med var at læse filen igennem, linie for linie i dit C# program, og det kommer der ikke noget synderligt læseligt ud af.
Det kræver jo så at brugeren har en PDF-læser installeret, og hvis han oveni har associeret .pdf til at åbne den, så skulle du kunne bruge:
Det virker. Jeg prøvede først med den korte, "Process.Start(kalender_s)". Men der kom en fejlmeddelelse. Så prøvede jeg med "System.Diagnostics.Process.Start(kalender_s)". Og det virker. Når jeg trykker på knappen, så åbner programmet pdf-filen. Smid et svar, så får du pointene, selvom du ikke samler på point.
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.