home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip: Special Survival Kit
/
Chip_Special_Survival_Kit_fuer_PC_Anwender.iso
/
01tools
/
asciipro
/
zerlegen.doc
< prev
Wrap
Text File
|
1994-09-01
|
13KB
|
251 lines
ERKLÄRUNGEN/BEISPIELE für "DATEI AUFTEILEN/ZERLEGEN" mittels <ASCII-PRO>
sowie "ZEILENWEISE MANIPULATIONEN mit MARKE"
K. Th. Hell (c)
INHALT:
1. Eine Datei mittels MARKEN auf zwei Datei-Kopien AUFTEILEN
2. AUFTEILEN einer grossen Datei auf mehrere kleinere Dateien mittels MARKE
3. DATEI ZERLEGEN in zwei neue KOPIEN mittels "ZEILENMANIPULATION: LÖSCHEN"
4. TEILE einer DATEI WEGSCHNEIDEN
5. Wichtige ANMERKUNGEN zu diesen Funktionen
1. Eine Datei mittels MARKEN auf zwei Datei-Kopien AUFTEILEN
______________________________________________________________________________
BEISPIEL:
FUSSNOTEN-Text aus VENTURA(TM)-Datei in eine neue Datei-KOPIE kopieren
und restlichen Text in eine neue zweite Datei-KOPIE kopieren.
Fussnotentext kann z.B. wie folgt innerhalb von Text markiert sein:
... Normaltext ... <$Fdies ist eine Fussnote> ... Normaltext
Vorgehen:
- Funktion "DATEI AUFTEILEN od. ZERLEGEN" aufrufen.
- >A< für AUFTEILEN wählen.
- Als 1. MARKE CODE-Länge = 2 und CODE 60 + 36 ("<$") wählen.
- Als 2. MARKE CODE-Länge = 1 und CODE 62 (">") eingeben.
- Option "MARKE LÖSCHEN" einschalten.
- Als NEUE MARKE CODE-Länge = 2 und CODE 13 + 10 eingeben.
- Option "NEUE MARKE nur in 2. Kopie" wählen.
- Dateinamen für beide Kopien eingeben.
Damit enthält KOPIE_1 nur noch den Normaltext ohne Fussnotentext, und
KOPIE_2 jede gefundene Fussnote auf einer eigenen Zeile.
Dieses Vorgehen funktioniert mit JEDER Art von Datei praktisch OHNE
Einschränkungen (Funktion arbeitet BINÄR, nicht zeilenweise, mit JEDEM
möglichen CODE-Zeichen).
Die restlichen MARKER-Teile am Zeilenanfang in KOPIE_2 können noch
mittels "ZEILEN-MANIPULATION", Funktion "POSITION X - Y LÖSCHEN" oder
der Funktion "STELLEN am ZEILEN-ANFANG ABSCHNEIDEN" entfernt werden.
Die ZEILENWEISE arbeitenden LÖSCHFUNKTION kopieren alle "gelöschten"
Zeichen zeilenweise in die Datei "DELETE.ASC", womit jeder Zeile in dieser
Datei eine komplementäre Zeile in der LÖSCH-Kopie entspricht.
2. AUFTEILEN einer grossen Datei auf mehrere kleinere Dateien mittels MARKE
______________________________________________________________________________
Mittels der Funktion "DATEI AUFTEILEN oder ZERLEGEN" kann eine grosse
Datei auch mittels MARKE in verschiedene Dateien zerlegt werden.
Beginnt z.B. in der betreffenden Datei jedes wichtige Stichwort oder
jede Überschrift mit "::", so SUCHEN Sie nach "::" und ERSETZEN "::"
durch "▓::" (MARKE + "::"), wobei die MARKE sonst im Text nicht vorkommen
darf.
Die Funktion "ASCII-CODE BERECHNEN" im Auswahl-MENUE "UTILITIES"
zählt alle vorkommenden ASCII-Zeichen und erlaubt damit, unbenutzte
Zeichen oder SONDER- /DRUCKERSTEUERUNGS-Zeichen zu erkennen!.
Jetzt als MARKE in Funktion "DATEI ZERLEGEN mittels MARKE" (Wahl von >C<)
die entsprechende MARKE eingeben (hier CODE 178). Das Programm eröffnet
immer eine neue numerierte KOPIE, wenn es diese MARKE antrifft
(MARKE kann später mittels <ASCII-PRO> wieder gelöscht werden).
Das selbe Prinzip kann natürlich auch mit der MARKE >CODE 12< (=FF) für
neue Seiten angewandt werden, so dass jede Seite (bis zu 999) in einer
eigenen Datei steht.
Diese Dateien können modifiziert und/oder umnumeriert werden.
Die Funktion "DATEI ZERLEGEN/WIEDER ZUSAMMENFÜGEN" setzt die Dateien gemäss
Datei-Nummer später wieder AUTOMATISCH in eine einzige grosse Datei
zusammen, sofern dies gewünscht wird:
Datei "BIN.001" + "BIN.002" + "BIN.003 ..., etc.
... solange eine fortlaufende nächste Datei-Nummer existiert!
3. DATEI ZERLEGEN in zwei neue KOPIEN mittels "ZEILENMANIPULATION: LÖSCHEN"
______________________________________________________________________________
Alle LÖSCH-FUNKTIONEN schreiben pro bearbeitete Zeile eine Zeile mit
dem LÖSCH-Inhalt in die Datei "DELETE.ASC". Damit stehen in der Folge
2 KOMPLEMENTÄRE Dateien pro Ausgangsdatei zur Verfügung, die sich
zeilenweise entsprechen (Anzahl Zeilen in beiden Dateien gleich).
Die Unterfunktionen "LÖSCHEN mit MARKE" verwenden nur EINE Marke mit
einem bestimmten, wählbaren ASCII-CODE zwischen 1-255.
Als MARKE sollte ein CODE zwischen 33-255 gewählt werden, der sonst in der
Datei noch NICHT vorkommt. Ein solches noch unbenutztes CODE-Zeichen lässt
sich mit der Funktion "ASCII-CODE ZÄHLEN" im MENUE "UTILITY" schnell
finden (in der Datei "ANZAHL.ASC" werden alle ASCII-CODE einer Datei
nach vorhandener Anzahl Zeichen aufgelistet).
Wird Funktion "Von MARKE bis MARKE zeilenweise LÖSCHEN" gewählt, sucht
das Programm die MARKE in jeder Zeile. Wird die MARKE gefunden, KOPIERT
<ASCII-PRO> die Zeile ab MARKE in "DELETE.ASC", bis die gleiche MARKE
in der selben Zeile wieder auftritt. In einer KOPIE mit beliebig
wählbarem Namen wird ZEILENWEISE der Zeileninhalt OHNE den kopierten
Bereich aufgeführt.
Sie haben z.B. in Ihrem Dokument folgende Zeile:
"Zeile mit Text.<MARKE_ANFANG> ...Fusszeilentext <MARKE_ENDE> Weiter."
und wollen jeweils alles zwischen <MARKE_ANFANG> und <MARKE_ENDE> in eine
andere Datei kopieren, sowie den Rest des Textes in eine weitere neue
Datei kopieren. Falls die MARKEN <MARKE_ANFANG> und <MARKE_ENDE> höchstens
je 1 x pro Zeile vorkommen und es sich um eine ASCII-Datei handelt,
können Sie wie folgt vorgehen (andernfalls siehe Methode unter Punkt 1.):
- Falls die zwei Marken verschieden und länger als 1 Zeichen lang sind,
muss ein sonst in der Datei noch nicht vorhandenes CODE-Zeichen als
Zusatz-Marke eingebracht werden. Dazu stehen in <ASCII-PRO> mehrere
Methoden zur Verfügung.
Am einfachsten kann eine fast beliebig lange Zeichenkette GESUCHT und
ERSETZT werden mittels der Funktion "SUCHEN/ERSETZEN mit SUCHLISTE", die
eine paktisch unlimitierte Anzahl SUCHEN/ERSETZEN-Begriffen erlaubt, oder
mit der Funktion "SUCHEN/ERSETZEN mit DIREKTER EINGABE von bis zu
12 verschiedenen Zeichenketten GLEICHZEITIG". Diese beiden Funktionen
arbeiten ZEILENWEISE und nur bis zum 1. ASCII-CODE 26 <END-of-FILE>.
Zudem ist die Eingabe von Sonderzeichen oder NICHT DRUCKBAREN CODE-Zeichen
oft problematisch.
Die im folgenden beschriebene Methode mag komplizierter sein, funktioniert
aber beim SUCHEN/ERSETZEN mit JEDER Datei und mit ALLEN ASCII-CODE 1-255:
- Mittels "ASCII-CODE SUCHEN/ERSETZEN" wird nach <MARKE_ANFANG> GESUCHT
(im Beispiel als CODE-STRING von Länge=14 mit den CODE 60,77,65,82,69 etc.
eingeben). Falls diese Sequenz GEFUNDEN wird, soll das Programm diese
ERSETZEN z.B. durch "▒<MARKE_ANFANG>", d.h. vor dem ursprünglichen
CODE-STRING wird eine zusätzliche eindeutige MARKE z.B. mit CODE 177
gesetzt.
- Das gleiche Prinzip mit dem CODE-STRING für die Endmarke vornehmen,
also z.B. <MARKE_ENDE> wieder mit dem gleichen CODE-Zeichen (z.B. "177")
ergänzen: "<MARKE_ENDE>▒"
- Jetzt sieht Ihre Zeile so aus:
"Zeile mit Text.▒<MARKE_ANFANG> ...Fusszeilentext <MARKE_ENDE>▒ Weiter."
- Jetzt mit der Funktion "Von MARKE bis MARKE zeilenweise LÖSCHEN"
den gewünschten Text in DELETE.ASC kopieren (dabei als "MARKE" den
betreffenden ASCII-CODE [hier "177"] eingeben).
Jetzt finden Sie in "DELETE.ASC" folgende Zeile:
"▒<MARKE_ANFANG> ...Fusszeilentext <MARKE_ENDE>▒"
und in Ihrer Datei-KOPIE:
"Zeile mit Text. Weiter."
Damit sind die Texte wie gewünscht in 2 verschiedene Kopien KOPIERT worden.
Später können die unerwünschten Marken noch GELÖSCHT werden
(z.B. SUCHEN nach "▒<MARKE_ANFANG>" und ERSETZEN mit NICHTS "").
4. TEILE einer DATEI WEGSCHNEIDEN
_________________________________
Oft steht der zu bearbeitende Text zwischen Programmteilen, die
unverändert bleiben sollen (HEADER oder PRINTER-Anweisungen), z.B.
TEIL_1 .....
TEXT Zeile 1
Zeile 2
Zeile 3, etc.
TEIL_3 .....
In einem solchen Falle kann mittels <ASCII-PRO> eine MARKE am Ende
von TEIL_1 und am TEXT-Ende eingebracht werden (z.B. SUCHEN nach den
letzten CODE-Zeichen der entsprechenden Teile und ERSETZEN durch
letzte CODE-Zeichen + CODE 26) [CODE-Zeichen dem HEX-DUMP entnehmen
und in DEZIMAL-Code 1-255 umrechnen].
Darnach mit Funktion "DATEI ZERLEGEN mittels CODE-MARKE" diese
Datei bearbeiten (Binärdatei wählen!) und dabei den CODE der
entprechenden Marke eingeben, z.B. CODE 26.
Das Programm teilt nun die Datei auf drei Dateien
BIN.001, BIN.002 und BIN.003 auf.
BIN.002 enthält den gewünschten zu bearbeitenden Text und kann nun
beliebig umgeandelt werden.
Falls gewünscht, setzt <ASCII-PRO> die Dateien BIN.001 + BIN.002, etc.
wieder automatisch zusammen, falls die veränderte Datei entsprechend
in "BIN.002" umbenannt oder kopiert wurde.
Die zusätzliche Marke (hier >CODE 26<) lässt sich mit <ASCII-PRO>
wieder entfernt.
5. Wichtige ANMERKUNGEN zu diesen Funktionen
____________________________________________
a) Eine vorbestehende Datei "DELETE.ASC" muss vorher gelöscht oder
umbenannt werden, da sonst der "gelöschte" Text angefügt wird und
die Zeilen-Numerierung nicht mehr aufeinander abgestimmt ist.
b) Alle Funktion unter "ZEILENMANIPULATIONEN" funktionieren nur mit
ASCII-Dateien, d.h. bis zum ersten CODE 26 <EOF> und nur mit Zeilen,
die höchstens 32'000 Zeichen pro Zeile enthalten.
Selbstverständlich vermag <ASCII-PRO> JEDE Datei und jedes Programm
in eine reine ASCII-Datei umzuwandeln: siehe dazu Dokumentation
über "FLIESSTEXT" oder "AUSGABE einer DATEI" im Hauptauswahlmenu
oder "HERAUSFILTRIEREN von allen lesbaren ASCII-CODE-Zeichen aus
Binär/Programm-Dateien" unter "TEXT-MANIPULATIONEN". Oft werden
Dateien bereits lesbar, wenn alle ASCII-CODE 26 mittels
"STEUERZEICHEN [CODE < 32] UMWANDELN/ELIMINIEREN" durch eine andere
MARKE ersetzt wurden.
Bei sehr grossen RANDOM-Dateien, die aus einer einzigen Zeile
bestehen, kann zur Bearbeitung der Datensätze mittels "DATENBANK TOOLS"
nach jedem Datensatz temporär je eine CODE-Folge "13+10" als
FELD-ENDE-Marke eingesetzt werden, womit die Datei aus ebenso vielen
Zeilen wie Datensätzen besteht und nun ZEILENWEISE bearbeitet
werden kann (Zeichenzahl pro Datensatz NICHT verändern, CODE 13+10
später wieder entfernen).
c) Die Funktion "DATEI AUFTEILEN" erlaubt, in JEDER DATEI nach einer
CODE-MARKE (=1.MARKE) von bis 99 CODE-ZEICHEN zu suchen, um dann ab
dieser CODE-Folge alle Zeichen in eine separate Datei zu kopieren, bis
der SCHLUSS-CODE (=2.MARKE) von wieder bis zu 99 Zeichen Länge gefunden
wird, etc., wobei 1. und 2. MARKE identisch sein dürfen.
Zusätzlich kann noch ein weitere NEUE CODE-MARKE eingebracht werden.
Dies funktioniert im Gegensatz zu "ZEILEN-MANIPULATIONEN" in JEDER Art
vonDatei.
Zudem können dabei lange CODE-Sequenzen direkt eingegeben werden.
d) Mittels Funktion "ASCII-CODE SUCHEN/ERSETZEN" können in JEDER Datei
bis 99 aufeinanderfolgende CODE-Zeichen gesucht und ersetzt werden.
Wird eine CODE-Folge durch die gleiche CODE-Folge ersetzt, wird eine
identische KOPIE der Datei erzeugt.
Das Programm zählt jeweils die Anzahl gefundenen Übereinstimmungen
mit der SUCH-Sequenz und gibt diese Anzahl als "TREFFER" aus.
Damit lässt bestimmen, wie oft ein bestimmtes Zeichen oder eine
gewisse Zeichenfolge in einer beliebigen Datei vorkommt:
z.B. SUCHEN nach " und " (Länge=5, CODE=32,117,110,100,32)
ERSETZEN mit "+" (Länge=1, CODE=43)
NAME Ursprungsdatei und NAME der neuen Kopie eingeben ...
Programm erstellt eine Kopie (auch von Programmdateien!)
und gibt ANZAHL TREFFER aus (Anzahl gefundene " und ").
e) Weitere Informationen in "HILFE.TXT", "ASCIPRO.DOC" und "SUCH.DOC".
f) Übrigens vermag <ASCII-PRO> aus 2 Dateien ZEILENWEISE eine NEUE KOPIE
zu bilden. Der entsprechende herauszukopierende Zeilen-Bereich und die
Zeilenposition zum Einfügen ist frei wählbar.
In ZEILEN-MANIPULATION "HERAUSKOPIEREN ± EINFÜGEN in Zeile/DATEI":
- Angabe, von wo bis wo HERAUSKOPIEREN (Zeilen-Positionen)
- Auffüllen mit <SPACE> ? (Ja/Nein)
- Wieder EINFÜGEN ?
Falls JA: In NEUE Datei ?
Falls JA: WO (Zeilenposition angeben) ?
Alles RICHTIG ? Falls JA:
DATEI angeben, in die HINEINKOPIERT werden soll
DATEI angeben, aus der HERAUSKOPIERT werden soll
NAME der neuen KOPIE für RESULTAT eingeben ...
g) Mittels MAKRO-Version können auch komplexe Umwandlungen AUTOMATISIERT werden.
MAKRO-Version nur zusammen mit PROFESSIONELLER Version erhältlich!