Child: [288ae8] (diff)

Download this file

SFormAus.def    135 lines (115 with data), 7.4 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
DEFINITION MODULE SFormAus;
(*========================================================================*)
(* WICHTIG: BITTE NUR DIE DATEI XFormAus.mod.m2cc EDITIEREN !!! *)
(*========================================================================*)
(* *)
(* Prozeduren zur Ausgabe von N Parametern (dWriteN) auf einen Stream *)
(* Procedures for the output of N parameters (dWriteN) on a stream *)
(* ------------------------------------------------------------------- *)
(* *)
(* Die Art der Parameter und die Form deren Ausgabe wird dabei "uber den *)
(* String Format "ubergeben. *)
(* *)
(* Zul"assige Parameter sind : *)
(* *)
(* CARDINAL / LONGCARD : FORMAT = Cn *)
(* INTEGER : FORMAT = In *)
(* LONGREAL : FORMAT = Fn.m|En.m (Fest/Flie\3kommadarst.) *)
(* CHAR / ARRAY OF CHAR : FORMAT = S *)
(* CHAR / ARRAY OF CHAR : FORMAT = An (wie FORTRAN) *)
(* *)
(* n : Feldbreite *)
(* m : Nachkommastellen bei LONGREAL-Parametern *)
(* *)
(* Bei Angabe von "An" wird linksb"uendig ausgeschrieben und, wenn die *)
(* Zeichenkette zu kurz ist, mit Leerzeichen aufgef"ullt. *)
(* Ist die Zeichenkette zu lang wird sie abgeschnitten. *)
(* Wird A ohne Feldbreite angegeben wird der entsprechende Parameter wie *)
(* bei "S" ausgegeben *)
(* *)
(* Zus"atzlich kann durch das Zeichen "/" ein Zeilenvorschub erreicht *)
(* werden und durch Xn die Ausgabe von n Leerzeichen. *)
(* Alle Elemente des Formatstrings m"ussen dabei (Au\3er bei den Zeilen- *)
(* vorsch"uben) durch Kommata getrennt werden. *)
(* *)
(* Beispiel : *)
(* *)
(* Write3('//,S,C3,X5,F12.5,///','i,x : ',i,x); : *)
(* *)
(* Erzeuge zwei Zeilenvorsch"ube, schreibe 'i,x : ', gebe den *)
(* (CARDINAL-) Parameter i mit drei Ziffern aus, erzeuge 5 Leerzeichen, *)
(* gebe den (LONGREAL-) - Parameter x in Flie\3kommaformat mit einer *)
(* Feldbreit von 12 Zeichen und 6 Nachkommstellen aus und erzeuge dann *)
(* nochmals drei Zeilenvorsch"ube. *)
(*------------------------------------------------------------------------*)
(* Implementation : Michael Riedl *)
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
(* $Id: XFormAus.def.m2cc,v 1.3 2018/03/21 11:05:30 mriedl Exp mriedl $ *)
FROM SYSTEM IMPORT BYTE;
FROM Streams IMPORT Stream;
PROCEDURE SetExpAnz(nExp : CARDINAL);
(*----------------------------------------------------------------*)
(* Setzt die Anzahl der Ziffern im Exponenten von Fliesskomma- *)
(* zahlen in Exponentialschreibweise. Der Wert von nExp sollte *)
(* im Bereich [1..4] liegen, Vorgabe ist 2 was fuer die meisten *)
(* Zwecke ausreichend sein sollte. *)
(* Bitte beachten dass dieser Werte fuer TFormAus und FFormAus *)
(* nicht unabhaengig gewaehlt werden kann da beide Module auf *)
(* dieselben Schreibroutinen in FIO2.mod zurueckgreifen. *)
(* Defines the number of digits in the exponent of floating point *)
(* values in sientific or engineering representation. The value *)
(* of nExp shall be in the interval [1..4], default value is 2 *)
(* which should be sufficient for most cases. *)
(* Please not the for TFormAus and FFormAus the value cannot be *)
(* choosen independently. *)
(*----------------------------------------------------------------*)
PROCEDURE dWrite1(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite2(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite3(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE;
Par3 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite4(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE;
Par3 : ARRAY OF BYTE;
Par4 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite5(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE;
Par3 : ARRAY OF BYTE;
Par4 : ARRAY OF BYTE;
Par5 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite6(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE;
Par3 : ARRAY OF BYTE;
Par4 : ARRAY OF BYTE;
Par5 : ARRAY OF BYTE;
Par6 : ARRAY OF BYTE);
(*........................................................................*)
PROCEDURE dWrite7(VAR Aus : Stream;
Format : ARRAY OF CHAR;
Par1 : ARRAY OF BYTE;
Par2 : ARRAY OF BYTE;
Par3 : ARRAY OF BYTE;
Par4 : ARRAY OF BYTE;
Par5 : ARRAY OF BYTE;
Par6 : ARRAY OF BYTE;
Par7 : ARRAY OF BYTE);
END SFormAus.