getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.05.2008, 12:10   #1
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt

Zeilenumbruch bei Ausgabe eines Memofeldes


Hallo zusammen,
Ich habe in meiner Datenbank ein Memofeld, das auf einer ASP-Seite ausgegeben wird. Allerdings gehen dabei die Zeilenumbrüche verloren.

Bekam schon den Tipp im Access die Zeilenumbrüche mit Strg+Enter oder Umschalttaste+Enter einzugeben - klappt aber leider nicht.

Auch der Vorschlag der hier im Forum gemacht wurde:
Code:
DIM text
text = (mainbf.Fields.Item("Antextblock").Value )

und dann die nl2br-Funktion:

text=Replace(text,Chr(13) & Chr(10),"<br>") 

Und dann wieder ausgeben:

<%= text %>
hat nicht funktioniert (zumindest konnte damit meine Seite nicht mehr angezeigt werden).

Hat jemand noch eine andere Idee??

lg Chainy24
chainy ist offline   Mit Zitat antworten


Alt 29.05.2008, 15:07   #2
TP-Senior
 
Registriert seit: May 2007
Ort: Berlin
SchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's geht
Hallo chainy,

ich habe mal 2 Funktionen von mir für Dich herausgesucht:

PHP-Code:
'***************************************************************************************'
'Ausgeben eines <br /> bei Texten mit Zeilenumbruch, egal ob UNIX, MAC oder Windows'
'***************************************************************************************'
function break(byval cText)
    If 
