Avatar billede cogitans Nybegynder
09. marts 2004 - 14:22 Der er 5 kommentarer og
1 løsning

Search i tekstfil

Jeg har lavet en aspx-side, som benytter en ".cs" fil (som jeg også har lavet). På aspx-sden skriver man en streng ind, som .cs-filen søger et tekstdokument igennem for. Alt afhængig af, om der returneres true eller false, så skal der stå noget tekst i en andet tekstbox. Men det fungerer ikke.
Sådan ser flerne ud:

Aspx:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace New
{
    /// <summary>
    /// Summary description for MovieSearch.
    /// </summary>
    public class MovieSearch : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.Label Label1;
        protected System.Web.UI.WebControls.TextBox TextBox1;
        protected System.Web.UI.WebControls.TextBox TextBox2;
        protected System.Web.UI.WebControls.Button Button1;
        MovieLed film;
   
        private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
            film=new MovieLed();
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {   
            this.TextBox1.TextChanged += new System.EventHandler(this.TextBox1_TextChanged);
            this.Button1.Click += new System.EventHandler(this.Button1_Click);
            this.TextBox2.TextChanged += new System.EventHandler(this.TextBox2_TextChanged);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void TextBox1_TextChanged(object sender, System.EventArgs e)
        {
       
        }

        private void Button1_Click(object sender, System.EventArgs e)
        {
            TextBox2.Text.Insert(0, "Testing");
            bool svar=film.search(TextBox1.Text.ToString());
            TextBox2.Visible=true;
            if(svar==true)
              TextBox2.Text.Insert(0, "I've got the movie. Give me a message through ICQ or something and I'll put it in my share!");
            if(svar==false)
              TextBox2.Text.Insert(0, "Sorry - no luck this time!");
        }

        private void TextBox2_TextChanged(object sender, System.EventArgs e)
        {
       
        }
    }
}

cs:
using System;
using System.IO;
using System.Text;

namespace New
{
    public class MovieLed
    {
        bool found=false;

        public MovieLed()
        {Console.Write("MovieLed begyndt!");}

        public bool search(string title)
        {
            Console.WriteLine("Searchttle er ved start: " + title);
            try
            {
                using (StreamReader sr = new StreamReader("G:\\FromOldHardDrive\\Movies\\Movies.txt"))
                {
                    String line;
                    while ((line = sr.ReadLine()) != null)
                    {
                        line.Insert(0, "-");
                        if(line==title)
                            found=true;
                    }
                }
            }
            catch (Exception e)
            {
                // Let the user know what went wrong.
                Console.WriteLine("The file could not be read:");
                Console.WriteLine(e.Message);
            }
            Console.WriteLine("Found før return er: " + found);
            return found;

          //læs filmdokument ind, og led efter "title"
          //string path=@"G:\\FromOldHardDrive\\Movies\\Movies.txt";
          //using (FileStream fs=new File.OpenRead(path))
          //{
            //fs.
          //}
          //FileStream fs=new FileStream(@"c:\test.txt, FileMode.Open);
          //BufferedStream bs=new BuferedStream(fs);
        }

        void main()
        {
          MovieLed a=new MovieLed();
          Console.Write(a.search("About A Boy"));
        }
    }
}

Nogle gode forslag til løsning?
Avatar billede burningice Nybegynder
09. marts 2004 - 18:25 #1
hvad er det der ikke virker?
Avatar billede pulsar Nybegynder
09. marts 2004 - 18:26 #2
Er det din søgning der ikke virker?
eller er det dine Textbox'e ?
Avatar billede cogitans Nybegynder
09. marts 2004 - 18:34 #3
Tja, søgningen virker tilsyneladende heller ikke, da der ikke blver udskrevet nogle tekststumper, som jeg har sat ind i .cs-filen.
Men primært er det tekstboxene. Jeg kan ikke få noget tekst til at komme frem i dem som følge af f.eks. søgningens resultat.
Avatar billede stefan_v Nybegynder
02. april 2004 - 13:31 #4
1. Jeg vil ikke håbe at APG kigger fobi dette spg. Den har filmliste ser mig en smule suspekt ud...

2. Hvorfor bruger du TextBox.Text.Insert(int, "string")?
  Er TextBox.Text="string"; ikke en smule nemmere?

3. Kommer der fejl eller sker der bare intet? Hvad når du kører main? Hvorfor indsætter du et '-' først i line?
Avatar billede cogitans Nybegynder
02. april 2004 - 13:50 #5
Hovsa...jeg har løst problemet i mellemtiden (troede, at jeg havde lukket spørgsmålet).

Ps: AGP må skam gerne kigge forbi - jeg har ingen kriminelle hensigter med mit projekt.
Avatar billede cogitans Nybegynder
02. april 2004 - 13:51 #6
a
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