Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Text Zeilenweise ausgeben

Mitglied: Power-Poler

Power-Poler (Level 1) - Jetzt verbinden

05.06.2013 um 18:40 Uhr, 1503 Aufrufe, 4 Kommentare, 1 Danke

Hallo
Hänge gerade an einem kleineren größeren Problem

Und zwar versuche ich eine Textausgabe für einen beliebig langen String zu realisieren.
Dieser soll ab einem bestimmten Punkt einen Zeilenumbruch machen, sodass der Text nicht unendlich nach rechts läuft.
Habe es jetzt so gelöst, das es für die ersten 5 Zeilen funktionieren würde, wenn der Text aber länger als 5 Zeilen ist funktioniert es wider nicht, und ich müsste es für unendlich viele Zeilen umsetzen, was ja nicht möglich ist.

01.
			if (i>80 && i<100 && Text.equals(" ") && Zeile1){ 
02.
				oben.replaceText("\n", i-1, i-1); 
03.
				Zeile1 = false;
Diesen Aufbau habe ich für die ersten 5 Zeilen gewählt.
i ist die Lauf variable, die Position des Zeichens im Text enthält, welches gerade ausgegeben wird.
Der String wird Buchstabe für Buchstabe ausgegeben, und daher ist bekannt, an welcher Position es sich im Text befindet.
80 und 100 ist die Position im Text, also zurzeit frage ich ob sich i zwischen 80 und 100 (bzw später 180 und 200 usw) befindet, ob sich an der stelle ein Leerzeichen befindet, und ob schon ein Zeilenumbruch in der Zeile gemacht wurde.
Sollten alle Bedingungen erfühlt sein, wird an dieser Textpostion ein Zeilenumbruch durch /n erzwungen, i um 1 zurückgesetzt, damit die Zeichenposition im String wider stimmt, und die Ausgabe keine Zeichen verschluckt.

Habe keine Idee, wie ich das für unendlich viele Zeichen umsetzen könnte.
i Läuft solange wie es Zeichen im Text gibt, habe mir schon überlegt, ob ich mit Modulo fragen kann, wo sich i befindend, ,also i%100 == 0bzw (i-20)%80 == 0
Aber dann habe ich nur genau diese zwei Positionen im Text, aber nicht zwischen genau diesen.
Glaube aber das es sowieso der falsch Ansatz ist, und ich mich jetzt noch Stunden (Tage) daran aufhalten werden.
Daher frage ich jetzt einfach mal, ob ihr noch eine Idee habt.

Schonmal Danke für eine Antwort
Mfg
Power-Poler
Mitglied: Arano
05.06.2013, aktualisiert um 19:48 Uhr
Hallo,

also die Position des möglichen, neuen Zeilenumbruchs ist doch Variable... warum verwendest du dann keine Variablen ?
Hm... und wenn 20 Zeichen als Spielraum nicht ausreichen ? (s. Zeile 3 meines Codes, so geschrieben __sind es__ 20 Zeichen !) (21 Zeichen wenn ich "ä" gegen "ae" tausche )
01.
$txtLenth = strlen( $langertext ); 
02.
$l = 80; // Zeilen_L_änge 
03.
$z = 20; // Zeilenlängen_Z_ugabe 
04.
$a = $l
05.
$b = $a+$z
06.
for( $i=0; $i<$txtLenth; ++$i
07.
08.
    if( $i>$a && $i<$b && Text.equals(" ") ) 
09.
10.
        echo "Leerzeichen gefunden an $i, zwischen Position $a bis $b"
11.
        // ...ersetze Leerzeichen durch Zeilenumbruch... 
12.
        $a = $i+$l; // neue Startposition = aktuelle Position plus Mindestzeilenlänge 
13.
        $b = $a+$z; // neue Endposition = neue Startposition plus Zugabe 
14.
         
15.
        continue; // ...um mit dem nächstem Schleifendurchlauf zu beginnen... Zeilenumbruch wurde ja erzeugt ! 
16.
17.
     
18.
    // Notfall Zeilenumbruch...  ( $i IST größer als $b
19.
    if( $i>$b
20.
21.
        // ...füge Zeilenumbruch ein... 
22.
        $a = $i+$l
23.
        $b = $a+$z
24.
25.
}
Sollte so (oder so ähnlich) doch funktionieren

...ein Bisschen aufgeräumter...
01.
$txtLenth = strlen( $langertext ); 
02.
$l = 80; // Zeilen_L_änge 
03.
$z = 20; // Zeilenlängen_Z_ugabe 
04.
$a = $l
05.
$b = $a+$z
06.
for( $i=0; $i<$txtLenth; ++$i
07.
08.
    if( $i<$a ) // die Zeichen vor Position $a interessieren uns nicht 
09.
        continue
10.
    // ab hier ist $i immer größer als $a 
11.
     
12.
    if( $i>$b ) // sollte $i tatsächlich mal größer als $b sein 
13.
14.
        // NOTFALL Zeilenumbruch 
15.
        $a = $i+$l
16.
        $b = $a+$z
17.
        continue
18.
19.
    // ab hier ist $i immer zwischen/an Position $a bis $b 
20.
 
21.
    if( Text.equals(" ") ) // wenn Leerzeichen gefunden... 
22.
23.
        echo "Leerzeichen gefunden an $i, zwischen Position $a bis $b"
24.
        // ...ersetze Leerzeichen durch Zeilenumbruch... 
25.
        $a = $i+$l; // neue Startposition = aktuelle Position plus Mindestzeilenlänge 
26.
        $b = $a+$z; // neue Endposition = neue Startposition plus Zugabe 
27.
28.
}

~Arano
Bitte warten ..
Mitglied: Power-Poler
05.06.2013 um 21:02 Uhr
Danke, funktioniert einwandfrei, und hat scheinbar gleiche ein anderes Problem mit gelöst, warum weiß ich zwar jetzt nicht, aber die Zeilenumbrüche bleiben beim auslesen erhalten, was sie vorher nicht gemacht haben.
Und ich habe noch einen Fehler im meinem code ausfindig gemacht, das i-1 ist misst.
er gibt zwar alle Zeichen aus, trennt aber mitten im Wort. Ohne das -1 geht es. Naja
Vielen dank für deine Hilfe!
Bitte warten ..
Mitglied: Arano
05.06.2013 um 21:15 Uhr
Hi,

Danke, funktioniert einwandfrei
HA, das freut mich, jetzt kann ich zufrieden schlafen gehen...

Frage noch als gelöst markieren und dann sind auch andere glücklich


~Arano
Bitte warten ..
Mitglied: Power-Poler
05.06.2013 um 22:09 Uhr
Da war ja was.
Hab ich ganz vergessen, werde ich sofort nachholen
Bitte warten ..
Ähnliche Inhalte
Windows Server

Powershell array zeilenweise in Textdatei ausgeben

gelöst Frage von Peter0816Windows Server6 Kommentare

Hallo, ich habe folgendes vor: $features = Get-WindowsFeature $features = $features.name und die Ausgabe am Bildschirm erscheint auch richtig: ...

Batch & Shell

Text Zeilenweise auslesen und variable überprüfen

Frage von BruendlBatch & Shell11 Kommentare

Moin Moin, ich habe eine Textdatei mit folgendem Inhalt: ich möchte jetzt gerne die beiden Werte, die von einem ...

VB for Applications

Text mit Msgbox Ausgeben bei verarbeitung

gelöst Frage von VBSnoob123VB for Applications1 Kommentar

Hallo, hat sich erledigt. hab mich entschlossen das Script in Html darzustellen und die anzeige direkt mit in die ...

Batch & Shell

Ergebnis in Text datei ausgeben

gelöst Frage von caschoplBatch & Shell2 Kommentare

Hallo, irgendwie stehe ich auf dem schlauch. Habe folgende Batch erstellt, aber der Text wier immer überschrieben. Das ergebnis ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 StundeWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 6 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 20 StundenSicherheit7 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server38 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing26 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless20 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...