Avatar billede enes Nybegynder
09. september 2000 - 15:16 Der er 11 kommentarer og
1 løsning

Begrænset tekst !?

Hej eksperter

kan nogen af ekspertene lave en script i asp, til at begrænse teksten?

Teksten kommer fra en database og er meget lang, jeg vil have at efter 300 ord, linier, eller tegn skal der kommer et link hvor der står \'Næste side\' hvor man kan se de næste 300 ord,  linier eller tegn og sådan skal den fortsætte til slutningen af teksten.
Avatar billede tpiil Nybegynder
09. september 2000 - 15:19 #1
er med på en lytter :o)
Avatar billede it-avisen.dk Nybegynder
09. september 2000 - 15:30 #2
<%
dim strtekst, intstatus
intstatus=Request.QueryString(\"status\")
if intstatus=\"\" then
intstatus=0
end if
  Set DataConn = Server.CreateObject(\"ADODB.Connection\")
  DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"./tekst.mdb\")
  \'Tekst.mdb skal ligge i samme mappe
  DataConn.Open DSN

  Set rs_vare = Server.CreateObject(\"ADODB.RecordSet\")
  rs_vare.open \"Select * From [tekst]\", DataConn
  \'Tabellen \"Tekst\" åbnes skrive beskyttet, ønskes skriveadgang tilføjes ,1,3 på ovenstående linie
  strtekst = rs_vare(\"tekst\")
  rs_vare.Close
  set rs_vare=nothing
  DataConn.Close
  set dataConn = nothing
  \'Husk at sætte objekter lig nothing ellers ligger i serveren ned...
 
  Response.Write (mid(strtekst,intstatus,300))
 
  \'mid(string, start, længde) bruges således:
  \'MID betyder Middle, der er altså tale om midten af en tekst string
  \'String er den streng vi tager fra. I dette eksempel er det teksten fra databasen!
 
  Response.Write (\"<br><br><a href=filnavn.asp?status=\"&cstr(intstatus+300))&\">Klik har for at læse de næste 300 tegn</a>\"
  \'Filnavn.asp er navnet på denne her fil. Vi ligger variablen status til for at holde øje med hvor langt vi er nået.
%>

Husk at besøge www.IT-Avisen.dk for at læse nyheder.

/Jasper
Avatar billede tomsommer Juniormester
09. september 2000 - 15:33 #3
<% = left(rs(\"RECORD\"),15) %>

viser 15 tegn!
Avatar billede tomsommer Juniormester
09. september 2000 - 15:33 #4
ups.. misforstod!
Avatar billede enes Nybegynder
09. september 2000 - 16:36 #5
Mange tak Jesper
>>Jesper
der er en ting som jeg ikke tænkte på var at den vil stope midt i et ord.

kan man lave det med ord eller linier ?
Avatar billede enes Nybegynder
09. september 2000 - 19:47 #6
er der ikke andre der kan hjælpe mig med det her
Avatar billede it-avisen.dk Nybegynder
09. september 2000 - 20:16 #7
<%
dim strtekst, intstatus,ordslut
intstatus=Request.QueryString(\"status\")
if intstatus=\"\" then
intstatus=0
end if
  Set DataConn = Server.CreateObject(\"ADODB.Connection\")
  DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.mappath(\"./tekst.mdb\")
  \'Tekst.mdb skal ligge i samme mappe
  DataConn.Open DSN

  Set rs_vare = Server.CreateObject(\"ADODB.RecordSet\")
  rs_vare.open \"Select * From [tekst]\", DataConn
  \'Tabellen \"Tekst\" åbnes skrive beskyttet, ønskes skriveadgang tilføjes ,1,3 på ovenstående linie
  strtekst = rs_vare(\"tekst\")
  rs_vare.Close
  set rs_vare=nothing
  DataConn.Close
  set dataConn = nothing
  \'Husk at sætte objekter lig nothing ellers ligger i serveren ned...
 
  if not intstatus=0 then
  do while not ordslut
  if (mid(strtekst,intstatus,1)=\" \" or mid(strtekst,intstatus-1,1)=\" \") then
  Response.Write (mid(strtekst,intstatus,300))
  ordslut=true
  else
  intstatus=intstatus+1
  end if
  LOOP
  else
  Response.Write (mid(strtekst,intstatus,300))
  end if
  \'mid(string, start, længde) bruges således:
  \'MID betyder Middle, der er altså tale om midten af en tekst string
  \'String er den streng vi tager fra. I dette eksempel er det teksten fra databasen!
 
  Response.Write (\"<br><br><a href=filnavn.asp?status=\"&cstr(intstatus+300))&\">Klik har for at læse de næste 300 tegn</a>\"
  \'Filnavn.asp er navnet på denne her fil. Vi ligger variablen status til for at holde øje med hvor langt vi er nået.
%>

Husk at besøge www.IT-Avisen.dk for at læse nyheder.

/Jasper
Avatar billede enes Nybegynder
09. september 2000 - 20:27 #8
mange tak Jesper

...flot site www.it-avisen.dk ! ;)
Avatar billede 127144146281 Nybegynder
13. september 2000 - 21:04 #9
\'Husk at sætte objekter lig nothing ellers ligger i serveren ned...
(det gør asp parseren, i iis4 bliver den ignoreret, i ii5 er den optional)

hmm tjae så hellere det end at scriptet laver et uendeligt loop som det her gør
Avatar billede it-avisen.dk Nybegynder
13. september 2000 - 21:47 #10
Microsoft Technet anbefaler både til IIS 4.0 og IIS 5.0 at alle objekter sættes lig nothing.
Jeg må indrømme at jeg ikke ved andet end at det flere gange har lagt vores server ned, når vores nye folk glemmer at sætte objekter lig nothing.
Vi køre IIS 5.0, så jeg må nok give Microsoft Technet ret i deres anbefaling.
Jeg kan naturligvis ikke udelukke at du har andre erfaringer, men jeg vil bede dig henvise til kilder der understøtter disse, så skal jeg nok finde den artikel jeg henviser til.

Jeg må indrømme at jeg ikke har testet ovenstående script, men da svaret er accepteret vil jeg gå ud fra at det ikke indeholder en uendelig lykke.

/Jasper
Avatar billede enes Nybegynder
13. september 2000 - 23:10 #11
Hej Jesper

Jesper hvad nu !?

hvis du nu laver den her script om sådan at den virker/køre optimalt, så får du 300 point til :)

på forhånd tak !
Avatar billede 127144146281 Nybegynder
14. september 2000 - 01:31 #12
>>it-avisen.dk  kan ikke huske hvor det var, men det var et stort site, mener det er asptoday eller ligende, jeg siger jo også netop den først virker i iis5, (hvor den stadig er optional, men den releaser objectet, det gjorde den ikke i iis4, før hele siden er udført (om man så har skrevet obj = nothing eller ej
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