Avatar billede tik Nybegynder
11. maj 2006 - 09:46 Der er 6 kommentarer og
2 løsninger

automatisk ny linje i asp.et

Hey!

Jeg er igang med at lave en gæstebog, men står lige og mangler en funktion, det skal være sådan at når der er intastet x antal linjer, så hopper den automatisk ned på en ny linje!

Hvordan gør jeg det?

Vh!
Avatar billede spaceus Nybegynder
11. maj 2006 - 10:46 #1
nu gætter jeg på du mener x antal karakterer....

brug en modulus, og når den giver 0 indsæt /n eller <br> afhængigt af hvorledes du vil ha' ny linje (html eller text)
Avatar billede tik Nybegynder
11. maj 2006 - 11:00 #2
Ja, du er inde på noget af det.. du kan ikke skære det lidt mere ud i pap? Kan nemlig ik helt se hvordan jeg skal gøre det...
Avatar billede spaceus Nybegynder
11. maj 2006 - 11:21 #3
der er vel ingen grund til at gøre det før du har hentet det indtastede... og det her er kun the basics, for du bør nok også lige finde nærmeste whitespace så du ikke deler ord

så noget ala

var result = hentDetindtastede();

var breaks = result/linjeLaengde;
var nytxt;
for(var i =0;i<breaks;i++)
{
  nytxt = nytxt + result.substring((linjeLaengde *i + i+4),linjeLaengde *(i+1)+ i+5)+"<br>"
}


sådan noget lignene (ikke testet)
Avatar billede spaceus Nybegynder
11. maj 2006 - 11:22 #4
hehe, og det blev så uden modulus
Avatar billede arne_v Ekspert
12. maj 2006 - 02:15 #5
public static string SplitLines(string s, int maxlen, string del)
        {
            StringBuilder res = new StringBuilder("");
            string[] word = s.Split(" ".ToCharArray());
            int ix = 0;
            string line = "";
            while(ix < word.Length)
            {
                if((line + 1 + word[ix]).Length > maxlen)
                {
                    line += del;
                    res.Append(line);
                    line = "";
                }
                if(line.Length > 0)
                {
                    line += " ";
                }
                line += word[ix];
                ix++;
            }
            if(line.Length > 0)
            {
                line += del;
                res.Append(line);
            }
            return res.ToString();
        }

kan kaldes som

            Console.WriteLine(SplitLines(s, 20, "\r\n"));
            Console.WriteLine(SplitLines(s, 25, "<BR>\r\n"));
Avatar billede tik Nybegynder
21. maj 2006 - 01:39 #6
løste det med at sætte width på laben'en.. :) men smid et svar begge 2, så kan i splitte pointene...
Avatar billede arne_v Ekspert
21. maj 2006 - 02:04 #7
ok
Avatar billede spaceus Nybegynder
22. maj 2006 - 08:08 #8
ok
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