Len(ctext) = or isnull(ctextthen
        
break = cText
        
Exit Function
    
end if
    break = 
replace(replace(cText,vbCRLF,"<br />"),vbLF,"<br />")
end function

'***************************************************************************************'
'Entfernen eines <br /> bei Texten mit Zeilenumbruch und wieder Einsetzen von vbCRLF
'
***************************************************************************************
function 
unbreak(byval cText)
    If 
Len(ctext) = or isnull(ctextthen
        unbreak 
cText
        
Exit Function
    
end if
    
unbreak=replace(cText,"<br />",vbCRLF)
end function 
vbCRLF entspricht Chr(13) & Chr(10)

Vielleicht hilft Dir das weiter.

Der Code ist natürlich für ASP, wenn auch über der Code-Box was anderes steht.

SchneewittchenX
SchneewittchenX ist offline   Mit Zitat antworten
Alt 29.05.2008, 16:51   #3
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt
Super danke,
werd´ ich ausprobieren.
Nur: was ist Chr(13) und Chr(10) sind das "normale" Zeilenschaltungen (nur mit Entertaste) oder eine Komination (mit Strg oder Umschalt)?
Schreib ich die function direkt in die Seite in der das Memofeld ausgegeben wird?

lg Chainy24

Geändert von chainy (29.05.2008 um 17:06 Uhr).
chainy ist offline   Mit Zitat antworten
Alt 29.05.2008, 17:10   #4
TP-Senior
 
Registriert seit: May 2007
Ort: Berlin
SchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's geht
Hallo chainy,

Chr(13) und Chr(10) sind das normale ENTER unter Windows,
UMSCHALT+Enter erzeugt nur einen Umbruch Chr(10) und
STRG+Enter erzeugt einen Seitenvorschub (kannst Du alles in einer Textverarbeitung wie Word ausprobieren, wenn die Steuerzeichenanzeige eingeschaltete ist.)
Unter Linux/UNIX ist eine Zeilenumbruch nur Chr(10), was bei der 1. Funktion berücksichtigt wurde.

Ich weiß nicht, wie Deine Umbrüche in die Datenbank kommen: direkt über Access (Chr(13) und Chr(10) ), da unter Windows, oder über ein Web-Eingabeformular, und dann hängt es vom Betriebssystem des Clients ab, was in Deiner DB landet. Deshalb fängt die Funktion beide Varianten ab, schreibt aber nur in einer zurück.

Am besten Du schreibst alle grundlegenden Funktionen in eine extra Datei, vielleicht mit der Endung .inc und fügst diese in die jeweilige ASP-Seite mit include ein.
PHP-Code:
<!--#include virtual="[DATEI].INC"-->
<%
DIM text
text 
= break(mainbf.Fields.Item("Antextblock").Value )
%> 
SchneewittchenX

Geändert von SchneewittchenX (29.05.2008 um 17:19 Uhr). Grund: Ich habe gerade den Nachtrag gesehen.
SchneewittchenX ist offline   Mit Zitat antworten
Alt 29.05.2008, 17:31   #5
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt
Hi
so jetzt hab´ich das gemacht, allerdings krieg ich jetzt diese Fehlermeldung:
Microsoft VBScript runtime error '800a01a8'

Object required: 'mainbf'

/bolena/test/zykl_det.asp, line 13

Was habe ich da wieder angestellt?

lg Chainy24
chainy ist offline   Mit Zitat antworten
Alt 29.05.2008, 18:24   #6
TP-Senior
 
Registriert seit: May 2007
Ort: Berlin
SchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's geht
Hallo chainy,

ich weiß es nicht, ich habe nur Deine Codezeilen kopiert und um den Aufruf der Funktion ergänzt.
Wie sattelfest bist Du denn in ASP?
Meine Kenntnisse liegen etwa 6 Jahre zurück, denn ich bin wie die meisten, auf PHP umgestiegen.

sonst versuche es in 2 Schritten:
PHP-Code:
DIM text 
.....
text = (mainbf.Fields.Item("Antextblock").Value 

text = break(text


SchneewittchenX

Geändert von SchneewittchenX (29.05.2008 um 18:32 Uhr).
SchneewittchenX ist offline   Mit Zitat antworten
Alt 29.05.2008, 19:00   #7
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt
Hallo SchneewittchenX,
bin nicht sehr bewandert in ASP (oder sonst was)
Werd das mit den 2 Schritten noch probieren. (Morgen) sag dann bescheid ob ich´s geschafft hab´.
Auf jeden Fall danke für die Hilfe!!
Chainy24
chainy ist offline   Mit Zitat antworten
Alt 02.06.2008, 21:54   #8
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt
hallo,

also ich hab jetzt wieder rumprobiert und bin auf eine (wahrscheinlich ziemlich doofe) Frage gekommen:
In der Funktion muss ich statt "Text" den Memofeldnamen angeben?
Oder muss ich das statt "Antextblock" bei der Variablen machen?
Oder gar nicht?

lg Chainy
chainy ist offline   Mit Zitat antworten
Alt 03.06.2008, 13:50   #9
TP-Senior
 
Registriert seit: May 2007
Ort: Berlin
SchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's gehtSchneewittchenX hilft, wo's geht
Hallo chainy,

die Funktionen kopierst Du so in die Include-Datei, wie ich es gesendet habe.
Die Variablen in der Funktion dienen als Platzhalter, ihre Bezeichnung ist egal, die Variablen sind außerhalb der Funktion nicht zu sehen (deshalb sollten sie auch nicht wie Deine Variablen heißen)
Die Werte Deiner realen Variablen werden beim Aufruf an die Funktion übergeben und der Variablen Text zugewiesen. Steht diese Links und rechts des Gleichheitszeichens, dann enthält die rechte Seite den alten Wert und die linke Seite nach Ausführung der Funktion den aktualisierten Wert.

Vorschläge für den Aufruf habe ich Dir ja 2 gemacht.

Änderungen an Quelltexten, die man nicht versteht, können recht eigenwillige Ergebnisse bringen

SchneewittchenX
SchneewittchenX ist offline   Mit Zitat antworten
Alt 05.06.2008, 09:30   #10
TP-Junior
 
Registriert seit: May 2008
chainy macht alles soweit korrekt
Hallo SchneewittchenX,
Danke für die Hilfe
Chainy24
chainy ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
Zeilenumbruch bei Ausgabe eines Memofeldes Zeilenumbruch bei Ausgabe eines Memofeldes
« [MySQL] Problem mit Union | php benchmark »

Stichworte
php

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:04 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67