Avatar billede martinsorensen Nybegynder
14. september 2007 - 13:26 Der er 12 kommentarer og
1 løsning

Løkker og tekst.

Hej alle. Jeg sidder på arbejdet med et problem. Jeg vil lave et program, hvor man løber en tekst igennem og kun gemmer den tekst, som er skrevet med fed eller er understreget, i en fil (er dette overhovedet muligt). Nu ved jeg godt det lyder som en stor mundfuld, men jeg har tænkt mig at tage det bid for bid og håber i vil hjælpe en stor del af vejen. Jeg har en del prgrammerings erfaring så er ikke lost, men har kun programmeret i java, og det eneste program til at programmere i jeg har på arbejdet er c# express edition. Jeg tænker at lave en richTextBox, i den tilføjer jeg den tekst som jeg vil have gennemløbet. Jeg vil lave en knap som når man trykker på den så skal den starte gennemløbet. Og hver gang den kommer til et mellemrum efter noget fed tekst, skal den lave et nyt afsnit (Enter) i filen. så jeg har hver ord på en linje for sig. Det behøves ikke skulle skrive til en database, da programmet stort set kun skal bruges til denne ene opgave. Så mit første spørgsmål er:

1. Hvordan jeg skriver til en fil i C#?

Håber virkelig i kan hjælpe, for har virkelig ikke lyst til manuelt at gå over 13.000 linjer igennem selv, og så klippe og indsætte!

mange venlige hilsner

Martin Sørensen
(Familiestyrelsen)
Avatar billede sherlock Nybegynder
14. september 2007 - 13:45 #1
Hvilket format har du originalteksten i?
Avatar billede neoman Novice
14. september 2007 - 14:22 #2
Hvis teksten kan,med bevaret formattering,  lægges ind i Word, så kan du nemt lave en macro derinde til at lave det du ønske, da man kan søge på formater
Avatar billede neoman Novice
14. september 2007 - 14:32 #3
I øvrigt gør dig selv og os den tjeneste at give folk feedback OG POINTS og lukke dine spørgsmål:
http://www.eksperten.dk/list.phtml?spm_creator=martinsorensen&status_1=on&status_2=on&status_3=on&status_4=on

Hvordan svar håndteres står her: http://www.expfaq.dk/
Avatar billede nielle Nybegynder
14. september 2007 - 14:33 #4
I denne sammenhæng tror jeg at det er nemmere at lægge den formaterede tekst over i en RichTextBox. I denne kan man relativt nemt finde de dele af teksten som er bold'et.
Avatar billede neoman Novice
14. september 2007 - 14:37 #5
nielle : jeg kender en MEGET rich textbox - den hedder Word:)Man kan lave en macro ved at indspille det man gør, og blot gentage og gentage, så der er bare 0 programmering ved det:)
Avatar billede neoman Novice
14. september 2007 - 15:18 #6
I'm outta here - det er jo at dumpe viden ned i et sort hul, ciao bambini:)
Avatar billede nielle Nybegynder
14. september 2007 - 21:42 #7
neoman> Jeg tror nu at Word-metoden kommer en smule til kort hvis man ønsket at gemme det markerede tekst i f.eks. en database.

martinsorensen> Prøv at tage et kig på dette:

using System;
using System.Drawing;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace e796380
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Button 1 togler bold-status på det markerede tekst
        private void button1_Click(object sender, EventArgs e)
        {
            if (richTextBox1.SelectionFont != null)
            {
                System.Drawing.Font currentFont = richTextBox1.SelectionFont;
                System.Drawing.FontStyle newFontStyle;

                newFontStyle = (richTextBox1.SelectionFont.Bold == true)
                    ? FontStyle.Regular
                    : newFontStyle = FontStyle.Bold;

                richTextBox1.SelectionFont = new Font(
                  currentFont.FontFamily,
                  currentFont.Size,
                  newFontStyle
                );
            }

            richTextBox1.SelectionLength = 0;
        }

        // Button 2 løber al teksten igennem, finder den del som er
        // markeret med bold, og kalder SaveText() med det fundne.
        private void button2_Click(object sender, EventArgs e)
        {
            bool isBold = false;
            StringBuilder text = null;

            for (int idx = 0; idx < richTextBox1.Text.Length; idx++)
            {
                richTextBox1.SelectionStart = idx;
                richTextBox1.SelectionLength = 1;

                if (richTextBox1.SelectionFont != null)
                {
                    if (richTextBox1.SelectionFont.Bold == true)
                    {
                        if (!isBold)
                        {
                            isBold = true;
                            text = new StringBuilder();
                        }

                        text.Append(richTextBox1.SelectedText);
                    }
                    else
                    {
                        if (isBold)
                        {
                            isBold = false;
                            SaveText(text.ToString());
                        }
                    }
                }
            }

            if (isBold)
                SaveText(text.ToString());
        }

        // SaveText() gemmer det fundne linje for lijne i en tekst
        // fil. Alternativt kan man gemme i en database eller lignende.
        private void SaveText(string text)
        {
            using (StreamWriter sw = new StreamWriter(@"C:\e796380.txt", true))
                sw.WriteLine(text);
        }
    }
}
Avatar billede driis Nybegynder
14. september 2007 - 22:02 #8
nielle's svar er fornuftigt. Hvis det ikke er dét du søger, er du nødt til at give mere information om, hvad kildeformatet er.
Avatar billede nielle Nybegynder
22. september 2007 - 21:59 #9
martinsorensen?
Avatar billede martinsorensen Nybegynder
11. oktober 2007 - 20:13 #10
Super... lige hvad jeg ledte efter! :D smid svar!
Avatar billede nielle Nybegynder
11. oktober 2007 - 20:30 #11
Svar :^)
Avatar billede nielle Nybegynder
16. oktober 2007 - 08:46 #12
Så mangler du bare at acceptere mit svar :^)
Avatar billede nielle Nybegynder
29. oktober 2007 - 17:56 #13
Takker for point :^)
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