DIALUP Programm zur Erstellung von Costfiles fuer viele andere Programme Version 1.70 (c) 1996,97 by Jens Weynans Inhalt: ===================================================================== I Einfuehrung 1.1 Vorwort 1.2 Danksagungen 1.3 Nutzungsbedingungen 1.4 Systemvoraussetzungen II Installation III Bedienung 3.1 Programmablauf 3.2 Batchbetrieb 3.3 Programmoptionen IV Konfiguration 4.1 Definition der Ausgabedateinamen 4.2 Feiertags-Format 4.3 Datumsabhaengige Definitionen 4.4 Zeilenformate 4.5 Feiertagsabhaengige Definitionen 4.6 Konfigurationsdateien-Templates 4.7 Optionale DIZ-File-Erzeugung 4.8 Optimierungsstrategien V Sonstiges VI Support VII Wie es weitergeht VIII Anhang IX Historie I Einfuehrung ===================================================================== 1.1 Vorwort --------------------------------------------------------------------- Mit DIALUP ist es moeglich, fuer verschiedene DFUE-Programme und Kostenberechnungsprogramme bzw. Nodelist-Compiler die Dateien zu erzeugen, die fuer die richtige Telefonkostenberechnung innerhalb Deutschlands notwendig sind. Aufgrund der angegebenen Vorwahl werden die gueltigen Entraege ermittelt. Da bei mir das Programmieren normalerweise besser klappt, als das schreiben von Dokumentationen, hoffe ich, dass diese halbwegs verstaendlich ist. Falls es irgendwelche Probleme mit dem Programm gibt, dann mailt mich einfach an. 1.2 Danksagungen --------------------------------------------------------------------- Ich danke folgenden Personen die DIALUP getestet, Hilfestellung geleistet, Informationen zugesandt, Fehler gefunden und/oder Interesse bekundet haben: Frank Albuschat, Jochen Arndt, Thomas Backhaus, Kai Brendel, Sven Buerger, Helmer Esser, Jupp Fengels, Horst Hackenbruch, Wilfried Hausmann, Jens Herrmann, Joerg Jaspert(*2), Peter Mandrella, Marcus Roeckrath(*1), Andr‚ Schenk, Olaf Schulz, Guenther Vos und viele andere. 1.3 Nutzungsbedingungen --------------------------------------------------------------------- Das Programm DIALUP ist FREEWARE, d.h. es darf frei verbreitet und benutzt werden, sofern dies nicht kommerziell geschieht. Falls jemand den Wunsch hegt, DIALUP auf einer CD mit anderen Programmen weiterzugeben, kann ich dies gerne tun, er sollte mich aber zumindest darueber informieren. Selbststaendlich darf das Programm nur in der Form weitergegeben werden, in der es von mir in Umlauf gebracht wurde. Gegen eine geringe Gebuehr erstelle ich aber auch speziell angepasste Versionen, die nur bestimmte Ausgabeformate unter- stuetzen und bei denen gewisse systemspezifische Vorgabe-Werte beruecksichtigt werden koennen. Natuerlich sollte klar sein, dass ich unter gar keinen Umstaenden fuer irgendwelche Schaeden, die durch die Anwendung dieses Programmes tatsaechlich oder vermeintlich entstanden sind, die Verantwortung uebernehme. Das einzige, was ich mit Sicherheit garantieren kann ist, das dieses Programm CPU-Zeit und Fest- plattenplatz verbraucht. Wer diese Bedingungen nicht aktzeptieren kann bzw. will, darf das Programm nicht benutzen !!. 1.4 Systemvoraussetzungen --------------------------------------------------------------------- DIALUP laeuft auf jeden IBM-kompatiblen Rechner (ab 286er) mit mind. 370KB Hauptspeicher und 2.5MB freien Festplattenspeicher. Eine DOS- Version groesser 3.1 wird dabei dringend empfohlen. II Installation ===================================================================== Entpacken Sie das Archiv DIAL17GR.ZIP in einem Verzeichnis Ihrer Wahl. Dabei werden folgende Dateien entpackt: - DIALUP.EXE Programmdatei - DIALUP.49 Datenbank fuer Deutschland - UTILS/MAKEDATF.BAT Hilfsprogramm - UTILS/JENKEYS.EXE Hilfsprogramm - DOCS/DIALUP.DOK Diese Datei - DOCS/JENKEYS.DOK Doku fuer Hilfsprogramm - SUPPORT.ZIP Supportdateien Es wird zur optimalen Benutzung von DIALUP dringend empfohlen, den Suchpfad um das Verzeichnis zu ergaenzen, in dem DIALUP und die Hauptprogrammdateien stehen. Die Datei SUPPORT.ZIP beinhaltet die Einzelkonfigurationen, die fuer DIALUP verwenden wurden: auspacken mit pkunzip -D -SUPPORT support eine ausfuehrlichere Dokumentation bezgl. der Bildschirmdarstellung, d.h. welche Datei fuer welche Darstellung zustaendig ist, ist auf Anfrage erhaeltlich -> Kuze Email an eine der genannten Adressen III Bedienung ===================================================================== 3.1 Programmsablauf --------------------------------------------------------------------- - SYNTAX: dialup [ output_path [time_out] ] Das Programm wird mit dem Aufruf DIALUP gestartet. Optional kann als Parameter der Pfad angegeben werden, in dem die erzeugten Dateien geschrieben werden sollen. Das Programm arbeitet mit der DOS-Standard Ein- und Ausgabe, d.h. das Programm kann auch ONLINE in einer Mailbox betrieben werden. Bemerkung: nur echte Schnitt- stellen oder Fosseltreiber, keine direkte CAPI. Nach dem Programmaufruf erscheint der Programmheader - nach Bedarf auch der aktuelle Ausgabepfad sowie die Timeout-Information - und das Programm wird initialisiert. DIALUP 1.70 (9/97) - (C)opyright by Jens Weynans 2:2433/401.80 german cost file generator for a lot of programs *FREEWARE* Ausgabepfad: ".\" Timeout sec: 180 Lese Vorwahlinfo ... Pruefe Vorwahlinfo ..... Erst waehlt man das gewuenschte Ausgabeformat: C[o]stgen (J. Arndt) [T]erminat (Bo Bendtsen) [M]cMail (M. McCabe) [X]point (P. Mandrella) Cost[G]et (C. Nau) Fd[K]ost (W. Wichern) Ko[s]ten96 (R. Bieler) [P]op/Fd/McmCost (Paczia) [Q]Node (J. West) F[d]Log (L. Lindinger) B[i]nkCost (T. Paulsen) [Y]upCost (H. Moeller) [B]ink:XE (V. Perriello) P[h]oneCost (A. Schenk) [C]BMC (K. Brendel) [N]CBMail (H-C. Fricke) [0]BinkTK/XenTK (Toson) Dial[u]p (J. Weynans) Exportform[a]t-Botschaft(Y.K)-Tele96-RateKo(R.S)-RateleKo(O.J.)-TelKos(N.G) Ihre Wahl : _O_ Bei jeder Eingabeaufforderung kann DIALUP mit CTRL^C, CTRL^X oder auch CTRL^Z abgebrochen werden. Mit CTRL^A wird die Eingabe geloescht. Je nach Wahl erscheinen in der Regel noch Optionsabfragen. (s. Kapitel 3.3) Mit ESC beendet man DIALUP, mit # aktiviert man das Ueberschreiben des Ausgabeformates. Danach muss man eine gueltige Vorwahl eingeben oder RETURN betaetigen um DIALUP zu beenden. Vorwahl(bereich) [RETURN fuer ENDE]: _0211_ oder Vorwahl(bereich) [RETURN fuer ENDE]: _0211_2000_ was fuer alle Vorwahlen im Bereich 0211 bis 02000 gelten wuerde. --- Sonderfaelle --- Gewuenschte(r) Vorwahl(bereich) [RETURN fuer ENDE]: <-+ beendet DIALUP Gewuenschte(r) Vorwahl(bereich) [RETURN fuer ENDE]: 0 <-+ Zurueck zum Menue Quasi als Bestaetigung erscheint der Ortsname: Gewaehlte Vorwahl = 0211 (Duesseldorf) und der Name Standard-Ausgabedatei, die normalerweise vom Programm fest vorgegeben ist. Es werden zum Teil auch mehrere Dateien erzeugt. Es koennen aber auch andere Namen gewaehlt werden (s. Kapitel 4.1) Beispiel: Ausgabedatei: _0211.DAT_ Danach erscheint wieder die Menueabfrage. 3.2 Batchbetrieb --------------------------------------------------------------------- im Prinzip ist es moeglich, DIALUP auch fuer die Online-Erstellung von DAT-Files zu verwenden. Als Hilfe habe ich das Programm JENKEYS (s. JENKEYS.DOC) und eine Beispielanwendung MAKEDATF.BAT beigefuegt. Es gibt sicherlich noch bessere Beispiele. 3.3 Programmoptionen --------------------------------------------------------------------- Nachfolgend sind die verschiedenen Optionen beschrieben. Die einzelnen Abschnitte der Dateien sind im Programm fest eingebaut. Im Bedarfsfall (z.B. Mailbox-Logo einfuegen) koennen jedoch verschiedene Teile ueberschrieben werden. Dazu muessen entweder im Programmver- zeichnis oder im aktuellen Verzeichnis die entsprechenden Dateien vorhanden sein. Erlaeuterungen zu den verwendeten Beschreibungen: [costgen.dtm, Liste, Orte, Feiertage] der erste Parameter gibt den Dateinamen an, der benutzt werden muss, um die Daten der Optionen zu ueberschreiben. die nachfolgenden Parameter besagen, dass folgende Abfragen im Programm erfolgen: {Liste} Art der Liste [Vollstaendig, Optimiert] : O {Orte} Ausfuehrliche Ortsangaben [Ja, Nein] : N {Feiertage} Feiertage beruecksichtigen [Ja, Nein] : N {Opt} --------- Sonderoption ------------ Die Werte hinter dem Doppelpunkt sind die Vorgabewerte. COSTGEN (1.14-1.17) (*1) ------------------- Dieses Programm von Jochen Arndt erzeugt COST-Files fuer Terminate (s.u.) mit sehr vielen Optimierungs- moeglichkeiten. DIALUP erzeugt die lokale Datendatei CG0*.DAT. [costgen.dtm, Liste, Orte] PhoneCost --------- Dieses Amiga-Programm von Andr‚ Schenk berechnet die Telefon- kosten anhand der Logfiles verschiedener Programme. DIALUP erzeugt die Konfigurationsdatei PH0*.COS . [phoncost.dtm] - Kontakt: andre@melior.s.bawue.de CBMC (ab 1.1) ------------- Dieses Programm von Kai Brendel erlaubt die Kosten-Analyse fuer CantaLoup, Binkley und McMail durch die Auswertung der Session-Logfiles. DIALUP erzeugt die Datei CB0*.CFG. [cbmc.dtm, Feiertage] - Kontakt via FidoNet: 2:2448/456 NCBMail (ab 2.x) ---------------- Dieses Programm von Hans-Christian Fricke beinhaltet eine eigene Kostenauswertung. DIALUP erzeugt die Konfigurationsdatei NCB*.CFG. [ncbmail.dtm] TERMINAT (ab 3.0) (*2) ----------------- Das Terminalprogramm von Bo Bendtsen beinhaltet eine recht maechtige Gebuehrenberechnung. Dialup erzeugt den Cost-File TE0*.CST auf Wunsch auch mit den Feier- tagsinformationen. [terminat.dtm, Liste, Feiertage] MCMAIL (*2) ------ Der Mailer von Michael McCabe beinhaltet eine eigene Gebuehrenberechnung. DIALUP erzeugt die lokale Datei 49-*.TBL und generiert nach Wunsch auch die Feiertags- daten. Optimierung erfolgt jetzt alphanumerisch. [mcmail.dtm, Liste, Orte, Feiertage] BCOST/2 - BINKCOST (ab 0.6) --------------------------- Das Programm von Toni Paulsen liest die LOG-Datei des Binkley Mailers "BINKLEY.LOG" und wertet deren Informationen fuer die Gebuehrenberechnung aus. Dialup erzeugt die Dateien BC*.NUM und BC*.TAG mit den Vorwahlen und den Feiertagsinformationen. [binkcost.dtm, Feiertage] XPOINT - CROSSPOINT (ab 3.11) (*2) ----------------------------- Das Mailer-Programm von Peter Mandrella beinhaltet eine eigene Gebuehrenberechnung. DIALUP erzeugt die Dateien GB0*.DAT, XPTARIFE.DAT und FEIERTAGE.DAT mit den Vorwahl-, Tarif- und Feiertagsinformationen. Dabei wird jetzt auch der Umstand beruecksichtigt, dass XP nach den First-Fit Verfahren arbeitet. [xpoint.dtm, Feiertage] FDLOG (ab 1.23) --------------- Das Programm von Lothar Lindinger wertet die Log-Dateien der folgenden Mailer/Requestprozessoren aus: FrontDoor, InterMail, Xenia Mailer, McMail, Binkley, T-Mail, QFront/PCB , FIPS, Prime External Request Processor RP, EasyERP sowie MCR (MCmail Request). Da das Programm sehr viele Konfigurationsmoeglichkeiten hat, sollte man auf jeden Fall die DIALUP-Standardkonfiguration aendern. DIALUP erzeugt die Datendatei 49-*.FDL. [fdlog.dtm, Orte, Feiertage] FDKOST (ab 2.19) (*2) ---------------- Das Programm von Wolfgang Wichern berechnet die Telefonkosten fuer Front-Door (Binkley/CantaLoup). DIALUP erzeugt die Konfigurationsdatei FD0*.INI [fdkost.dtm, Orte, Feiertage] COSTGET (ab 1.31) ----------------- Das Programm von Casten Nau wertet die LOG-Dateien von Binkley bzw. CantaLoup zur Gebuehrenberechnung aus. DIALUP erzeugt die Konfigurationsdatei COS*.CFG, wobei automatisch die Feiertage miteingetragen werden. [costget.dtm, Orte, Feiertage] BINKTK (fuer Binkley) ---------------------- XENTK (fuer Xenia) Die Programme von Massimo Tosson werten die Log-Files von Binkley bzw. Xenia aus. DIALUP erzeugt die Konfigurations- datei BTK*.CFG, welche fuer beide Programme verwendbar ist. [binktk.dtm] - Kontakt via Fidonet: 2:2435/603 POPCOST (fuer Portal of Power) (*2) ------------------------------ MCMCOST (fuer McMail) FD_COST (fuer Frontdoor) Die Programme von Guenther Paczia werten die Log-Dateien der verschiedenen "Mailer" aus und berechnen daraus die Kosten. DIALUP erzeugt die Datei GP0*.CFG und fuegt auch automatisch die Feiertage ein. Diese Konfigurations-Datei kann fuer alle drei Programme verwendet werden. [popcost.dtm, Liste, Feiertage] KOSTEN96 (ab 0.99) ------------------ Das Programm KOSTEN96 von Ralph Bieler wertet die Mailer-Logdateien von BinkleyTerm, FrontDoor, Xenia, Cantaloup und AdeptXBBS zur Kostenberechnung aus. DIALUP erzeugt die Konfigurationsdatei K96*.CFG inklusive der Feiertage. [kosten96.dtm, Feiertage] YUP-COST (ab 1.40) ------------------ Das Programm YUP-COST von Henning Moeller analysiert die Logfiles von BT-YUP (Yuppie! Mailer), FrontDoor, Binkley, McMail und Xenia. DIALUP erzeugt die lokale Vorwahldatei YP0*.VWL und auf Wunsch auch die Feiertagedatei YP0*.HOL. [yupcost.dtm, Orte, Feiertage] QNODE (ab 2.00) --------------- Beim dem Programm Qnode von James West handelt es sich um einen Nodelistcompiler. DIALUP erzeugt den Rumpfteil der Datendateien QN0*.CF? fuer die verschiedenen Tarifzeiten. Genau genommen werden folgende Dateien erzeugt: Datei fuer Tarif Mondschein = QN07461.CFM Datei fuer Tarif Nacht = QN07461.CFN Datei fuer Tarif Freizeit = QN07461.CFF Datei fuer Tarif Vormittags = QN07461.CFV Datei fuer Tarif Nachmittags = QN07461.CFT [qnode.dtm] BINKLEY:XE (ab 2.5) (*2) ------------------- Das Mailer-Programm von Vince Perriello beinhaltet eine eigene Kostenberechnung. Dialup erzeugt die Dateien 49-*.CST und 49-*.EVT mit den Tarif- und Vorwahlinformationen. [binkxe.dtm, Orte, Feiertage] DIALUP (ab 1.0) --------------- Diese Option erzeugt eine Datei JS0*.LST, welche die Zoneninformationen in einer Art und Weise darstellt, die der des Preisinformationsheftes des Telekom aehnelt. [listen.dtm, {Opt} Listen-Sortierung [Bereiche, Vorwahlen] : B ] EXPORTFORMAT ------------ Botschaft (ab 1.1x, Yadviga Kozak) RateKo (ab 2.11, Ralf Schiffers) RaTeleKo (ab 2.00, Oliver Jonas) Tele96 (ab 0.70, DARK) TelKos (ab 1.52, Norbert Gutbrot) Diese Programme holen sich die Dateien fuer die verschiedenen Vorwahlen eines Tarifbereiches jeweils aus einer seperaten Datei (z.T. auch noch die Feiertage). Da die Unterschiede der Programme minimal sind, habe ich diese unter den Begriff "Exportformat" zusammengefasst und als Spezial- faelle desselbigen betrachtet. Folgende Tabelle zur Veranschaulichung: City R50 R200 Fern Feiertags- Orts- Optimierte format namen Vorwahlen Allgemein ja ja ja ja/nein frei ja/nein ja/nein Botschaft ja ja ja nein d.m n nein nein Tele96 ja ja ja nein keins nein nein RateKo ja ja ja nein dm nein nein RaTeleKo ja ja ja nein d.m.Y nein nein TelKos ja ja ja nein d.m.y ja nein [aexport.dtm, {Opt} [A]llgemein, [B]otschaft, Tele[9]6, [R]ate([L]e)Ko, [T]elKo : A ] Fuer die Option "A" folgen noch weitere Abfagen: [Liste,Orte,Feiertage, {Opt} Feiertage-Format : d.m. ; n] Fuer die Beschreibung des Feiertagsformat s.Kapitel 4.2 Es werden folgende Dateien erzeugt (Beispiel fuer 0203): Datei fuer Tarif City = CI0203.DAT Datei fuer Tarif R50 = R50203.DAT Datei fuer Tarif R200 = R20203.DAT Bei Optimierung noch folgende Datei: Datei fuer Tarif Fern = FE0203.DAT Bei Feiertagen auch noch: Datei fuer Feiertage = FT0203.DAT IV Konfiguration ===================================================================== 4.1 Definition der Ausgabedateinamen --------------------------------------------------------------------- Bisher waren die Ausgabedateinamen fest vorgeben. Beispiel: Ausgabedatei: _0211.DAT_ dieses Beispiel wuerde der internen Definition 0*.DAT entsprechen, wobei * die jeweilige Vorwahl ohne fuehrende 0 ist. Waere die obige Definition ?.DAT gewesen, wuerde der entsprechende Ortsname als Ausgabedateiname genommen, also DUESSELDORF.DAT . Wie ueberschreibt man nun die vordefinierten Definition ? Bei der Menueabfrage einfach einmalig # betaetigen. Dann erscheint als weitere Option bei den spaeteren Abfragen: Ausgabe-Dateiformat: 0*.DAT welches man mit der Backspace-Taste ueberschreiben oder auch einfach bestaetigen kann. Sobald wieder das Menue angezeigt wird, ist das Ueberschreiben wieder deaktiviert. 4.2 Feiertags-Format --------------------------------------------------------------------- Bei den Feiertagsformat gibt es folgende Metazeichen: * = Feiertagskategorie 1 = Tage zwischen 2.1-23.12 2 = 1.1, 31.12, 24.12-26.12 und Tage zwischen 27.12-30.12, die aufs Wochenende fallen. 3 = Tage zwischen 27.12-30.12, die Werktage sind. n = Bezeichnung des Feiertages z.B. "Sylvester" N = wie voheriges, nur gross z.B. "TAG DER ARBEIT" y = Jahreszahl ohne Jahrhundert z.B. "96" Y = Jahreszahl mit Jahrhundert z.B. "1996" A = Monatsbezeichnung z.B. "Sep" m = Nummer des Monats mit 0-Fuellung z.B. "09" M = Nummer des Monats z.B. "9" d = Nummer des Tages mit 0-Fuellung z.B. "01" D = Nummer des Tages z.B. "1" \ = nachfolgendes Zeichen z.B. "\D" wird als Buchstabe D und nicht als Nummer des Tages interpretiert Alle anderen Zeichen werden nicht ersetzt. Aus "n, \der d.m." wuerde demnach z.B. "Pfingstmontag, der 27.05." 4.3 Datumsabhaengige Definitionen --------------------------------------------------------------------- Da sich im Laufe eines Jahres bestimmte Defintionen aendern und ich nicht fuer jede kleine Aenderung, die ab einen oder bis zu einen bestimmten Datum gilt, eine neue Version rausbringen muss, gibt es in der Konfiguration auch Zeilen mit datumsab- haengigen Definitionen am Zeilenende. Folgende Beispiele: 004812 xxxxxxx 00:00-23:59 4,50 DT@<19973131 -> dieses gilt bis einschliesslich 31.1.97 004812 xxxxxxx 00:00-23:59 3,00 DT@>19970701 -> dieses gilt ab den 1.7.97 004812 xxxxxxx 00:00-23:59 4,00 DT@>1997201DT@<19970630 -> dieses gilt zwischen den 1.2.97 und den 30.6.97 4.4 Zeilenformate --------------------------------------------------------------------- Ab der Version 1.7 koennen die Konfigurationsdateien im PRD-Format vorliegen. Dieses ist ein von Microsoft definiertes Format, um Sonderzeichen auch ohne speziellen Editor in einen Text einbauen zu koennen. z.B. wuerde der Ausdruck "Hallo^0d032^0x21" in "Hallo !" umgewandelt. Das Ascii-Zeichen 1 koennte als ^A, ^0d001 oder als ^0x01 dargestellt werden. Ein oe wuerde als ^0d148 geschrieben, ein Zeilenumbruch als ^M^J. 4.5 Feiertagsabhaengige Definitionen --------------------------------------------------------------------- þ gilt nur fuer Terminate, McMail und Binkley Falls man die Dateien austauscht, ist bei den Dateien fuer Terminat, McMail und Binkley zu beachten, das die Konfiguration der Feiertage sehr komplex sein kann. Zur Vereinfachung sind folgende Schluesselwoerter erlaubt: DT@HOL0 entspricht DT:3EAA_L -> Wochentage zwischen 1.1 und 31.12 DT@HOL1 entspricht DT:7F_LZL -> alle Tage zwischen 31.12 und 26.12 DT@HOL2 entspricht DT:41[L^L -> Wochenendtage zwischen 27.12 und 30.12 DT@HOL3 entspricht DT:3E[L^L -> Wochentage zwischen 27.12 und 30.12 DT@HOL4 entspricht DT:7FXLAA -> alle Tage zwischen 24.12 und 1.12 DT@HOL5 entspricht DT:7FBAWL -> alle Tage zwischen 2.1 und 23.12 DT@HOL6 entspricht DT:7FXLZL -> alle Tage zwischen 24.12 und 26.12 DT@HOL7 entspricht DT:7F_LAA -> alle Tage zwischen 31.12 und 1.1 SAT+SUN bzw. .....XX (Grossschreibung wichtig) werden zu DT:3E_LZL DT:3E_LZL und bzw. und Sat+Sun .....xx was den "alten" Feiertagsprinzip entspricht, so wie es noch fuer den City-Tarif gilt. die entsprechenden Eintraege liegen im Format DT:WWVVBB vor WW ist der Wochentagsschlussel, fuer den der Tarif gilt: 0=Sonntag, 1=Montag, ..... 5=Freitag, 6=Samstag Die Wertigkeit der Wochentage ist immer als 2^ zu betrachen z.B. Samstag und Sonntag waere 2^6+2^0=65 als Hexdezimalwert = 41, Montag bis Freitag waere z.B. 3E. Die Werte VV und BB sind Datumsschluessel und werden wie folgt gebildet: Zeichen(Nummer + 64) 01 02 .. 26 27 28 29 30 31 A B .. Z [ \ ] ^ _ z.b. vom 13.12 bis 24.12 waere 64+13 64+12 64+24 64+12=MLXL 4.6 Konfigurationsdateien-Templates --------------------------------------------------------------------- Eine wesentliche Neuerung in der Version 1.7 sind die Template- Dateien. Sie ersetzen jetzt schon die bisherige Teilung von den festen Bestandteilen, sprich Konfigurationsdateien und den Teilen, die DIALUP selbst erzeugt. Sie beinhalten gewissen Schleifen- konstrukte, Funktionen und Variablen und haben zur Folge, das es fuer jedes unterstuetzte Programm nur noch eine Steuerdatei gibt. Langfristig werden die internen Funktionen von DIALUP vollstaendig als Template definierbar sein, sodass die Wartung und Erweiterung des Programms wesentlich einfacher und effizienter sein wird. Als Beschraenkung sei die maximale Dateigroesse von 32000 Byte genannt. Die Template-Konstrukte werden einfach in die schon vorher beschriebenen Dateien eingebaut (s. *.DTM). Einige Konstrukte wurden ja schon aufgefuehrt, welche lediglich alte Konstrukte ersetzt haben: þ DT@> hiess frueher >;> und DT@< entsprechend <;< s. Kapitel 4.3 þ DT@HOL0 bis DT@HOL7 hiessen frueher HOLDAY0 bis HOLDAY7 bzw. DT:0000 bis DT:0007. s. Kapitel 4.5 Soweit zu den "alten" Konstrukten. Ein paar Erlaeuterungen zu den nachfolgend verwendeten Beschreibungen: .. - beliebige Zeichenfolge ^cr - Zeilenumbruch < > - Parameter des Konstruktes. Muss angegeben werden. <*> - variable Parameter-Anzahl. [ ] - dieser Ausdruck ist optional. Grossbuchstabe - Parameter unbestimmter Laenge kleinbuchstabe(n) - Der Parameter hat eine feste Laenge. Kommen wird nun zu der Kategorie der Steuer-Konstrukte: @DIALUP@ -------- Um kenntlich zu machen, das DIALUP die internen Routinen aus- fuehren soll, wird dieses Konstrukt eingefuegt. DT@FILE<[F].E> -------------- Dieses Konstrukt bewirkt den Wechsel der Ausgabedatei. Wird nur eine Dateierweiterung angegeben z.B. .HOL, wird der bisherige (vordefinierte) Dateiname genommen und mit dieser Erweiterung ergaenzt. Wird hingegen ein vollstaendiger Name angegeben z.B. FEIERTAG.DAT, wird natuerlich dieser Name genommen. ^cr[..]DT@COND[..]^cr ------------------------ Dieses Konstrukt kommt zum Einsatz, um eine oder mehrere Zeilen von einer Bedingung abhaengig zu machen. Wenn x=1 : wenn der Benutzer bei der Auswahl " Art der Liste" die vollstaendige Variante gewaehlt hat. x=2 : wenn der Benutzer bei der Auswahl "Ausfuehrliche Orts- angaben" gewaehlt hat. x=4 : wenn der Benutzer die Beruecksichtigung von Feiertagen gewaehlt hat. x=0 : hebt die Bedingungssituation wieder auf. die Werte koennen entsprechend addiert werden, z.B. wuerde x=7 alle drei Bedingungen vorraussetzen. Wenn das Konstrukt als Zeile fuer sich alleine steht ist die Situation klar. Es gilt solange, bis es durch DT@COND0 wieder aufgehoben wird. Folgt dem Konstrukt aber noch eine Zeichenkette z.B. DT@COND4 feier mal wieder^cr, gilt die Bedingung nur bis zum Zeilenende. es folgt nun die Kategorie der Standard-Funktionen: DF@YEAR ------- wird durch die aktuelle Jahreszahl ersetzt DF@FILL -------------- an dieser Stelle wird mal das Zeichen eingefuegt. DF@NAM ---------- DF@PRE ---------- an der Stelle wird entweder bei DF@NAM der Ortsname bzw. bei DF@PRE die Vorwahl (ohne fuehrende 0) eingefuegt. ist =0, gilt als Ort der Referenzort, fuer den DIALUP gerade Dateien erzeugt. Ist ein Wert zwischen 00 und 04, wird der erste Ort genommen, fuer den gilt, das dieser in der Zone vom Referenzort entfernt liegt. :00=lokal;01=City;02=Region 50;03=Region 200;04=Fern ^cr[..]DF@HOL^cr --------------------- dieses Konstrukt bewirkt, das nachfolgend die Feiertage entsprechend der Definition durch eingefuegt werden. Fuer das Format von s. Kapitel 4.2. Steht das Konstrukt alleine in einer Zeile, werden die Feiertage jeweils in eine Zeile geschrieben. Steht das Konstrukt aber hinter einen Ausdruck z.B. ^crFTAG @DF@COND2 d.m^cr, werden die Feiertage hintereinander an Ausdruck FTAG gehaengt. Die Variable steht fuer dem Umfang der Feiertage. x=1: Karfreitag,Ostersonntag,Ostermontag,1.5.Christi Himmelfahrt, Pfingstsonntag,Pfingstmontag,Tag der deut. Einheit x=2: wie x=1 sowie 1.1,24.12.,25.12.,26.12,31.12 x=3: wie x=2 und alle Tage zwischen den 27.12 und 30.12 Und nun folgt nun die Kategorie der Schleifen-Konstrukte: DM@LOOP - leitet ein Schleifenkonstrukt ein. ------- : : Zeilen fuer die die Schleife ausgefuehrt wird (max. 25) : DM@FOR<*>[]^cr ----------------------- DM@SEQ<*>[]^cr Der Parameter gibt an, wieviele verschiedene Parameter bei <*> folgen, sprich wieviele Variablen DIALUP zur Verfuegung stellt. der Parameter gibt an, wie das Trennzeichen zwischen den nach- folgenden Parametern ist z.B. , Diese Paramter duerfen keine Leer- zeichen enthalten (wird als Trennzeichen aufgefasst). Um trotzdem Leerzeichen in Parametern zu ermoeglichen, kann man anstelle des Leerzeichens das Zeichen _ verwenden. <*> ist die Parameterliste, wobei die einzelnen Parameter wie definiert durch das Zeichen getrennt sind. Wird als letztes Zeichen in einer Zeile das Zeichen angegeben, so wird die nachfolgende Zeile als Fortsetzungszeile interpretiert. Wird die Gesamtzeichenanzahl fuer die Parameterliste von 255 Zeichen ueberschritten, kann bzw. muss man das Konstrukt nochmal angeben. Der Unterschied von DM@FOR und DM@SEQ ist derjenige, das bei DM@FOR die Zeilen bei einen Schleifendurchlauf komplett abgearbeitet werden bevor der naechste Schleifendurchlauf beginnt, waehrend bei DM@SEQ fuer eine Zeile alle Schleifen durchlaufen werden und danach erst die naechste Zeile verarbeitet wird. Nachfolgend die Schleifen-Funktionen: DLF@NUM ------- wird durch die aktuelle Schleifendurchlaufsnummer ersetzt. DLF@VAR ---------- wird durch die aktuelle Belegung der Variablen mit der Nr. x ersetzt. Entspricht DLF@STR000 DLF@STR ----------------- wird durch die aktuelle Belegung der Variablen mit der Nr. x ersetzt. Dabei wird durch die Formatierung der Ausgabe bestimmt. legt die absolute Laenge der Ausgabe fest. :0=linksbuendig;1=rechtsbuendig;2=zentriert 4.7 Optionale DIZ-File-Erzeugung --------------------------------------------------------------------- Theoretisch kann man in den Konfigurations-Dateien die Erzeugung von FILE_ID.DIZ Dateien einbauen. Zm es etwas einfacher zu gestalten, kann man eine einzelne Datei FILE_ID?.DTM anlegen, wobei das ? den Buchstaben entspricht, der im Menue fuer die Auswahl der Programms gewaehlt werden muss. Die Template-Konstrukte wurden ja schon beschrieben. Als Beispiel fuer COSTGEN die Datei FILE_IDO.DTM: DT@FILE.DIZ DAT-File 1997, TERMINATE 3.x fuer Vorwahlbereich 0DF@PRE00 (DF@NAM00) 4.8 Optimierungsstrategien --------------------------------------------------------------------- Zur Zeit sind folgende "Optimierungen" implementiert: A) keine Optimierung. Unproblematisch bei den meisten Programmen, es sei denn, das diese nur eine begrenzte Anzahl von Eintraegen zulassen. B) Best-Fit. Die kompakteste Variante, problematisch bei Programmen, die nach den First-Fit Verfahren arbeiten, da diese den ersten passenden Ausdruck nehmen, und nicht den, der am besten passt. Beispiel: Zone 1 : 020 Zone 2: 0203 Zone3: 2031 Best-Fit wuerde bei den Suchbegriff 020312 den Eintrag der Zone 3 zuordnen, First-Fit der Zone 1. C) "Quasi"-First-Fit. Zweigeteilt, dabei werden "echte" Vorwahlen der Bereich R200 und Fern vollstaendig aufgefuehrt, danach werden optimierte Vorwahlen des Bereiches R200 soweit expandiert, bis keine Konflikte mehr mit den Bereich Fern auftreten. Wird bei Crosspoint und BinkXe benutzt. D) "Alpha-Numerik". Dabei werden die Vorwahlen alphanumerisch sortiert, Beispiel 2, 20, 21, 211, 22, 4, 43. Wird bei der optimierten Variante von McMail und bei CBMC benutzt. V Sonstiges ===================================================================== Bei Problemen und Anregungen bitte eine kurze Nachricht an mich: Jens Weynans Suedstrasse 27 47798 Krefeld VOICE: 02151-771057 FIDO: 2:2433/401.80 INTERNET: weynans@aol.com jens.weynans@duewag.dlf1.siemens.net jens.weynans@mailexcite.com VI Support ===================================================================== So erreicht man mich direkt Jens Weynans (DIALUP-ENTWICKLER): Fido ³ 2:2433/401.80 INTERNET http://weynans.aol.com/weynans/pub/dial??gr.zip ftp://weynans.aol.com/weynans/pub/dial??gr.zip SUPPORT-MAILBOX Wing BBS ³ ANALOG : (02156) 951-901 ³ 951-902 ³ ISDN : (02156) 951-911 ³ 951-912 ³ 951-949 ³ 952-830 ³ 952-831 ³ FIDO : 2:2433/351 ISDN ³ 2:2433/352 ISDN ³ 2:2433/353 ISDN ³ 2:2433/400 analog ³ 2:2433/401 analog ³ 2:2433/402 analog ³ 2:2433/403 ISDN ³ 2:2433/404 ISDN ³ SysOp : Wlfried Hausmann ³ Programmname : DIALUP (Magic) ³ Betareleases* : DIALBETA (Magic) * nur zeitweise VII Wie es weiter geht ===================================================================== Liegt jetzt eigentlich bei euch. Das Programm ist eigentlich fertig, Bugs sollten keine mehr vorhanden sein und mir faellt nicht mehr viel ein. Wenn euch noch irgend was fehlt, dann schreibt mir mal und ich werde sehen, ob es sich realisieren laesst. Was vielleicht irgendwann noch eingebaut wird ist folgendes: - Vis-a-vis Tarife: z. Zt. sind die entsprechenden Daten noch nicht vollstaendig genug, um eine allgemeine Zuordnung zu realisieren. Ausserdem sind diese Informationen durch die Vorwahlaenderungen in der Schweiz und Frankreich teilweise ueberholt. - Die Template-Umsetzung soll noch staerker erfolgen und das interne Schema nahezu aufloesen. - Falls ich je eine Datenbank mit den Vorwahl/Tarifen eines anderen Landes bekommen sollte, wird es auch eine Version fuer dieses Land geben. VIII Anhang ===================================================================== Alle verwendeten Warenzeichen und Programmnamen sind Eigentum der anerkannten Autoren bzw. Firmen und werden vom mir natuerlich als solche anerkannt. (*1) Costgen Datfiles: Lighthouse Terminate Support BBS - 2:2449/523 (*2) Datfiles fuer verschiedene Programme: Goliath BBS - 2:2435/190 IX Historie ===================================================================== 30.10.97 Version 1.70 Bugfix: - Reihenfolge im Costfile fuer McMail korregiert. - Tarifaenderungen der Telekom integriert. - Laenderliste jetzt vollstaendig. - Alle Aenderungen in die Datenbank eingebaut, die sich aus der Integration der Vorwahlen 033927 in 033922 und 033052 in 03304 ergeben. DB-RELEASE 5. Neuerungen: - Optimierte Variante von McMail voelig ueberarbeitet. - Menueauswahl nun auf bestimmte Formate beschraenkbar. - Neue Verzeichnisstruktur. - Eingabezeilen nun im PRD-Format erlaubt. - Aenderung der Ausgabedateinamen wieder moeglich. - Neue Reihenfolge: Menueabfrage und dann Vorwahleingabe - Templates zur Vereinfachung der Konfigurations- dateien implementiert. - Feiertags- und Datumsabhaengigkeit auf Template- schreibweise umgestellt. - Konfigurationsdateien auf Templateschema umgestellt. - FILE_ID.DIZ Erzeugung beruecksichtigt. - Neue Formate Botschaft, PhoneCost, BinkTK, XenTK, Rateleko, CBMC und NCBMail hinzugefuegt. - Dokumentation neu gestaltet. 30.03.97 Version 1.60 Bugfix: - Vorwahlen fuer San Marino, Monaco, Vatikanstadt, Slowakei und Tschechische Republik korriegiert. - Autor fuer Tele96 jetzt richtig. - Dateivertauschung bei Binkley und Feiertagsfehler bei YupCost, BinkCost und Fdlog beseitigt. - Neue Quix-Tarife (4/97) integriert. - Fehlende Zuordnung der eigenen Vorwahl bei 03xx Vorwahlen in Datenbank korregiert. - Alle Aenderungen in die Datenbank eingebaut, die sich aus der Aenderung der Vorwahlen 09002 bis 09009 ergeben. DB-RELEASE 4. Neuerungen: - Optionaler ANSI-Support integriert. - Bei der Vorwahl kann nun ein Bereich angegeben werden, fuer den die Tarifdateien erzeugt werden sollen. 20.03.97 Version 1.5y - Interimsrelease, nur auf Anfrage Bugfix: - Fehler bei Vorwahlen, die Berlin in City, R50 oder R200 Zone, in der Datenbank korregiert. DB-RELEASE 3 02.03.97 Version 1.5x - Interimsrelease, nur auf Anfrage Bugfix: - Fehler bei den Vorwahlen 039928, 039929, 04741 und 04948 in der Datenbank korregiert. DB-RELEASE 2. 12.01.97 Version 1.50 Bugfix: - Speichermanagement verbessert Neuerungen: - Anpassung an die neuen Tarife der Telekom, besonders die veraenderte Feiertagsstruktur bzw. Sondertage. - Ausgebautes Qnode-Format. - XPOINT-Support optimiert. - Neue Optionen fuer Tele96, Telkos und RateKo. 04-12/96 Version 1.4x - Interimsreleases, weg wegen Plattencrash. 02.06.96 Version 1.35 Bugfix: - Scall/Quix Tarife angepasst. - Timeout hinzugefuegt, damit bei der Online-Benutzung unf einen Verbindungsabbruch das das System nicht haengenbleibt Neuerungen: - Allgemeines Exportformat (inkl. Tele96 usw.) hinzugefuegt. - McmCost/FD_Cost/PopCost zusammengefasst. - Vorwahlen fuer Dominikanische Republik und GUS genauer - spezifiziert, sofern moeglich. 24.05.96 Version 1.30 Neuerungen: - Trennung Datenfile vom Exe-File. - Beruecksichtigung von Feiertagen integriert. - Es kann nun Ausgabepfad angeben werden. - Das Programm liest jetzt von der Standardeingabe bzw. schreibt in die Standardausgabe. - Neue Formate Qnode, Kosten96, YupCost, BinkCost und Fdlog hinzugefuegt. 06.05.96 Version 1.20 Neuerungen: - Teilweise Ersetzung der Dateiabschnitte durch eigene Dateien nun moeglich. - Formate CostGet, FdKost und McmCost hinzugefuegt. - Veraendertes Layout. April 96 Version 1.10 Neuerungen: - Neue Formate PopCost und FD_Cost hinzugefuegt. 22.03.96 Version 1.00 erste Version mit den Ausgabeformaten Costgen, Terminat, McMail, X-Point und Listenformat.