Danke für die Inputs. Werde das ganze aber nochmals gründlich überdenken -
denn, es wird ziemlich kompliziert - oder sogar unmöglich wenn es anstatt
nur um Text sich um HTML-Code handelt. Wird einfacher, wenn ich das gleich
im Content Management in z.B. 2 Spalten darstelle wo man selber aufteilen
kann wie man will.

Vielen Dank nochmals.
Raphael

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Pessner, Andreas
Gesendet: Dienstag, 15. Februar 2005 09:27
An: asp.net@glengamoi.com
Betreff: AW: [Asp.net] Text in Spalten aufteilen / & Silbentrennung

Die Bestimmung, dass an einem Leerzeichen getrennt wird - ist recht simple!

public static string[] StringSplitter(string InputString, int SplitElements)
{
        if (InputString != null && InputString.Length != string.Empty &&
SplitElements > 1)
        {
                string WorkString = string.Empty;
                int TextLength = InputString.Length;
                int ElementLength = TextLength / SplitElements; 
                
                string[] TextElements = new string[SplitElements];
                
                int LastSpaceOld = 0;
                for (int i=0; i < SplitElements; i++)
                {
                        if (i != SplitElements - 1)
                        {
                        WorkString = InputString.Substring(LastSpaceOld,
ElementLength + LastSpaceOld);
                        int LastSpaceNew = WorkString.LastIndexOf(" ");
                        WorkString = WorkString.Substring(LastSpaceOld,
LastSpaceNew);
                        LastSpaceOld = LastSpaceNew;                    
                        TextElements[i] = WorkString;
                        }
                        Else
                        {
                                TextElements[i] =
InputString.Substring(LastSpaceOld, TextLength - LastSpaceOld)
                        }
                }       
                return TextElements;
        }

        return null;
}

Diese Methode müsste funktionieren! Aber Achtung - ich habe diese direkt im
Outlook geschrieben - und nicht getestet! Somit sind garantiert noch ein
paar Fehler drin!!

Das ganze funktioniert so:
1. Kontrolle das gültiger InputString übergeben wurde - und auch die
SplitElements (Anzahl der gewünschten Spalten) größer als 1 ist.

2. Länge des InputStrings holen - dann ermitteln der Teillängen der
gesplitteten Elemente - hier solltest Du vielleicht noch ein bisschen
genauer runden. (je nach bedarf)

3. erstellen eines String Arrays mit der Anzahl der Split Elemente.

4. LastSpaceOld Variable - um zu bestimmen - wie weit er schon war.

5. durchgehen des Strings - und ablegen der einzelnen Elemente im
StringArray.

6. wenn er beim letzten Element ist - also i == SplitElements - 1 muß er
natürlich den gesamten Rest rein kopieren.

7. Rückgabe als StringArray.

Man kann das ganze sicher noch verbessern - wie gesagt ist nur ein
Schnellschuß - wie das ganze funktionieren könnte. Weiterhin ist es sicher
auch ungünstig null zurück zu geben - wenn SplitElements = 1 ist. Besser
wäre da auch ein StringArray mit nur einem Element zurück zu geben. Aber das
würde jetzt den Rahmen sprengen.

Viel Spass beim Aussprobieren.

PS: Die Analyse von Bildern - ist aber deutlich komplizierter - da du dazu
immer das Bild auswerten müsstest - oder Du zwingend die Werte für Height
und Width mit im Text haben müsstest! Weiterhin ist da auch das Problem mit
Fließtext um das Bild. Somit wird es wohl recht schwer die genauen Daten zu
bestimmen. Aber machbar ist alles ;-)

-----Ursprüngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Raphael Saxer
Gesendet: Montag, 14. Februar 2005 20:49
An: asp.net@glengamoi.com
Betreff: [Asp.net] Text in Spalten aufteilen / & Silbentrennung

Hallo,
mein Layouter würde gerne die Texte in Spalten aufteilen. Bei zwei 
Spalten kann ich mir das ja noch vorstellen. Aber wie mache ich, dass er 
mir nicht mitten in einem Wort trennt sondern dort in der ungefähren 
Mitte des Textes wo ein Leerzeichen ist? Gibts da schon etwas 
Bestehendes? Eine Hilfe bezüglich Arbeiten mit Spalten oder so?

Ich bin mal soweit gekommen:
            string strContent = reader.GetString(1);
            int strLength = strContent.Length;
            strLength = strLength / 2;
            TR_Left.Text += strContent.Substring(0,strLength - 1);
            TR_Right.Text += strContent.Substring(strLength + 1);

(und wenn auf einmal noch ein Bild kommt? muss ich dann ausrechnen wie 
viele Zeichen die entsprechende Bildgrösse schluckt und das noch 
miteinbeziehen?)

Zweite Frage:
hat jemand schon mal was mit einer automatischen Silbentrennung gemacht?
meine Idee wäre dass man die meistgebrauchten Wörter in eine Datenbank 
eingibt und dann jeweils das Wort mit dem &shy; bei den Silben auch. 
Wenn nun jemand im Content Management den Text eingibt, dass es den Text 
mit Replace durchläuft und alle bekannten Wörter aus der Datenbank mit 
den Wörtern mit den &shy;'s ersetzt.
Gibts da was einfacheres, bestehendes oder so?

Vielen Dank und Gruss
Raphael


_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net



_______________________________________________
Asp.net Mailingliste, Postings senden an:
Asp.net@glengamoi.com
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an