Connect failed: Connection timed out

[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Inhalt einer Zeile löschen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Inhalt einer Zeile löschen

J.Puff
Beiträge gesamt: 236

20. Aug 2014, 23:28
Beitrag # 1 von 4
Bewertung:
(994 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich möchte den Inhalt bestimmter Zeilen, die mit hartem oder weichem Return enden, so löschen, dass die Zeile im Textfluss weiterhin Bestand hat.

Dieser (etwas plumpe) Versuch löscht auch die Return-Zeichen:
Code
_lineArr[i].contents = ''; 


Also füge ich zum Erhalt der Zeile wieder ein Return hinzu:
Code
_lineArr[i].contents = ''; 
_lineArr[i].contents = '\r'+_lineArr[i].contents;


Das klappt zwar, aber nun bekommt die vorherige Zeile das Absatzformat der gelöschten Zeile.

Sicherlich gibt es einen eleganten Weg den Inhalt einer Zeile ohne Nebenwirkungen zu eliminieren. Ich bin dankbar für Hinweise, da ich gerade auf der Leitung stehe …

Beste Grüße
Johannes
X

Inhalt einer Zeile löschen

Martin Fischer
  
Beiträge gesamt: 12779

21. Aug 2014, 06:58
Beitrag # 2 von 4
Beitrag ID: #531266
Bewertung:
(943 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Johannes,

was passiert, wenn Du den Inhalt der Zeile direkt durch "\r" bzw. '\n' ersetzt?

Code
_lineArr[i].contents = '\r'; 


bzw.

Code
_lineArr[i].contents = '\n'; 


Es wäre davor noch eine Fallunterscheidung zu treffen, wann '\r' und wann '\n' – je nachdem ob die Zeile mit einer Absatzschaltung oder einer Zeilenschaltung endet.


als Antwort auf: [#531263]

Inhalt einer Zeile löschen

Uwe Laubender
Beiträge gesamt: 5316

21. Aug 2014, 08:58
Beitrag # 3 von 4
Beitrag ID: #531270
Bewertung:
(909 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen!
Zudem wäre die Frage zu stellen, ob Text aus mehrzeiligen Absätzen nachrutschen kann. Das können wir nur ausschließen, wenn:

1. Keine Silbentrennung vorliegt
2. Der Adobe Einzeilen-Setzer für den Umbruch benutzt wird

Ich würde dann Zeichenweise löschen:

Fall 0: Nur ein Zeichen in der Zeile => nichts tun

Fall 1: Genau zwei Zeichen in der Zeile:
Code
_lineArr[i].characters[0].remove(); 


Fall 2: Mehr als zwei Zeichen in der Zeile:
Code
_lineArr[i].characters.itemByRange(0,-2).remove(); 


Ein Beispielstext wäre hilfreich. Als IDML zum Testen.
Auch die Methode wie Du "\n" herausfilterst.

Für Fall 2 hier eine Möglichkeit:

Code
var contentsOfLastChar = _lineArr[i].characters[-1].getElements()[0].contents; 

if(contentsOfLastChar === "\r" || contentsOfLastChar === SpecialCharacters.FORCED_LINE_BREAK){
_lineArr[i].characters.itemByRange(0,-2).remove();
};



als Antwort auf: [#531266]

Inhalt einer Zeile löschen

J.Puff
Beiträge gesamt: 236

21. Aug 2014, 11:29
Beitrag # 4 von 4
Beitrag ID: #531279
Bewertung:
(864 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
danke für die Hinweise, so klappt es prima. Vorausgesetzt es handelt es sich um Zeilen die mit einer Zeilenschaltung enden, wie es ja schon angesprochen wurde.

Beste Grüße
Johannes


als Antwort auf: [#531270]
X