home *** CD-ROM | disk | FTP | other *** search
/ Chip: Special Survival Kit / Chip_Special_Survival_Kit_fuer_PC_Anwender.iso / 01tools / asciipro / switch.doc < prev    next >
Text File  |  1994-09-01  |  6KB  |  138 lines

  1.     Beispiel- und Hilfe-Datei für <ASCII-PRO>-ANWENDER
  2.     Thema: Komplexe Funktionen wie "NAME + VORNAME" VERTAUSCHEN
  3.  
  4.             K. Th. Hell (c) 1994
  5.  
  6.  
  7.     Verschiedene Anwender haben immer wieder Spezialfunktionen verlangt.
  8.     Es wäre für den Autor praktisch immer möglich, diese Sonderfunktionen
  9.     in <ASCII-PRO> zu implementieren, allerdings auf Kosten der Programm-
  10.     grösse. Es wird deshalb angestrebt, <ASCII-PRO> nicht unlimitiert zu
  11.     vergrössern (sonst droht Speichermangel!), sondern alle diejenigen
  12.     Funktionen einzubauen, die notwendig sind, dass bei geschickter
  13.     Kombination alle Anforderungen erfüllt werden können.
  14.  
  15.     Mittels der MAKRO-Version von <ASCII-PRO> (die mit sehr wenig Speicher
  16.     auskommt), können von Spezialisten entsprechende MAKRO-Dateien kreiert
  17.     werden, die dann die gewünschten komplexen Funktionen automatisch
  18.     ablaufen lassen. Im folgenden dazu ein Beispiel:
  19.  
  20.     Ein Anwender hat folgende Adressliste:
  21.     " Heinz Müller"
  22.     "VRENI SCHNEIDER"
  23.     "Hans-Werner Fassbinder "
  24.     
  25.     Mit der "Funktion GROSS-klein (1. Buchstabe GROSS - alle andern klein)"
  26.     im Menu "TEXTMANIPULATIONEN" erreicht man, dass 
  27.     "VRENI SCHNEIDER" in "Vreni Schneider" gewandelt wird.
  28.  
  29.     Mit der Funktion "ALLE LEERSTELLEN am ZEILEN-ANFANG/ENDE entfernen"
  30.     im Menu "ZEILENMANIPULATIONEN" werden führende und nachfolgende 
  31.     Leerstellen in jeder Zeile entfernt.
  32.  
  33.     Jetzt sieht die Adressliste so aus:
  34.     "Heinz Müller"
  35.     "Vreni Schneider"
  36.     "Hans-Werner Fassbinder"
  37.  
  38.     Jetzt wird aber gewünscht, dass VORNAME und NAME vertauscht werden!
  39.  
  40.     Auch dies ist möglich:  (alle Dateien im gleichen aktiven Verzeichnis)
  41.     1. "DELETE.ASC" löschen, falls vorhanden
  42.     2. Die Adressdatei kopieren in "SWITCH.DAT"
  43.     3. Die MAKRO-Version von <ASCII-PRO> aufrufen mit der
  44.        Makro-Datei "SWITCH.MAK" (NICHT beiliegend): 
  45.             ASCMAKRO.EXE @SWITCH.MAK
  46.     
  47.     Jetzt sind NAME + VORNAME wie gewünscht vertauscht, und gleichzeitig
  48.     wurden am Zeilenende noch ev. vorhandene Leerstellen entfernt.
  49.  
  50.     Jede Zeile könnte auch als DATENBANK-Satz mit der Feld-ENDE-Marke 
  51.     CODE 32 und der Datensatz-ENDE-Marke CODE 13+10 betrachtet werden.
  52.      Deshalb sind die 2 Felder der Datenbank definiert. Daraus eine
  53.     Datenbank fester Feldlänge mit <ASCII-PRO>-DATENBANK-TOOLS automatisch
  54.     erstellen, dann die zwei Felder vertauschen (wiederum mit DATENBANK-
  55.     TOOLS), und schliesslich wieder eine Datenbank mit VARIABLER Feldlänge
  56.     erstellen (selbstverständlich wiederum mit <ASCII-PRO>).
  57.  
  58.     Mehrere aufeinanderfolgende LEERSTELLEN können auch mit der Funktion
  59.     "TEXTMANIPULATIONEN" auf 1 reduziert werden.
  60.  
  61.     Vielleicht ist Ihr Problem aber noch komplexer, weil nach dem Namen
  62.             noch die ganze Adresse folgt:
  63.     "Heinz Müller;Bahnhofstr.32;12345 Ort"
  64.     "Vreni Schneider;Lindenstr.11;D-654321 Dorf"
  65.     "Hans-Werner Fassbinder;Torgasse 2A;CH-1234 Stadt"
  66.  
  67.     Hier kann zuerst mittels der Funktion "LÖSCHEN bis 1. MARKE"
  68.     im Menu "ZEILENMANIPULATION" Vorname + Name in der Originaldatei
  69.     gelöscht (d.h. in die Datei "DELETE.ASC" kopiert) werden,
  70.     indem als MARKE ";" [CODE 59] eingegeben wird.
  71.             [Vorgängig "DELETE.ASC" löschen!]
  72.     Die neue KOPIE kann z.B. "KOPIE.TMP" genannt werden.
  73.  
  74.     In "KOPIE.TMP" steht jetzt:
  75.     "Bahnhofstr.32;12345 Ort"
  76.     "Lindenstr.11;D-654321 Dorf"
  77.     "Torgasse 2A;CH-1234 Stadt"
  78.  
  79.     In "DELETE.ASC" (ev. umbenennen) findet sich:
  80.     "Heinz Müller;"
  81.     "Vreni Schneider;"
  82.     "Hans-Werner Fassbinder;"
  83.  
  84.     In "DELETE.ASC" das Zeichen ";" [CODE 59] vorerst LÖSCHEN,
  85.     entweder mit "ZEILENMANIPULATION": letztes Zeichen ABSCHNEIDEN,
  86.     oder CODE 59 SUCHEN und durch CODE >0< (ev. >32<) ERSETZEN,
  87.     oder SUCHEN nach ";" und ERSETZEN durch NICHTS ("").
  88.  
  89.     Jetzt wie oben das MAKRO "SWITCH.MAK" mit den entsprechenden
  90.     Dateinamen auf die Datei "DELETE.ASC" anwenden, was in der neuen 
  91.     Kopie dann die gewünschten vertauschen Namen + Vornamen ergibt.
  92.     An jedem Zeilenende noch eine MARKE ";" einsetzen lassen kreiert 
  93.     die Datei "DELETE.TMP". Diese korrigierte Datei ebenfalls mittels
  94.     <ASCII.PRO> und ZEILENMANIPULATION 
  95.         "HERAUSKOPIEREN und an anderer Stelle/Datei EINSETZEN" 
  96.     in die Datei "KOPIE.TMP" zeilenweise an Position 1 einsetzen:
  97.         Wenn der Name der zwei Dateien verlangt wird,
  98.         1. zuerst die Datei angeben, in die an Zeilen-Position 1
  99.             HINEINKOPIERT werden soll ["KOPIE.TMP"]
  100.         2. dann die Datei aus der der angegebene Bereich (z.B. 1-100)
  101.             HERAUSKOPIERT wird ["DELETE.TMP"].
  102.     Das Resultat wird in eine neue Datei mit wählbarem Namen geschrieben.
  103.  
  104.     Eine andere Möglichkeit wäre, die Adressliste als DATENBANK zu
  105.     behandeln und mittels <ASCII-PRO> "DATENBANK-TOOLS" in eine 
  106.     STANDARD-DATEN-FORMAT-ASCII-DATEI (SDF mit fester Feldlänge!)
  107.     umzuwandeln:
  108.         "Heinz Müller          ;Bahnhofstr.32;12345 Ort    "
  109.         "Vreni Schneider       ;Lindenstr.11 ;D-654321 Dorf"
  110.         "Hans-Werner Fassbinder;Torgasse 2A  ;CH-1234 Stadt"
  111.     Dann ist das Feld mit Name und Vorname immer gleich lang, kann
  112.     mit der ZEILENMANIPULATIONS-Funktion 
  113.         "HERAUSSCHNEIDEN von POSITION (x) bis POSITION (y)"
  114.     herausgeschnitten, bearbeitet und wieder eingesetzt werden, etc.
  115.     Darnach kann diese Datenbank wieder in variable Feldlängen
  116.     umgewandelt werden, womit das Ziel auch erreicht ist.
  117.  
  118.     <ASCII-PRO> offeriert meist mehrere Lösungswege für komplexe
  119.     Umwandlungen, ev. auch über EINSETZEN einer MARKE an bestimmter
  120.     Position oder SUCHEN/ERSETZEN (wobei beim ERSETZEN auch eine MARKE
  121.     zusätzlich eingebracht werden kann), dann 
  122.     - ZEILENWEISES "LÖSCHEN ab/bis MARKE" oder 
  123.     - "LÖSCHEN von MARKE bis MARKE" (gelöschter Teil in "DELETE.ASC"), etc.
  124.  
  125.     NB: Die beiliegenden Dateien "SWITCH.*" haben folgende Bedeutung:
  126.         SWITCH.DOC    Dieser Text mit Erläuterungen
  127.         SWITCH.DAT    Datendatei als Beispiel
  128.  
  129.  
  130.     Nur für PROFESSIONELLE Version:
  131.     Aufruf von "ASCMAKRO.EXE @SWITCH.MAK" schneidet erstes Wort aus
  132.     jeder Zeile in "SWITCH.DAT" heraus und setzt es an letzter Stelle in
  133.     jeder Zeile wieder ein. Vorgang kreiert Temporärdateien.
  134.     Resultat steht in "SWITCH.NEU". 
  135.     Wenn nur "Vorname Name" in jeder Zeile steht, werden diese VERTAUSCHT.
  136.  
  137.  
  138.