Avatar billede elohim Nybegynder
10. marts 2007 - 00:10 Der er 8 kommentarer og
1 løsning

Tekst-fil ind på en hjemmeside, er der nogen der har et forslag

Hejsa

Hvis jeg har en tekstfil med emne:kapitel:afsnit:tekst som ser sådan ud
1:1:1:her er noget tekst
1:1:2:her er noget tekst
1:1:3:her er noget tekst
1:2:1:her er noget mere tekst
1:2:2:her er noget mere tekst
2:1:1:her er noget mere tekst
osv. osv.
Så man vælger fra evt. dropdownliste hvilket emne
Så man vælger fra evt. dropdownliste hvilket kapitel
Så man vælger fra evt. dropdownliste hvilket afsnit 

og så får man vidst teksten

Et forslag jeg kan arbejde videre med...
Avatar billede kalp Novice
10. marts 2007 - 01:45 #1
Det der bliver pænt sort i en txtfil.. jeg ville godt nok lave det som et XML document.
Avatar billede elohim Nybegynder
10. marts 2007 - 12:31 #2
Jo men men hvis du kan hjælpe mig med at få det smidt over i en XML fil er det fint med mig, jeg ved bare ikke ret meget om XML
Avatar billede kalp Novice
10. marts 2007 - 17:39 #3
med mindre du mener man bare skal vælge dette ud fra drop down

1:1:1:

ja så kan jeg sgu kun forestille mig det er skide besværligt :)
Avatar billede dr_chaos Nybegynder
10. marts 2007 - 21:07 #4
Hvordan får du dannet dette data format ?
Avatar billede kalp Novice
11. marts 2007 - 00:01 #5
Hej elohim >>

Okay.. nu bad du jo også kun om, at få afvide hvordan det kunne gøres og det har jeg så illusteret for dig i kodeform nu på følgende link.
http://www.kalp.dk/book.zip

Det burde være mere end rigeligt til, at få dig i gang!
Det virker fint.. testede med denne data.

1:1:1:linje1
1:1:2:linje2
1:1:3:linje3
1:2:1:linje4
1:2:2:linje5
2:1:1:linje6


Gemt på C:\ i filen DataFil.txt
så det vil jeg anbefale du lige opretter før du kører programmet for så kan du lige se hvordan det fungere.

Det du selv skal gøre er at optimere hvordan den henter tekst!
men du kan selv lege med resten nu;o) jeg har besvaret dit spørgsmål vil jeg mene.
Avatar billede kalp Novice
11. marts 2007 - 00:03 #6
Jeg paster lige min kode herind til andre som vil se.

shuuuu.. ingen kommentarer til koden tak;o)


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.IO;
using System.Windows.Forms;
using System.Collections;

namespace Book
{
    public partial class Form1 : Form
    {
        private ArrayList pages;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            StreamReader reader        = new StreamReader(File.Open("c:\\DataFil.txt", FileMode.OpenOrCreate));
            string line                = reader.ReadLine();
         
            ArrayList subjects        = new ArrayList();
            ArrayList chapters        = new ArrayList();
            ArrayList parts            = new ArrayList();
            pages                      = new ArrayList();

            string selectedSubject    = string.Empty;
            string selectedChapter    = string.Empty;
            string selectedPart        = string.Empty;
            string selectedText        = string.Empty;

            char splitter              = ':';

            while (line != null && line.Trim() != "")
            {
                try
                {
                    selectedSubject = line.Split(splitter)[0];
                    if (!subjects.Contains(selectedSubject))
                    subjects.Add(selectedSubject);
                }
                catch { }
                try
                {
                    selectedChapter = line.Split(splitter)[1];
                    if (!chapters.Contains(selectedChapter))
                    chapters.Add(selectedChapter);
                }
                catch { }
                try
                {
                    selectedPart = line.Split(splitter)[2];
                    if(!parts.Contains(selectedPart))
                    parts.Add(selectedPart);
                }
                catch { }
                try
                {
                    selectedText = line.Split(splitter)[3];
                    pages.Add(new PageInfo(selectedChapter, selectedSubject, selectedPart, selectedText));
                }
                catch { }

                line = reader.ReadLine();
            }
            comboBox1.Items.AddRange(subjects.ToArray());
            comboBox2.Items.AddRange(chapters.ToArray());
            comboBox3.Items.AddRange(parts.ToArray());

        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selectedSubject = string.Empty;
            string selectedChapter = string.Empty;
            string selectedPart    = string.Empty;

            if(comboBox1.SelectedItem != null)
            selectedSubject = comboBox1.SelectedItem.ToString();
            if(comboBox2.SelectedItem != null)
            selectedChapter = comboBox2.SelectedItem.ToString();
            if(comboBox3.SelectedItem != null)
            selectedPart    = comboBox3.SelectedItem.ToString();

            richTextBox1.Text = "";

            bool isDone = false;
            bool foundPrevious = false;

            foreach (PageInfo page in this.pages)
            {

                if (page.Subject == selectedSubject && page.Chapter == selectedChapter && page.Part == selectedPart)
                {
                    richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                    isDone = true;
                    foundPrevious = true;
                }           
         
                if (!isDone && !foundPrevious)
                {
                    if (selectedSubject != string.Empty && selectedChapter != string.Empty)
                    {
                        if (page.Subject == selectedSubject && page.Chapter == selectedChapter)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }

                if (!isDone && !foundPrevious)
                {
                    if (selectedSubject != string.Empty && selectedPart != string.Empty)
                    {
                        if (page.Subject == selectedSubject && page.Part == selectedPart)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }

                if (!isDone && !foundPrevious)
                {
                    if (selectedPart != string.Empty && selectedChapter != string.Empty)
                    {
                        if (page.Part == selectedPart && page.Chapter == selectedChapter)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }

                if (!isDone && !foundPrevious)
                {
                    if (selectedPart != string.Empty)
                    {
                        if (page.Part == selectedPart)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }


                if (!isDone && !foundPrevious)
                {
                    if (selectedChapter != string.Empty)
                    {
                        if (page.Chapter == selectedChapter)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }


                if (!isDone && !foundPrevious)
                {
                    if (selectedSubject != string.Empty)
                    {
                        if (page.Subject == selectedSubject)
                        {
                            richTextBox1.Text = richTextBox1.Text + page.Text + "\n";
                        }
                        isDone = true;
                    }
                }
                isDone = false;
            }
        }
    }
}



















using System;
using System.Collections.Generic;
using System.Text;

namespace Book
{
    class PageInfo
    {
        private string chapter;
        private string subject;
        private string part;
        private string text;

        public PageInfo(string chapter, string subject, string part, string text) {
            this.chapter = chapter;
            this.subject = subject;
            this.part    = part;
            this.text    = text;
        }

        public string Chapter
        {
            get { return chapter; }
        }

        public string Subject
        {
            get { return subject; }
        }

        public string Part
        {
            get { return part; }
        }

        public string Text
        {
            get { return text; }
        }
    }
}
Avatar billede elohim Nybegynder
11. marts 2007 - 13:34 #7
Fedt takker
Avatar billede elohim Nybegynder
11. marts 2007 - 13:36 #8
PS ved du evt. også hvordan man laver det der med at reklamer daler ned fra oven.
som fx. jubii eller her på eksterten
Avatar billede kalp Novice
11. marts 2007 - 14:05 #9
Ikke noget jeg selv har lavet, men det er Enten lavet i Flash eller DHtml vil jeg gætte på
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