Hallo Thorsten,
unser Beispiel als "komplettes" Skript:
------------------------------------------------
<%
strBeschreibung = "Hallo Thorsten, 1234567890A 23456789A 234567890A 2A 23A "
& _
"ABCDEFGHIJ1234567890 XYZ!"
If NOT Request.ServerVariables("REQUEST_METHOD") = "POST" Then
%>
<FORM method="POST" action="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<P><TEXTAREA rows="10" name="string" id="string"
cols="50"><%=strBeschreibung%></TEXTAREA></P>
<P><INPUT type="submit" value="Abschicken" name="B1"></P>
</FORM>
<%
Else
If NOT Request.Form("string") = "" Then
strBeschreibung = Request.Form("string")
End If
intLaenge = Len(strBeschreibung)
intPosition = 1
intStueckLaenge = 10
strKopie = strBeschreibung
strBeschreibung = ""
Do
'Wenn String oder sein Rest die intStueckLaenge nicht �berschreitet
If intPosition >= intLaenge-intStueckLaenge Then
'Dann abschlie�en
strBeschreibung = strBeschreibung & Mid(strKopie,intPosition)
Exit Do
Else
'Sonst auf Leerzeichen untersuchen
strStueck = ""
For i = 1 to intStueckLaenge
strZeichen = Mid(strKopie,intPosition,1)
strStueck = strStueck & strZeichen
intPosition = intPosition + 1
If strZeichen = chr(32) Then
Exit For
End If
Next
'Wenn innerhalb der vollen intStueckLaenge kein Leerzeichen vorkommt
If Len(strStueck) = intStueckLaenge AND InStr(strStueck,chr(32)) = 0 Then
'Dann ein Leerzeichen einf�gen und intLaenge des Strings aktualisieren
strStueck = strStueck & chr(32)
intLaenge = intLaenge + 1
End If
'untersuchten strStueck dem gepr�ften strBeschreibung hinzuf�gen
strBeschreibung = strBeschreibung & strStueck
End if
Loop
'Wenn mehr als 255 Zeichen
If intLaenge > 255 Then
'Dann �berma� abschneiden
strBeschreibung = Left(strBeschreibung,255)
End If
'F�r Test Ausgeben
strAusgabe = strBeschreibung & "<HR>(" & Len(strBeschreibung) & " von " & _
intLaenge & " Zeichen)"
Response.Write strAusgabe %>
<P><A HREF="<%=Request.ServerVariables("SCRIPT_NAME")%>">Nochmal
neu</A></P>
<%
End If
%>
------------------------------------------------
�brigens.Erw�hn("Mais je crois que " & chr(231) & "a suffit ;-)")
Dresden gr��t :-)
Thomas
-----Urspr�ngliche Nachricht-----
Von: Hoffmann Thorsten [mailto:[EMAIL PROTECTED]]
Gesendet: Dienstag, 12. Februar 2002 10:28
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] AW: Grosse Zeichenkette
Hallo Thomas,
K�nntest Du mir dazu eine kleine Hilfe (Beispiel) liefern ? Ich blick da
n�mlich nicht so ganz durch, wie ich das machen kann.
Sch�ne Gr��e nach Sachsen,
Thorsten
-----Urspr�ngliche Nachricht-----
Von: Thomas Natusch [mailto:[EMAIL PROTECTED]]
Gesendet: Montag, 11. Februar 2002 09:56
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] AW: Grosse Zeichenkette
Hallo Thorsten,
du kannst ja den String in einer Schleife auf Leerzeichen durchsuchen und
eins einf�gen, wenn unter zehn Zeichen keins vorkommt. Alle daf�r ben�tigten
Befehle m�ssten in den Beispielen verwendet worden sein.
Freundliche Gr��e
Thomas
-----Urspr�ngliche Nachricht-----
Von: Hoffmann Thorsten [mailto:[EMAIL PROTECTED]]
Gesendet: Montag, 11. Februar 2002 09:24
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] AW: Grosse Zeichenkette
danke f�r den Tipp, mein String besteht aber aus mehreren W�rtern (max. 255
Zeichen).
Auch ne Idee ?
Thorsten
-----Urspr�ngliche Nachricht-----
Von: Hotel Andr� [mailto:[EMAIL PROTECTED]]
Gesendet: Montag, 11. Februar 2002 07:05
An: ASP Datenbankprogrammierung
Betreff: [aspdedatabase] AW: Grosse Zeichenkette
Hallo,
DeineVar = "Computeranimation"
If Len(DeineVar) > 10 then DeineVar = Left(DeineVar,10) & chr(32) &
Mid(DeineVar,11,17)
Mit freundlichen Gr��en
Hotel Andr� M�nchengladbach
Andr� Scheres
http://hotelandre.de
http://partnerhotels.com
| -----Urspr�ngliche Nachricht-----
| Von: Hoffmann Thorsten [mailto:[EMAIL PROTECTED]]
| Gesendet: Montag, 11. Februar 2002 08:55
| An: ASP Datenbankprogrammierung
| Betreff: [aspdedatabase] AW: Grosse Zeichenkette
|
|
| Danke Thomas,
|
| danke erstmal, dein Code funktioniert einwandfrei. Jetzt habe ich
| allerdings
| nur noch ein kleines Problem: Dein Code f�gt ja alle 10 Zeichen ein
| Leerzeichen ein. Was ich aber genau brauche ist allerdings folgendes:
|
| Das Leerzeichen soll nur bei den W�rtern, die mehr als 10 Zeichen
| enthalten,
| eingef�gt werden. So soll z.B. aus 'Computeranimation' 'Computeran' &
| chr(32) & 'imation' werden. Bei W�rtern, die k�rzer als 10 Zeichen sind,
| soll nichts passieren.
|
| Geht sowas auch ?
|
| W�re dankbar f�r Deine Hilfe,
|
| Thorsten
|
| -----Urspr�ngliche Nachricht-----
| Von: Thomas Natusch [mailto:[EMAIL PROTECTED]]
| Gesendet: Montag, 4. Februar 2002 12:26
| An: ASP Datenbankprogrammierung
| Betreff: [aspdedatabase] AW: Grosse Zeichenkette
|
|
| Ich wei� zwar nicht ob es Sinn macht, blindlings Leerzeichen einzuf�gen,
| w�rde es technisch aber vielleicht so versuchen:
|
| <%
| intLaenge = Len(strBeschreibung)
| intPosition = 1
| intStueckLaenge = 10
|
| strKopie = strBeschreibung
| strBeschreibung = ""
|
| Do
| If intPosition >= intLaenge-intStueckLaenge Then
| strBeschreibung = strBeschreibung & Mid(strKopie,intPosition)
| Exit Do
| Else
| strBeschreibung = strBeschreibung &
| Mid(strKopie,intPosition,intStueckLaenge) & chr(32)
| intLaenge = intLaenge + 1
| intPosition = intPosition + intStueckLaenge + 1
| End if
| Loop
| %>
|
|
| PS: Ich glaube wir sind damit schon in eine andere Liste abgedriftet :-)
|
| Thomas
|
|
|
| -----Urspr�ngliche Nachricht-----
| Von: Hoffmann Thorsten [mailto:[EMAIL PROTECTED]]
| Gesendet: Montag, 4. Februar 2002 12:12
| An: ASP Datenbankprogrammierung
| Betreff: [aspdedatabase] AW: Grosse Zeichenkette
|
|
| ...danke f�r die Hilfe !
|
| Wie m�sste das Script aussehen, wenn ich statt einer Fehlermeldung ein
| zus�tzliches Leerzeichen einf�gen m�chte ?
|
| Thorsten Hoffmann
|
| -----Urspr�ngliche Nachricht-----
| Von: Thomas Natusch [mailto:[EMAIL PROTECTED]]
| Gesendet: Freitag, 1. Februar 2002 10:15
| An: ASP Datenbankprogrammierung
| Betreff: [aspdedatabase] AW: Grosse Zeichenkette
|
|
| Hallo Thorsten,
|
| ich habe noch einen Ansatz f�r die "Grosse Zeichenkette". Wenn es nicht
| allein ums Design geht, sondern auch um ein wenig "Inhaltsschutz" f�r die
| Datenbank, solltest du so einen "Sinnlos-Eintrag" �ber ein
| Validationsskript
| blockieren.
|
| Ich k�nnte mir vorstellen dass du die L�nge des Strings misst und ab einer
| gewissen L�nge die Leerzeichen z�hlst z. B. (Vorsicht, nicht
| getestet, evtl.
| Pseudocode)
|
| If Len(strBeschreibung) > 50 Then
| 'Leerzeichen vorhanden?
| If Instr(strBeschreibung," ") = 0 Then
| blnFehler = True
| Else
| 'Genug Leerzeichen?
| ZeichenPosition = 1
| Do Until ZeichenPosition > Len(StrBeschreibung)
| If Asc(Mid(strBeschreibung,ZeichenPosition,1)) = 32 Then
| AnzahlLeerzeichen = AnzahlLeerzeichen + 1
| End If
| ZeichenPosition = ZeichenPosition + 1
| Loop
| 'Verh�ltnis Anzahl der Leerzeichen zur L�nge der Zeichenkette pr�fen
| 'Mininmal-Verh�ltnis nach Ermessen definieren:
| MinimalVerhaeltnis = 0.05
| If AnzahlLeerzeichen/Len(strBeschreibung) < MinimalVerhaeltnis Then
| blnFehler = True
| End If
| End If
| End If
|
| If NOT blnFehler = True Then
| 'Werte in DB aufnehmen
| ...
| Else
| 'Fehlermeldung
| ...
| End If
|
| K�nnte man sicher auch schon mit JavaScript tun, aber da ist man
| ja von den
| Browsereinstellungen des Clients abh�ngig.
|
|
| Response.End :-)
|
| Thomas
|
|
|
| -----Urspr�ngliche Nachricht-----
| Von: Hoffmann Thorsten [mailto:[EMAIL PROTECTED]]
| Gesendet: Freitag, 1. Februar 2002 09:49
| An: ASP Datenbankprogrammierung
| Betreff: [aspdedatabase] Grosse Zeichenkette
|
|
| Hallo Liste,
|
| ich habe in meinem Kleinanteigen-Projekt ein Feld 'Beschreibung',
| in dem der
| Benutzer eine Beschreibung seines Artikels (max. 255 Zeichen)
| eingeben kann.
| In der Suche nach Artikeln wird diese dann angezeigt. Wenn jetzt jedoch
| jemand einfach z.B. 255 m's eingibt (also: mmmmmmmmmmmmmmmm....), dann
| zerreist's mir das Design, weil dann alles in einer Zeile steht.
|
| Was kann ich tun ?
|
| Thorsten
|
|
|
| | [aspdedatabase] als [EMAIL PROTECTED] subscribed
| | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| | Sie k�nnen sich unter folgender URL an- und abmelden:
| | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
|
|
| | [aspdedatabase] als [EMAIL PROTECTED] subscribed
| | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| | Sie k�nnen sich unter folgender URL an- und abmelden:
| | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
|
|
| | [aspdedatabase] als [EMAIL PROTECTED] subscribed
| | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| | Sie k�nnen sich unter folgender URL an- und abmelden:
| | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
|
|
| | [aspdedatabase] als [EMAIL PROTECTED] subscribed
| | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| | Sie k�nnen sich unter folgender URL an- und abmelden:
| | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
|
|
| | [aspdedatabase] als [EMAIL PROTECTED] subscribed
| | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| | Sie k�nnen sich unter folgender URL an- und abmelden:
| | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp