Avatar billede labisama Nybegynder
02. oktober 2001 - 18:56 Der er 17 kommentarer og
1 løsning

Underoverskift med ...

Hej Eksperter...

Jeg har lige et hurtigt spørgsmål omkring et nyhedssystem som er bygget op med access.

På mange sites har jeg set nyheder med en overskrift også står der nogen sætninger med starten af nyheden med afslutning med ...

Er der en mulighed for at lave dette her, eller hvordan gør de andre sites?

/labisama
Avatar billede labisama Nybegynder
02. oktober 2001 - 18:57 #1
Eksempel:

overskrift> Eksperten.dk styrer her
nyheden> Eksperten har i disse dage...
Avatar billede eagleeye Praktikant
02. oktober 2001 - 19:00 #2
Ja det er muligt eks.vis:

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart=instr (intCut, YouString, \" \")
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>

response.write CutString (\"lang test som skal klippes\", 8)
Avatar billede eagleeye Praktikant
02. oktober 2001 - 19:10 #3
Den første function klipper i første mellemrum efter intCut.

Denne function klipper i mellemrumet lige inden intCut, denne giver din maximalt intCut + 3 som længde (3 fra ...):

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YouString, \" \",intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
    Exit Function
  end if
end if
CutString = YouString
End function
%>
Avatar billede eagleeye Praktikant
02. oktober 2001 - 19:12 #4
Jeg laver laver lige et eks:

YouString = \"En tekst som bliver klippet\"
intStr = 15  (l i bliver)
Første function giver : En tekst som bliver...
Anden function giver : En tekst som...
Avatar billede labisama Nybegynder
02. oktober 2001 - 21:54 #5
Men da jeg skal hente teksten fra en database, så er det vel bare at ud skifte YouString med: <%=RS(\"youstring\")%> ???

/labisama
Avatar billede eagleeye Praktikant
02. oktober 2001 - 21:57 #6
du kan ligge functionen i toppen af filen og kalde den på denne måde, de 200 er bare et eks.:

response.write CutString (rs(\"DIT_FELT\"),200)
Avatar billede eagleeye Praktikant
02. oktober 2001 - 21:59 #7
hvis det kun er et sted du skal bruge det kan du lave koden på  denne måde uden functions kald:

YourString = rs(\"DIT_FELT\")
intCut = 22
if len(YourString) > intCut then
  posstart=instr (intCut, YourString, \" \")
  if (posstart <> 0) then
    YourString = Left(YourString, posstart) & \"...\"
  end if
end if

Response.Write YourString
Avatar billede labisama Nybegynder
02. oktober 2001 - 22:38 #8
Sorry...fatter ikke så meget efter du også skrev den sidste kommentar :(

Pleas giv mig et kort eksempel af intCut:
Alle nyhederne står under hinanden fra databasen med en overskift, et billede og intCut under overskrift...

Altså hvordan skal det så se ud siden du skriver \"hvis det kun er et sted du skal bruge det..\", men her er det jo flere gange?

/labisama
Avatar billede eagleeye Praktikant
02. oktober 2001 - 22:46 #9
intCut bruges til at bestemme hvor mange karakter som skal udskrives.

Her er et eks på en fil:

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YouString, \" \",intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
  Exit Function
  end if
end if
CutString = YouString
End function
%>
<html>
<head>
<title>...</title>
</head>
<body>

<%
Response.Write CutString (\"Hej en test som klipper tekst\",12) & \"<br>\"
Response.Write CutString (\"Hej en test som klipper tekst\",34) & \"<br>\"
%>
</body>
</html>

Avatar billede eagleeye Praktikant
02. oktober 2001 - 22:46 #10
Outputtet bliver:

Hej en test ...
Hej en test som klipper tekst
Avatar billede eagleeye Praktikant
02. oktober 2001 - 22:50 #11
du har sikket et loop som udskriver fra din database.

do while not rs.EOF
  response.Write rs(\"Overskrift\") & \"<br>\"
  response.Write rs(\"underOverskrift\") & \"<br>\"
  rs.movenext
loop

Ved dem du ønsker at klippe skal du kalde cutstring:

do while not rs.EOF
  response.Write rs(\"Overskrift\") & \"<br>\"
  response.Write CutString(rs(\"underOverskrift\"),200) & \"<br>\"
  rs.movenext
loop
Avatar billede labisama Nybegynder
03. oktober 2001 - 16:36 #12
Fuck du er for fed :)....laaangtid spildt men her er svaret jo!

Mange tak, har du ikke et ICQ nr. eller noget jeg kan kontakte dig på ved sådan nogen store spørgsmål igen?

/labisama
Avatar billede labisama Nybegynder
04. oktober 2001 - 21:58 #13
Hej eagleeye!!!

DOH!!!.....har problemer sådan er mit site ikke bygget op så det passer til.

Her er et udsnit fra mit site:
strSQL = \"select top 5 * from nyheder ORDER BY id DESC\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"<font face=\"\"Arial\"\" size=\"\"2\"\">Databasen er tom.</font>\"
else
Do Until rs.EOF
%>
                  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                    <tr>
                      <td colspan=\"2\"><b><%=RS(\"overskrift\")%></b> / <font size=\"1\"><%=RS(\"dato\")%></font></td>
                    </tr>
                    <tr>
                      <td valign=\"top\" rowspan=\"2\"><img src=\"http://www.mitdomæne.dk/artikel-images/<%=RS(\"billede\")%>\" w idth=\"85\" height=\"50\" border=\"1\"></td>
                      <td valign=\"top\"><%=RS(\"underoverskrift\")%></td>
                    </tr>
                    <tr>
                      <td valign=\"top\" align=\"right\">[<A HREF=\"nyhed.asp?id=<%=RS(\"id\")%>\">Læs</A>]</td>
                    </tr>
                  </table>
<hr noshade size=\"2\" color=\"#FFFFFF\">
<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>

Hvordan vil du få det ind så?

/labisama
Avatar billede eagleeye Praktikant
05. oktober 2001 - 14:12 #14
sorry det havde jeg ikke set.
Avatar billede eagleeye Praktikant
05. oktober 2001 - 14:27 #15
du ligge functionen ind i toppen af asp filen:
Jeg går ud fra at underoverskrift skal klikkes, jeg har sat den til 200 karater som skal vises:

<%
Function CutString (YouString, intCut)
if len(YouString) > intCut then
  posstart = InStrRev(YouString, \" \",intCut)
  if (posstart <> 0) then
    CutString = Left(YouString, posstart) & \"...\"
  Exit Function
  end if
end if
CutString = YouString
End function
%>
<html>
<head>
<title>...</title>
</head>
<body>
<% \'her er din kode
strSQL = \"select top 5 * from nyheder ORDER BY id DESC\"
set rs = Conn.execute(strSQL)

if rs.EOF then
Response.write \"<font face=\"\"Arial\"\" size=\"\"2\"\">Databasen er tom.</font>\"
else
Do Until rs.EOF
%>
                  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                    <tr>
                      <td colspan=\"2\"><b><%=RS(\"overskrift\")%></b> / <font size=\"1\"><%=RS(\"dato\")%></font></td>
                    </tr>
                    <tr>
                      <td valign=\"top\" rowspan=\"2\"><img src=\"http://www.mitdomæne.dk/artikel-images/<%=RS(\"billede\")%>\" w idth=\"85\" height=\"50\" border=\"1\"></td>
                      <td valign=\"top\"><%=CutString(RS(\"underoverskrift\"),200)%></td>
                    </tr>
                    <tr>
                      <td valign=\"top\" align=\"right\">[<A HREF=\"nyhed.asp?id=<%=RS(\"id\")%>\">Læs</A>]</td>
                    </tr>
                  </table>
<hr noshade size=\"2\" color=\"#FFFFFF\">
<%RS.MoveNext
Loop
end if

Conn.Close
Set Conn = Nothing%>
Avatar billede labisama Nybegynder
05. oktober 2001 - 20:17 #16
Fuck du er fed! :)

Mange tak
Avatar billede labisama Nybegynder
05. oktober 2001 - 20:29 #17
Eller er du..jeg er heletiden for hurtig ude!

Nyt problem:
Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a005e\'

Null er brugt ugyldigt: \'InStrRev\'

/cutstring.asp, linje 5

Please hjælp igen..., men ellers så bare drop det, hvis det er helt umuligt er gået over til nyt system!
Avatar billede eagleeye Praktikant
06. oktober 2001 - 12:41 #18
Jeg tror måske det fordi fu ikke har angivet en max længde.
Sådan bruges CutString:
CutString(string, MAX_LÆNGDE)
string er den streng som skal klippes.
MAX_LÆNGDE er antal karakter string skal klippes ved.
Eks:
CutString(rs(\"overskrift\",200)
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
Kurser inden for grundlæggende programmering

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