1 /***********************************************************************
2 *
3 *               *****   ***    ***
4 *                  *   *   *  *   *
5 *                 *     ***    ***
6 *                *     *   *  *   *
7 *               *****   ***    ***
8 *
9 * A FREE Finite Elements Analysis Program in ANSI C for the Windows OS.
10 *
11 * Composed and edited and copyright by
12 * Professor Dr.-Ing. Frank Rieg, University of Bayreuth, Germany
13 *
14 * eMail:
15 * frank.rieg@uni-bayreuth.de
16 * dr.frank.rieg@t-online.de
17 *
18 * V15.0  November 18, 2015
19 *
20 * Z88 should compile and run under any Windows release, starting
21 * with Windows95.
22 *
23 * This program is free software; you can redistribute it and/or modify
24 * it under the terms of the GNU General Public License as published by
25 * the Free Software Foundation; either version 2, or (at your option)
26 * any later version.
27 *
28 * This program is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
31 * GNU General Public License for more details.
32 *
33 * You should have received a copy of the GNU General Public License
34 * along with this program; see the file COPYING.  If not, write to
35 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
36 ***********************************************************************/
37 /***********************************************************************
38 * wrim88x gibt Texte aus (1 FR_INT4)
39 * 30.7.2011 Rieg
40 ***********************************************************************/
41 
42 /***********************************************************************
43 * Fuer Windows
44 ***********************************************************************/
45 #ifdef FR_WIN
46 #include <z88x.h>
47 #include <windows.h>
48 #include <string.h>   /* strlen  */
49 #include <stdio.h>    /* sprintf */
50 #include <stdlib.h>   /* ltoa    */
51 #endif
52 
53 /***********************************************************************
54 * Formatbeschreiber
55 ***********************************************************************/
56 #ifdef FR_XINT
57 #define PD "%d"
58 #endif
59 
60 #ifdef FR_XLONG
61 #define PD "%ld"
62 #endif
63 
64 #ifdef FR_XLOLO
65 #define PD "%lld"
66 #endif
67 
68 /***********************************************************************
69 *  hier beginnt Function wrim88f
70 ***********************************************************************/
wrim88x(FR_INT4 i,int iatx)71 int wrim88x(FR_INT4 i,int iatx)
72 {
73 extern HDC hDC;
74 extern FR_INT4 LANG;
75 
76 size_t laenge;
77 
78 char cline[80];
79 
80 switch(iatx)
81   {
82 /*---------------------------------------------------------------------
83 * fuer Z88TX
84 *--------------------------------------------------------------------*/
85   case TX_REAI1:
86     if(LANG == 1) TextOut(hDC,10,50,"Z88I1.TXT einlesen",18);
87     if(LANG == 2) TextOut(hDC,10,50,"Reading Z88I1.TXT",17);
88   break;
89 
90   case TX_REANI:
91     if(LANG == 1) TextOut(hDC,10,50,"Z88NI.TXT einlesen",18);
92     if(LANG == 2) TextOut(hDC,10,50,"Reading Z88NI.TXT",17);
93   break;
94 
95   case TX_KOOR:
96     if(LANG == 1) TextOut(hDC,10,70,"Koordinaten einlesen",20);
97     if(LANG == 2) TextOut(hDC,10,70,"Reading coordinates",19);
98   break;
99 
100   case TX_POLAR:
101     if(LANG == 1)
102       TextOut(hDC,10,90,"Polar- auf kartesische Koordinaten umrechnen",42);
103     if(LANG == 2)
104       TextOut(hDC,10,90,"Converting polar to cartesian coordinates",39);
105   break;
106 
107   case TX_KOIN:
108     if(LANG == 1) TextOut(hDC,10,110,"Koinzidenz einlesen",19);
109     if(LANG == 2) TextOut(hDC,10,110,"Reading element infos",21);
110   break;
111 
112   case TX_SINFO:
113     if(LANG == 1) TextOut(hDC,10,150,"und Superelement-Infos einlesen",31);
114     if(LANG == 2) TextOut(hDC,10,150,"and reading superelement infos",30);
115   break;
116 
117   case TX_REAI2:
118     if(LANG == 1) TextOut(hDC,10,170,"Z88I2.TXT einlesen",18);
119     if(LANG == 2) TextOut(hDC,10,170,"Reading Z88I2.TXT",17);
120   break;
121 
122   case TX_REAI5:
123     if(LANG == 1) TextOut(hDC,10,210,"Z88I5.TXT einlesen",18);
124     if(LANG == 2) TextOut(hDC,10,210,"Reading Z88I5.TXT",17);
125   break;
126 
127   case TX_Z88TX:
128     if(LANG == 1) TextOut(hDC,10,230,"Start Z88TX: von Z88 nach DXF",29);
129     if(LANG == 2) TextOut(hDC,10,230,"Start Z88TX: from Z88 to DXF",28);
130   break;
131 
132   case TX_FX:
133     if(LANG == 1) TextOut(hDC,10,250,"Oeffnen Z88X.DXF",16);
134     if(LANG == 2) TextOut(hDC,10,250,"Opening Z88X.DXF",16);
135   break;
136 
137   case TX_FAC:
138     if(LANG == 1) TextOut(hDC,10,270,"Faktoren berechnen",18);
139     if(LANG == 2) TextOut(hDC,10,270,"Computing factors",17);
140   break;
141 
142   case TX_SDXF:
143     if(LANG == 1) TextOut(hDC,10,290,"DXF-Steuerwerte schreiben",25);
144     if(LANG == 2) TextOut(hDC,10,290,"Writing DXF main flags",22);
145   break;
146 
147   case TX_SELE:
148     if(LANG == 1) TextOut(hDC,10,310,"DXF-Entities schreiben",22);
149     if(LANG == 2) TextOut(hDC,10,310,"Writing DXF entities",20);
150   break;
151 
152   case TX_EXITZ88TX:
153     if(LANG == 1) TextOut(hDC,10,330,"Verlassen Z88TX, Z88X fertig",28);
154     if(LANG == 2) TextOut(hDC,10,330,"Leaving Z88TX, Z88X done",24);
155   break;
156 
157 /*---------------------------------------------------------------------
158 * fuer Z88FX
159 *--------------------------------------------------------------------*/
160   case TX_Z88FX:
161     if(LANG == 1) TextOut(hDC,10,50,"Start Z88FX: von DXF nach Z88",29);
162     if(LANG == 2) TextOut(hDC,10,50,"Start Z88FX: from DXF to Z88",28);
163   break;
164 
165   /* case TX_FX, gibts es schon oben */
166 
167   case TX_REAIX:
168     if(LANG == 1) TextOut(hDC,10,70,"Z88X.DXF einlesen",17);
169     if(LANG == 2) TextOut(hDC,10,70,"Reading Z88X.DXF",16);
170   break;
171 
172   case TX_DEC1ZI1:
173     if(LANG == 1)
174       TextOut(hDC,10,90,"Decodieren DXF, 1.Zeile .. (Z88I1.TXT)",38);
175     if(LANG == 2)
176       TextOut(hDC,10,90,"Decoding DXF, first line ..(Z88I1.TXT)",38);
177   break;
178 
179   case TX_DEC1ZNI:
180     if(LANG == 1)
181       TextOut(hDC,10,90,"Decodieren DXF, 1.Zeile .. (Z88NI.TXT)",38);
182     if(LANG == 2)
183       TextOut(hDC,10,90,"Decoding DXF, first line ..(Z88NI.TXT)",38);
184   break;
185 
186   case TX_DECKNO:
187     if(LANG == 1) TextOut(hDC,10,110,"Decodieren DXF, Knoten ..",25);
188     if(LANG == 2) TextOut(hDC,10,110,"Decoding DXF, nodes .....",25);
189   break;
190 
191   case TX_FOUKNO:
192     if(LANG == 1) sprintf(cline,PD " Knoten gefunden",i);
193     if(LANG == 2) sprintf(cline,PD " nodes detected",i);
194     laenge= strlen(cline);
195     TextOut(hDC,200,110,cline,laenge);
196   break;
197 
198   case TX_DECELE:
199     if(LANG == 1) TextOut(hDC,10,130,"Decodieren DXF, Elemente ..",27);
200     if(LANG == 2) TextOut(hDC,10,130,"Decoding DXF, elements ....",27);
201   break;
202 
203   case TX_FOUSELE:
204     if(LANG == 1) sprintf(cline,PD " Super-Ele. gefunden",i);
205     if(LANG == 2) sprintf(cline,PD " super ele. detected",i);
206     laenge= strlen(cline);
207     TextOut(hDC,210,130,cline,laenge);
208   break;
209 
210   case TX_FOUFELE:
211     if(LANG == 1) sprintf(cline,PD " Finite Ele. gefunden",i);
212     if(LANG == 2) sprintf(cline,PD " finite ele. detected",i);
213     laenge= strlen(cline);
214     TextOut(hDC,210,130,cline,laenge);
215   break;
216 
217   case TX_DEC1ZI2:
218     if(LANG == 1)
219       TextOut(hDC,10,170,"Decodieren DXF, # Randbed... (Z88I2.TXT)",40);
220     if(LANG == 2)
221       TextOut(hDC,10,170,"Decoding DXF, # constraints..(Z88I2.TXT)",40);
222   break;
223 
224   case TX_DECI2R:
225     if(LANG == 1)
226       TextOut(hDC,10,190,"Decodieren DXF,Randbeding... (Z88I2.TXT)",40);
227     if(LANG == 2)
228       TextOut(hDC,10,190,"Decoding DXF, constraints... (Z88I2.TXT)",40);
229   break;
230 
231   case TX_DEC1ZI5:
232     if(LANG == 1)
233       TextOut(hDC,10,230,"Decodieren DXF, # Flaechenl..(Z88I5.TXT)",40);
234     if(LANG == 2)
235       TextOut(hDC,10,230,"Decoding DXF, # surface loads(Z88I5.TXT)",40);
236   break;
237 
238   case TX_DECI5R:
239     if(LANG == 1)
240 
241       TextOut(hDC,10,250,"Decodieren DXF,Flaechenlasten(Z88I2.TXT)",40);
242     if(LANG == 2)
243       TextOut(hDC,10,250,"Decoding DXF, surface loads  (Z88I2.TXT)",40);
244   break;
245 
246   case TX_WRII1:
247     if(LANG == 1) TextOut(hDC,10,270,"Z88I1.TXT beschreiben",21);
248     if(LANG == 2) TextOut(hDC,10,270,"Now writing Z88I1.TXT",21);
249   break;
250 
251   case TX_WRINI:
252     if(LANG == 1) TextOut(hDC,10,270,"Z88NI.TXT beschreiben",21);
253     if(LANG == 2) TextOut(hDC,10,270,"Now writing Z88NI.TXT",21);
254   break;
255 
256   case TX_WRII2:
257     if(LANG == 1) TextOut(hDC,10,290,"Z88I2.TXT beschreiben",21);
258     if(LANG == 2) TextOut(hDC,10,290,"Now writing Z88I2.TXT",21);
259   break;
260 
261   case TX_WRII5:
262     if(LANG == 1) TextOut(hDC,10,330,"Z88I5.TXT beschreiben",21);
263     if(LANG == 2) TextOut(hDC,10,330,"Now writing Z88I5.TXT",21);
264   break;
265 
266   case TX_EXITZ88FX:
267     if(LANG == 1) TextOut(hDC,10,350,"Verlassen Z88FX, Z88X fertig",28);
268     if(LANG == 2) TextOut(hDC,10,350,"Leaving Z88FX, Z88X done",24);
269   break;
270 
271   }
272 return(0);
273 }
274 
275