File: PROTOCOL\TProtocolLanguage.cpp

    1 //******************************************************************************
    2 //Datei     : TProtocolLanguage.cpp
    3 //Projekt   : XCTL
    4 //Subsystem : Protokollbuch
    5 //Autor     : Jens Klier <klier@informatik.hu-berlin.de>
    6 //            Institut fuer Informatik,
    7 //            Humboldt-Universitaet Berlin
    8 //Inhalt    : Implementation der Klasse TProtocolLanguage
    9 //******************************************************************************
   10 //!neu klier Protokollbuch
   11 
   12 #include "internls\evrythng.h" // GermanVersion
   13 #include "winresrc\rc_prtow.h" // Ressourcen-IDs
   14 #include <commdlg.h>
   15 #include <commctrl.h>
   16 
   17 #include "protocol\TProtocolLanguage.h"
   18 
   19 //--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--//--||--\\--||--
   20 
   21 TProtocolLanguage::TProtocolLanguage()
   22 {
   23 #ifdef GermanVersion
   24         SetLanguage(german);
25 #else 26 27 SetLanguage(english);
28 #endif //GermanVersion 29 }; 30 31 void TProtocolLanguage::SetLanguage(TLanguage Language) 32 { 33 ProtocolLanguage= Language; 34 switch (Language) 35 { 36 case german: 37 strFailure= "Protokollbuch - Fehler"; 38 strWarning= "Protokollbuch - Warnung"; 39 strQuestion= "Protokollbuch - Frage"; 40 strMessage[0]= "Protokollbuch - Meldung"; 41 //Meldungen TProtocol.cpp 42 strMessage[1]= "Speicherfehler: Kein Speicher mehr für new Parameter!"; 43 strMessage[2]= "Die Protokollbuchdatei %s existiert nicht! Soll die Datei neu erstellt werden? (Wenn nicht können Sie nach ihr suchen.)"; 44 strMessage[3]= "Protokolldatei konnte nicht erstellt werden!\nÜberprüfen Sie ob das Verzeichnis %s existiert!"; 45 strMessage[4]= "Fehler beim initialisieren des Protokollbuches!\nDie Protokollbuchfunktion kann nicht verwendet werden!"; 46 strMessage[5]= "Speicherfehler: Kein Speicher mehr für new INDEX!"; 47 strMessage[6]= "Speicherfehler: Kein Speicher mehr für new POINT!"; 48 strMessage[7]= "Datei konnte nicht importiert werden!"; 49 strMessage[8]= "Importstatistik:\n\nImportierte Messungen: "; 50 strMessage[9]= "Importierte Skizzen: "; 51 strMessage[10]= "Nicht importierte doppelte LfdNr: "; 52 strMessage[11]= "Nicht importierte fehlerhafte Messungen: "; 53 strMessage[12]= "Nicht importierte gelöschte Messungen: "; 54 strMessage[13]= "Nicht importierte vorhandene Skizzen: "; 55 strMessage[14]= "Nicht importierte nicht vorhandene Skizzen: "; 56 strMessage[15]= "Die Protokolldatei ist fehlerhaft!!!\nDer Parameter %s: %s ist ungültig!"; 57 strMessage[16]= "Die Protokolldatei ist fehlerhaft!!!\nDer Parameter Lfd.-Nr.: %s und/oder Datum: %s sind ungültig!"; 58 //Fenster - Datei öffnen 59 strMessage[17]= "Protokollbuch - Datei öffnen"; 60 //Meldungen TProtocolDlg.cpp 61 strMessage[18]= "Ein Wert wurde verändert!\nSollen die Parameter gespeichert werden?"; 62 strMessage[19]= "Der Wert %s muß eingetragen werden!"; 63 strMessage[20]= "Der Wert %s wurde von \"%s\" auf \"%s\" geändert!"; 64 strMessage[21]= "Der Wert %s: %s : darf maximal %d Zeichen lang sein!"; 65 strMessage[22]= "Soll das Aufzeichnen der Messung ins Protokollbuch beendet werden?"; 66 strMessage[23]= "Fehler in PicFile!"; 67 strMessage[24]= "Passwort falsch!"; 68 strMessage[25]= "Skizze löschen?"; 69 strMessage[26]= "Wenn Sie diese Messung mit einem Passwortschutz versehen, ist eine automatische Parameterübernahme in diese Messung nicht mehr möglich!\nWollen Sie die Messung mit einem Passwort schützen?"; 70 strMessage[27]= "Wenn Sie diese Messung mit einem Passwortschutz versehen, können Sie evtl. einige Parameter nicht mehr ändern!\nWollen Sie die Messung mit einem Passwort schützen?"; 71 strMessage[62]= "Parameter gespeichert!"; 72 strMessage[63]= "Neue Messung!"; 73 strMessage[64]= "LfdNr. eingeben"; 74 strMessage[65]= "Freihand zeichen."; 75 strMessage[66]= "Linien zeichnen."; 76 strMessage[67]= "Der Skizze wird erst nach dem abschließenden \"Ok\" gespeichert!"; 77 strMessage[68]= "Skizze zeichnen!"; 78 strMessage[69]= "Die Skizze wurde geändert!"; 79 //Meldungen TProtocolDiffractometryDlg.cpp 80 strMessage[28]= "Eingabe %s ist fehlerhaft! Bitte korrigieren! (Pflichtfeld!)"; 81 //Meldungen TProtocolManagePrintDlg.cpp 82 strMessage[29]= "Nicht genug Speicher vorhanden!"; 83 strMessage[30]= "Es ist keine Messung markiert!\nSollen alle "; 84 strMessage[31]= " Messungen gedruckt werden( "; 85 strMessage[32]= " Messung gedruckt werden( "; 86 strMessage[33]= " Druckseiten A4)?"; 87 strMessage[34]= "Es ist keine Messung markiert!"; 88 strMessage[35]= "Printer cannot display bitmaps."; 89 strMessage[36]= "Druckfehler!\nGetDeviceCaps()"; 90 strMessage[37]= "Druckfehler!\nStartDoc()"; 91 strMessage[38]= "Druckfehler!\nEndPage()"; 92 strMessage[39]= "Druckfehler!\nStartPage()"; 93 strMessage[40]= "Druckfehler!\nEndDoc()"; 94 strMessage[41]= "Druckfehler!\nLoadProtocolString()"; 95 strMessage[42]= " Messungen markiert -> "; 96 strMessage[43]= " Messung markiert -> "; 97 strMessage[44]= " Druckseiten A4"; 98 strMessage[45]= "Markieren Sie eine Messung!"; 99 strMessage[46]= "Bitte warten...."; 100 strMessage[47]= "Import beendet!"; 101 strMessage[48]= "Import fehlgeschlagen!"; 102 strMessage[49]= "Wiederherstellen"; 103 strMessage[50]= "Löschen"; 104 strMessage[51]= " Messungen gelöscht!"; 105 strMessage[52]= " Messung gelöscht!"; 106 strMessage[53]= " Messungen wiederhergestellt!"; 107 strMessage[54]= " Messung wiederhergestellt!"; 108 strMessage[55]= "Drucke Seite "; 109 strMessage[56]= " von "; 110 strMessage[57]= " Seiten."; 111 //Meldungen TProtocolTopographyManagePrintDlg.cpp, TProtocolDiffractometryManagePrintDlg.cpp 112 strMessage[58]= "Eingabe Datum korrigieren"; 113 strMessage[59]= " Messungen wurden gefunden"; 114 strMessage[60]= " Messung wurde gefunden"; 115 strMessage[61]= "keine Messung gefunden"; 116 break; 117 118 case english: 119 strFailure= "protocol - Error"; 120 strWarning= "protocol - Warning"; 121 strQuestion= "protocol - Question"; 122 strMessage[0]= "protocol - Message"; 123 //message TProtocol.cpp 124 strMessage[1]= "out of memory! cannot allocate storage for new parameter!"; 125 strMessage[2]= "protocolfile %s not found! create it?"; 126 strMessage[3]= "couldn't create protocolfile. check wether directory %s exists!"; 127 strMessage[4]= "Errors with initialize the protocol book!\nThe protocol book function cannot be used!"; 128 strMessage[5]= "out of memory! cannot allocate storage for new pindex!"; 129 strMessage[6]= "out of memory! cannot allocate storage for new point!"; 130 strMessage[7]= "could not import file!"; 131 strMessage[8]= "statistics:\n\nimportet results: "; 132 strMessage[9]= "importet drafts: "; 133 strMessage[10]= "not imported No: "; 134 strMessage[11]= "errors in result(not imported): "; 135 strMessage[12]= "result deleted(not imported): "; 136 strMessage[13]= "drafts existing but not imported: "; 137 strMessage[14]= "drafts not existing and not imported: "; 138 strMessage[15]= "protocolfile is wrong!!!\nparameter %s is wrong!"; 139 strMessage[16]= "protocolfile is wrong!!!\nparameter lfd.-nr.: %s and/or date: %s are wrong!"; 140 //Fenster - Datei öffnen 141 strMessage[17]= "protocol - open file"; 142 //message TProtocolDlg.cpp 143 strMessage[18]= "a value was changed!\nsave parameters?"; 144 strMessage[19]= "value %s missing!"; 145 strMessage[20]= "value %s changed from \"%s\" to \"%s\" !"; 146 strMessage[21]= "value %s: %s : cannot be longer than %d digits!"; 147 strMessage[22]= "stop writing to protocolfile?"; 148 strMessage[23]= "errors in PicFile!"; 149 strMessage[24]= "password not recognized!"; 150 strMessage[25]= "delete draft?"; 151 strMessage[26]= "If you provide this measurement with a password protection, an automatic parameter transfer is no longer possible into this measurement!\nDo you want to protect the measurement with a password?"; 152 strMessage[27]= "If you provide this measurement with a password protection, you cannot change possibly some parameters any longer!\nDo you want to protect the measurement with a password?"; 153 strMessage[62]= "parameter saved!"; 154 strMessage[63]= "new measurement!"; 155 strMessage[64]= "enter No"; 156 strMessage[65]= "draw freely"; 157 strMessage[66]= "draw lines"; 158 strMessage[67]= "draft is stored first, after press \"Ok\"!"; 159 strMessage[68]= "draw drawing!"; 160 strMessage[69]= "draw was changed!"; 161 //message TProtocolDiffractometryDlg.cpp 162 strMessage[28]= "value %s is wrong! please correct (value mandatory)"; 163 //message TProtocolManagePrintDlg.cpp 164 strMessage[29]= "out of memory!"; 165 strMessage[30]= "no measurement selected!\nprint all "; 166 strMessage[31]= " measurements( "; 167 strMessage[32]= " measurements( "; 168 strMessage[33]= " pages of print A4)?"; 169 strMessage[34]= "no measurement selected!"; 170 strMessage[35]= "Printer cannot display bitmaps."; 171 strMessage[36]= "print error!\nGetDeviceCaps()"; 172 strMessage[37]= "print error!\nStartDoc()"; 173 strMessage[38]= "print error!\nEndPage()"; 174 strMessage[39]= "print error!\nStartPage()"; 175 strMessage[40]= "print error!\nEndDoc()"; 176 strMessage[41]= "print error!\nLoadProtocolString()"; 177 strMessage[42]= " selected measurements -> print "; 178 strMessage[43]= " selected measurements -> print "; 179 strMessage[44]= " pages A4"; 180 strMessage[45]= "select measurement!"; 181 strMessage[46]= "please wait...."; 182 strMessage[47]= "import done!"; 183 strMessage[48]= "import failed!"; 184 strMessage[49]= "undo"; 185 strMessage[50]= "delete"; 186 strMessage[51]= " measurement deleted!"; 187 strMessage[52]= " measurement deleted!"; 188 strMessage[53]= " measurement restored!"; 189 strMessage[54]= " measurement restored!"; 190 strMessage[55]= "print page "; 191 strMessage[56]= " from "; 192 strMessage[57]= " pages."; 193 //message TProtocolTopographyManagePrintDlg.cpp, TProtocolDiffractometryManagePrintDlg.cpp 194 strMessage[58]= "date to correct"; 195 strMessage[59]= " measurement found"; 196 strMessage[60]= " measurement found"; 197 strMessage[61]= "no measurement found"; 198 break; 199 } 200 }; 201 202 LPCSTR TProtocolLanguage::GetFailure() 203 { 204 return strFailure; 205 }; 206 207 LPCSTR TProtocolLanguage::GetWarning() 208 { 209 return strWarning; 210 }; 211 212 LPCSTR TProtocolLanguage::GetQuestion() 213 { 214 return strQuestion; 215 }; 216 217 LPCSTR TProtocolLanguage::GetMessage(int Nr) 218 { 219 return strMessage[Nr]; 220 }; 221 222 void TProtocolLanguage::SetProtocolLanguageDlgMenu(void) 223 { 224 switch (ProtocolLanguage) 225 { 226 case german: 227 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolDeutsch, MF_CHECKED ); 228 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolEnglisch, MF_UNCHECKED ); 229 break; 230 231 case english: 232 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolDeutsch, MF_UNCHECKED ); 233 CheckMenuItem( hProtocolSystemMenu, cm_ProtcolEnglisch, MF_CHECKED ); 234 break; 235 } 236 }; 237 238 void TProtocolLanguage::InitializeDlgLanguage(HWND hwnd) 239 { 240 char buf[MaxString]; 241 242 #ifdef GermanVersion 243 244 GetPrivateProfileString("Protocol", "Language", "deutsch", buf, MaxString, GetCFile());
245 #else 246 247 GetPrivateProfileString("Protocol", "Language", "englisch", buf, MaxString, GetCFile());
248 #endif //GermanVersion 249 250 if ( (strcmp(buf, "englisch") == 0) || (strcmp(buf, "english") == 0) ) 251 SetLanguage(english); 252 else 253 SetLanguage(german); 254 255 hProtocolSystemMenu= GetSystemMenu(hwnd, FALSE); 256 // Sprache im Systemmenue 257 HMENU hmenu= CreatePopupMenu(); 258 AppendMenu(hmenu, MF_STRING, cm_ProtcolDeutsch, "&Deutsch"); 259 AppendMenu(hmenu, MF_STRING, cm_ProtcolEnglisch, "&Englisch"); 260 AppendMenu(hProtocolSystemMenu, MF_SEPARATOR, 0, NULL); 261 AppendMenu(hProtocolSystemMenu, MF_POPUP, (WORD)hmenu, "Sprache"); 262 DrawMenuBar(hwnd); 263 264 SetProtocolLanguageDlgMenu(); 265 }; 266 267 void TProtocolLanguage::SetDlgLanguage(int id) 268 { 269 switch (id) 270 { 271 case cm_ProtcolDeutsch: 272 SetLanguage(german); 273 WritePrivateProfileString("Protocol", "Language", "deutsch", GetCFile()); 274 break; 275 276 case cm_ProtcolEnglisch: 277 SetLanguage(english); 278 WritePrivateProfileString("Protocol", "Language", "englisch", GetCFile()); 279 break; 280 } 281 SetProtocolLanguageDlgMenu(); 282 }; 283 284 void TProtocolLanguage::SetTopographyDlgLanguage(HWND hwnd, int id) 285 { 286 SetDlgLanguage(id); 287 SetTopographyDlgLanguage(hwnd); 288 }; 289 290 void TProtocolLanguage::SetProtocolDlgLanguage(HWND hwnd) 291 { 292 switch (ProtocolLanguage) 293 { 294 case german: 295 SetDlgItemText(hwnd, id_GruppeProbe, "Probe"); 296 SetDlgItemText(hwnd, id_GruppeSkizze, "Lageskizze"); 297 SetDlgItemText(hwnd, id_DatumText, "Datum:"); 298 SetDlgItemText(hwnd, id_NutzerText, "Nutzer:"); 299 SetDlgItemText(hwnd, id_ReadOnly, "Passwortschutz"); 300 SetDlgItemText(hwnd, id_ProbenNrText, "Probennummer:"); 301 SetDlgItemText(hwnd, id_LieferantText, "Lieferant:"); 302 SetDlgItemText(hwnd, id_MerkmalText, "Merkmal:"); 303 SetDlgItemText(hwnd, id_MaterialText, "Material:"); 304 305 SetDlgItemText(hwnd, IDOK, "&Ok"); 306 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch"); 307 SetDlgItemText(hwnd, IDPRINT, "&Verwalten/Drucken"); 308 SetDlgItemText(hwnd, id_Help, "&Hilfe"); 309 break; 310 311 case english: 312 SetDlgItemText(hwnd, id_GruppeProbe, "specimen"); 313 SetDlgItemText(hwnd, id_GruppeSkizze, "sketch"); 314 SetDlgItemText(hwnd, id_DatumText, "date:"); 315 SetDlgItemText(hwnd, id_NutzerText, "user:"); 316 SetDlgItemText(hwnd, id_ReadOnly, "password on"); 317 SetDlgItemText(hwnd, id_ProbenNrText, "specimen number:"); 318 SetDlgItemText(hwnd, id_LieferantText, "provider:"); 319 SetDlgItemText(hwnd, id_MerkmalText, "characteristic:"); 320 SetDlgItemText(hwnd, id_MaterialText, "material:"); 321 322 SetDlgItemText(hwnd, IDOK, "&ok"); 323 SetDlgItemText(hwnd, IDCANCEL, "&cancel"); 324 SetDlgItemText(hwnd, IDPRINT, "&manage/print"); 325 SetDlgItemText(hwnd, id_Help, "&help"); 326 break; 327 } 328 }; 329 330 void TProtocolLanguage::SetTopographyDlgLanguage(HWND hwnd) 331 { 332 int iTab=0; 333 HWND hTab= GetDlgItem( hwnd, id_Tab ); 334 335 switch (ProtocolLanguage) 336 { 337 case german: 338 SetWindowText(hwnd, "Protokollbuch Topographie (deutsch)"); 339 SetProtocolDlgLanguage(hwnd); 340 341 TabCtrl_SetItemText(hTab, iTab++, "Kollimator/Röhre"); 342 TabCtrl_SetItemText(hTab, iTab++, "Messung/Filme"); 343 TabCtrl_SetItemText(hTab, iTab++, "Beginn Messung"); 344 TabCtrl_SetItemText(hTab, iTab++, "Ende Messung"); 345 346 SetDlgItemText(hwnd, id_LfdNrText, "Lfd.-RTK-Nr.:"); 347 SetDlgItemText(hwnd, id_WinkelText, "Winkel:"); 348 SetDlgItemText(hwnd, id_WinkelEinheit, "Grad"); 349 SetDlgItemText(hwnd, id_GroesseText, "Größe:"); 350 SetDlgItemText(hwnd, id_ReflexText, "Reflex:"); 351 SetDlgItemText(hwnd, id_EinfallswinkelText, "Einfallswinkel:"); 352 SetDlgItemText(hwnd, id_EinfallswinkelEinheit, "Grad"); 353 SetDlgItemText(hwnd, id_BeugungswinkelText, "Beugungswinkel:"); 354 SetDlgItemText(hwnd, id_BeugungswinkelEinheit, "Grad"); 355 356 SetDlgItemText(hwnd, id_GruppeKollimator, "Kollimator"); 357 SetDlgItemText(hwnd, id_KReflexText, "Reflex:"); 358 SetDlgItemText(hwnd, id_KNrText, "Nr.:"); 359 SetDlgItemText(hwnd, id_KKruemmungText, "Krümmung:"); 360 SetDlgItemText(hwnd, id_KMaterialText, "Material:"); 361 SetDlgItemText(hwnd, id_GruppeRoehre, "Röhre"); 362 SetDlgItemText(hwnd, id_RMaterialText, "Material:"); 363 SetDlgItemText(hwnd, id_RSpannungText, "Spannung:"); 364 SetDlgItemText(hwnd, id_RStromText, "Strom:"); 365 SetDlgItemText(hwnd, id_RImpMaxText, "Impuls/s Max.:"); 366 367 SetDlgItemText(hwnd, id_GruppeMessung, "Messung"); 368 SetDlgItemText(hwnd, id_MImpMaxText, "Impuls/s Max.:"); 369 SetDlgItemText(hwnd, id_MSpannungText, "Spannung:"); 370 SetDlgItemText(hwnd, id_MStromText, "Strom:"); 371 SetDlgItemText(hwnd, id_HWBText, "HWB:"); 372 SetDlgItemText(hwnd, id_GruppeFilme, "Filme"); 373 SetDlgItemText(hwnd, id_FAnzahlText, "Anzahl:"); 374 SetDlgItemText(hwnd, id_PGroesseXText, "Plattengröße:"); 375 SetDlgItemText(hwnd, id_FMaterialText, "Aufnahmematerial:"); 376 SetDlgItemText(hwnd, id_FAbstandText, "Abstand:"); 377 378 SetDlgItemText(hwnd, id_GruppeBeginnMessung, "Beginn Messung"); 379 SetDlgItemText(hwnd, id_STEText, "statistischer Fehler:"); 380 SetDlgItemText(hwnd, id_CRTText, "Zählzeit:"); 381 SetDlgItemText(hwnd, id_INCDFText, "Schrittweite:"); 382 SetDlgItemText(hwnd, id_NBEXPOSText, "Anzahl Belichtungen:"); 383 SetDlgItemText(hwnd, id_ABEText, "Winkel zw. Belichtungen:"); 384 SetDlgItemText(hwnd, id_RSAText, "kleinster Startwinkel:"); 385 SetDlgItemText(hwnd, id_CONLIMITText, "proz. Abweichung:"); 386 SetDlgItemText(hwnd, id_CONPOINTText, "Arbeitspunkt:"); 387 SetDlgItemText(hwnd, id_EXPTText, "Belichtungszeit:"); 388 389 SetDlgItemText(hwnd, id_GruppeEndeMessung, "Ende der Messung"); 390 SetDlgItemText(hwnd, id_GruppeRegelung, "Regelung"); 391 SetDlgItemText(hwnd, id_ImpsvorText, "Impuls/s vor Messung:"); 392 SetDlgItemText(hwnd, id_ImpsnachText, "Impuls/s nach Messung:"); 393 SetDlgItemText(hwnd, id_DFvorText, "DF vor Messung:"); 394 SetDlgItemText(hwnd, id_DFnachText, "DF nach Messung:"); 395 SetDlgItemText(hwnd, id_BemerkungText, "Bemerkung:"); 396 break; 397 398 case english: 399 SetWindowText(hwnd, "protocol topography (english)"); 400 SetProtocolDlgLanguage(hwnd); 401 402 TabCtrl_SetItemText(hTab, iTab++, "collimator/conduit"); 403 TabCtrl_SetItemText(hTab, iTab++, "measurement/film"); 404 TabCtrl_SetItemText(hTab, iTab++, "measurement begin"); 405 TabCtrl_SetItemText(hTab, iTab++, "measurement end"); 406 407 SetDlgItemText(hwnd, id_LfdNrText, "lfd.-rtk-nr.:"); 408 SetDlgItemText(hwnd, id_WinkelText, "angle:"); 409 SetDlgItemText(hwnd, id_WinkelEinheit, "degree"); 410 SetDlgItemText(hwnd, id_GroesseText, "volume:"); 411 SetDlgItemText(hwnd, id_ReflexText, "reflex:"); 412 SetDlgItemText(hwnd, id_EinfallswinkelText, "a. of incidence:"); //angles of incidence 413 SetDlgItemText(hwnd, id_EinfallswinkelEinheit, "degree"); 414 SetDlgItemText(hwnd, id_BeugungswinkelText, "a. of flection:"); //angles of flection: 415 SetDlgItemText(hwnd, id_BeugungswinkelEinheit, "degree"); 416 417 SetDlgItemText(hwnd, id_GruppeKollimator, "collimator"); 418 SetDlgItemText(hwnd, id_KReflexText, "reflex:"); 419 SetDlgItemText(hwnd, id_KNrText, "Nr.:"); 420 SetDlgItemText(hwnd, id_KKruemmungText, "curve:"); 421 SetDlgItemText(hwnd, id_KMaterialText, "material:"); 422 SetDlgItemText(hwnd, id_GruppeRoehre, "conduit"); 423 SetDlgItemText(hwnd, id_RMaterialText, "material:"); 424 SetDlgItemText(hwnd, id_RSpannungText, "voltage:"); 425 SetDlgItemText(hwnd, id_RStromText, "power:"); 426 SetDlgItemText(hwnd, id_RImpMaxText, "impulse/s max.:"); 427 428 SetDlgItemText(hwnd, id_GruppeMessung, "measurement"); 429 SetDlgItemText(hwnd, id_MImpMaxText, "impulse/s max.:"); 430 SetDlgItemText(hwnd, id_MSpannungText, "voltage:"); 431 SetDlgItemText(hwnd, id_MStromText, "power:"); 432 SetDlgItemText(hwnd, id_HWBText, "HWB:"); 433 SetDlgItemText(hwnd, id_GruppeFilme, "film"); 434 SetDlgItemText(hwnd, id_FAnzahlText, "number:"); 435 SetDlgItemText(hwnd, id_PGroesseXText, "disk size:"); 436 SetDlgItemText(hwnd, id_FMaterialText, "copy material:"); 437 SetDlgItemText(hwnd, id_FAbstandText, "space:"); 438 439 SetDlgItemText(hwnd, id_GruppeBeginnMessung, "measurement begin"); 440 SetDlgItemText(hwnd, id_STEText, "statistical error:"); 441 SetDlgItemText(hwnd, id_CRTText, "counter time:"); 442 SetDlgItemText(hwnd, id_INCDFText, "inc. DF:"); 443 SetDlgItemText(hwnd, id_NBEXPOSText, "number exposure:"); 444 SetDlgItemText(hwnd, id_ABEText, "angle between exposure:"); 445 SetDlgItemText(hwnd, id_RSAText, "smallest angle:"); 446 SetDlgItemText(hwnd, id_CONLIMITText, "con. limit:"); 447 SetDlgItemText(hwnd, id_CONPOINTText, "con. point:"); 448 SetDlgItemText(hwnd, id_EXPTText, "exposure time:"); 449 450 SetDlgItemText(hwnd, id_GruppeEndeMessung, "measurement end"); 451 SetDlgItemText(hwnd, id_GruppeRegelung, "regulation"); 452 SetDlgItemText(hwnd, id_ImpsvorText, "impulse/s before measurement:"); 453 SetDlgItemText(hwnd, id_ImpsnachText, "impulse/s after measurement:"); 454 SetDlgItemText(hwnd, id_DFvorText, "DF before measurement:"); 455 SetDlgItemText(hwnd, id_DFnachText, "DF after measurement:"); 456 SetDlgItemText(hwnd, id_BemerkungText, "comment:"); 457 break; 458 } 459 }; 460 461 void TProtocolLanguage::SetDiffractometryDlgLanguage(HWND hwnd, int id) 462 { 463 SetDlgLanguage(id); 464 SetDiffractometryDlgLanguage(hwnd); 465 }; 466 467 void TProtocolLanguage::SetDiffractometryDlgLanguage(HWND hwnd) 468 { 469 int iTab=0; 470 HWND hTab= GetDlgItem( hwnd, id_Tab ); 471 472 switch (ProtocolLanguage) 473 { 474 case german: 475 SetWindowText(hwnd, "Protokollbuch Diffraktometrie/Reflektometrie (deutsch)"); 476 SetProtocolDlgLanguage(hwnd); 477 478 TabCtrl_SetItemText(hTab, iTab++, "Messung"); 479 TabCtrl_SetItemText(hTab, iTab++, "Scan"); 480 TabCtrl_SetItemText(hTab, iTab++, "Blende/Absorber"); 481 TabCtrl_SetItemText(hTab, iTab++, "Detektoren"); 482 TabCtrl_SetItemText(hTab, iTab++, "Bemerkung"); 483 484 SetDlgItemText(hwnd, id_LfdNrText, "Lfd.-Nr.:"); 485 SetDlgItemText(hwnd, id_OrientierungText, "Orientierung:"); 486 SetDlgItemText(hwnd, id_UReflexText, "Untersuchter Reflex:"); 487 SetDlgItemText(hwnd, id_FehlWinkelText, "Winkel:"); 488 SetDlgItemText(hwnd, id_FehlWinkelEinheit, "Grad"); 489 SetDlgItemText(hwnd, id_FehlRichtungText, "Richtung:"); 490 SetDlgItemText(hwnd, id_GruppeScanart, "Scan"); 491 SetDlgItemText(hwnd, id_GruppeFehlschnitt, "Fehlschnitt"); 492 SetDlgItemText(hwnd, id_ScanartText, "Scanart:"); 493 SetDlgItemText(hwnd, id_ScanmethodeText, "Scanmethode:"); 494 495 SetDlgItemText(hwnd, id_GruppeMessungParameter, "Messung"); 496 SetDlgItemText(hwnd, id_SpannungText, "Spannung:"); 497 SetDlgItemText(hwnd, id_StromText, "Strom:"); 498 SetDlgItemText(hwnd, id_WellenlaengeText, "Wellenlänge:"); 499 SetDlgItemText(hwnd, id_MessdateiText, "Messdateiname:"); 500 501 SetDlgItemText(hwnd, id_GruppeScan, "Scan"); 502 SetDlgItemText(hwnd, id_ScantypText, "Scantyp:"); 503 SetDlgItemText(hwnd, id_ScanachseText, "Scanachse:"); 504 SetDlgItemText(hwnd, id_SOffsetText, "Offset:"); 505 SetDlgItemText(hwnd, id_GeschwindigkeitText, "Geschwindigkeit:"); 506 SetDlgItemText(hwnd, id_Scanachse1, "Omega-Achse"); 507 SetDlgItemText(hwnd, id_Scanachse2, "Theta-Achse"); 508 509 SetDlgItemText(hwnd, id_GruppeBlende, "Blende"); 510 SetDlgItemText(hwnd, id_GruppeAbsorber, "Absorber"); 511 SetDlgItemText(hwnd, id_BPSText, "Primärstrahl:"); 512 SetDlgItemText(hwnd, id_BhorizontalText, "horizontal:"); 513 SetDlgItemText(hwnd, id_BvertikalText, "vertikal:"); 514 SetDlgItemText(hwnd, id_BDText, "Detektor:"); 515 SetDlgItemText(hwnd, id_AFaktorText, "Faktor:"); 516 SetDlgItemText(hwnd, id_AArtText, "Art:"); 517 518 SetDlgItemText(hwnd, id_GruppeDetektor, "Detektoren"); 519 SetDlgItemText(hwnd, id_GruppePSD, "PSD"); 520 SetDlgItemText(hwnd, id_DetektorText, "Detektor:"); 521 SetDlgItemText(hwnd, id_MesszeitText, "Meßzeit:"); 522 SetDlgItemText(hwnd, id_ImpulseText, "Impulse:"); 523 SetDlgItemText(hwnd, id_DistanzText, "Distanz:"); 524 SetDlgItemText(hwnd, id_MesskanalText, "Meßkanalnr.:"); 525 SetDlgItemText(hwnd, id_WinkelbereichText, "Winkelbereich:"); 526 SetDlgItemText(hwnd, id_WinkelbereichEinheit, "Grad"); 527 SetDlgItemText(hwnd, id_KanalabstandText, "Kanalabstand:"); 528 SetDlgItemText(hwnd, id_KanalabstandEinheit, "Grad"); 529 SetDlgItemText(hwnd, id_AddiereText, "Addiere:"); 530 SetDlgItemText(hwnd, id_AddiereEinheit, "Kanäle"); 531 SetDlgItemText(hwnd, id_MonitorText, "Monitordetektor:"); 532 533 SetDlgItemText(hwnd, id_GruppeBemerkung, "Bemerkung"); 534 break; 535 536 case english: 537 SetWindowText(hwnd, "protocol diffractometry/reflectometry (english)"); 538 SetProtocolDlgLanguage(hwnd); 539 540 TabCtrl_SetItemText(hTab, iTab++, "measurement"); 541 TabCtrl_SetItemText(hTab, iTab++, "scan"); 542 TabCtrl_SetItemText(hTab, iTab++, "aperture/absorber"); 543 TabCtrl_SetItemText(hTab, iTab++, "detector"); 544 TabCtrl_SetItemText(hTab, iTab++, "comment"); 545 546 SetDlgItemText(hwnd, id_LfdNrText, "lfd.-nr.:"); 547 SetDlgItemText(hwnd, id_OrientierungText, "orientation:"); 548 SetDlgItemText(hwnd, id_UReflexText, "inspected reflex:"); 549 SetDlgItemText(hwnd, id_FehlWinkelText, "angle:"); 550 SetDlgItemText(hwnd, id_FehlWinkelEinheit, "degree"); 551 SetDlgItemText(hwnd, id_FehlRichtungText, "direction:"); 552 SetDlgItemText(hwnd, id_GruppeScanart, "scan"); 553 SetDlgItemText(hwnd, id_GruppeFehlschnitt, "false cut"); 554 SetDlgItemText(hwnd, id_ScanartText, "class:"); // scan class: 555 SetDlgItemText(hwnd, id_ScanmethodeText, "methode:"); //scan methode: 556 557 SetDlgItemText(hwnd, id_GruppeMessungParameter, "measurement"); 558 SetDlgItemText(hwnd, id_SpannungText, "voltage:"); 559 SetDlgItemText(hwnd, id_StromText, "power:"); 560 SetDlgItemText(hwnd, id_WellenlaengeText, "wavelength:"); 561 SetDlgItemText(hwnd, id_MessdateiText, "file name:"); 562 563 SetDlgItemText(hwnd, id_GruppeScan, "scan"); 564 SetDlgItemText(hwnd, id_ScantypText, "scan typ:"); 565 SetDlgItemText(hwnd, id_ScanachseText, "scan axis:"); 566 SetDlgItemText(hwnd, id_SOffsetText, "offset:"); 567 SetDlgItemText(hwnd, id_MinimumText, "minimum:"); 568 SetDlgItemText(hwnd, id_MaximumText, "maximum:"); 569 SetDlgItemText(hwnd, id_SchrittweiteText, "step wide:"); 570 SetDlgItemText(hwnd, id_GeschwindigkeitText, "velocity:"); 571 SetDlgItemText(hwnd, id_Scanachse1, "omega-axis"); 572 SetDlgItemText(hwnd, id_Scanachse2, "theta-axis"); 573 574 SetDlgItemText(hwnd, id_GruppeBlende, "aperture"); 575 SetDlgItemText(hwnd, id_GruppeAbsorber, "absorber"); 576 SetDlgItemText(hwnd, id_BPSText, "primary ray:"); 577 SetDlgItemText(hwnd, id_BhorizontalText, "horizontal:"); 578 SetDlgItemText(hwnd, id_BvertikalText, "vertical:"); 579 SetDlgItemText(hwnd, id_BDText, "detector:"); 580 SetDlgItemText(hwnd, id_AFaktorText, "factor:"); 581 SetDlgItemText(hwnd, id_AArtText, "class:"); 582 583 SetDlgItemText(hwnd, id_GruppeDetektor, "detector"); 584 SetDlgItemText(hwnd, id_GruppePSD, "PSD"); 585 SetDlgItemText(hwnd, id_DetektorText, "detector:"); 586 SetDlgItemText(hwnd, id_MesszeitText, "time:"); //measurement time: 587 SetDlgItemText(hwnd, id_ImpulseText, "impuls:"); 588 SetDlgItemText(hwnd, id_DistanzText, "distance:"); 589 SetDlgItemText(hwnd, id_MesskanalText, "channel nr.:"); 590 SetDlgItemText(hwnd, id_WinkelbereichText, "angle range:"); 591 SetDlgItemText(hwnd, id_WinkelbereichEinheit, "degree"); 592 SetDlgItemText(hwnd, id_KanalabstandText, "channel space:"); 593 SetDlgItemText(hwnd, id_KanalabstandEinheit, "degree"); 594 SetDlgItemText(hwnd, id_AddiereText, "add:"); 595 SetDlgItemText(hwnd, id_AddiereEinheit, "channel"); 596 SetDlgItemText(hwnd, id_MonitorText, "monitor:"); 597 598 SetDlgItemText(hwnd, id_GruppeBemerkung, "comment"); 599 break; 600 } 601 TranslateParameter(hwnd, id_MinimumText); // Minimum: 602 TranslateParameter(hwnd, id_MaximumText); // Maximum: 603 TranslateParameter(hwnd, id_SchrittweiteText); // Schrittweite: 604 }; 605 606 void TProtocolLanguage::SetProtocolManagePrintDlgLanguage(HWND hwnd) 607 { 608 switch (ProtocolLanguage) 609 { 610 case german: 611 SetDlgItemText(hwnd, id_GruppeSuchkriterien, "Suchkriterien"); 612 SetDlgItemText(hwnd, id_GruppeSuchergebnis, "Suchergebnis:"); 613 SetDlgItemText(hwnd, id_GruppeProtocolFile, "Protokolldatei"); 614 SetDlgItemText(hwnd, id_PrnDatumText, "Datum von-bis:"); 615 SetDlgItemText(hwnd, id_PrnProbenNrText, "Probennummer:"); 616 SetDlgItemText(hwnd, id_PrnMaterialText, "Material:"); 617 SetDlgItemText(hwnd, id_Delete, "Gelöschte Messungen anzeigen"); 618 SetDlgItemText(hwnd, IDPRINT, "&Drucken"); 619 SetDlgItemText(hwnd, IDVIEW, "&Anzeigen"); 620 SetDlgItemText(hwnd, IDDELETE, "&Löschen"); 621 SetDlgItemText(hwnd, IDIMPORT, "&Importieren"); 622 SetDlgItemText(hwnd, id_Parameter, "&Einstellungen"); 623 SetDlgItemText(hwnd, IDCANCEL, "S&chließen"); 624 SetDlgItemText(hwnd, IDSEARCH, "&Suchen"); 625 SetDlgItemText(hwnd, id_SuchList, "Suchen"); 626 break; 627 628 case english: 629 SetDlgItemText(hwnd, id_GruppeSuchkriterien, "search criteria"); 630 SetDlgItemText(hwnd, id_GruppeSuchergebnis, "search result:"); 631 SetDlgItemText(hwnd, id_GruppeProtocolFile, "protocol file"); 632 SetDlgItemText(hwnd, id_PrnDatumText, "date from-untill:"); 633 SetDlgItemText(hwnd, id_PrnProbenNrText, "specimen number:"); 634 SetDlgItemText(hwnd, id_PrnMaterialText, "material:"); 635 SetDlgItemText(hwnd, id_Delete, "deleted measurement indicate"); 636 SetDlgItemText(hwnd, IDPRINT, "&print"); 637 SetDlgItemText(hwnd, IDVIEW, "&indicate"); 638 SetDlgItemText(hwnd, IDDELETE, "&delete"); 639 SetDlgItemText(hwnd, IDIMPORT, "&import"); 640 SetDlgItemText(hwnd, id_Parameter, "&parameter"); 641 SetDlgItemText(hwnd, IDCANCEL, "&close"); 642 SetDlgItemText(hwnd, IDSEARCH, "&search"); 643 SetDlgItemText(hwnd, id_SuchList, "search"); 644 break; 645 } 646 }; 647 648 void TProtocolLanguage::SetTopographyManagePrintDlgLanguage(HWND hwnd) 649 { 650 int iCol=0; 651 HWND hSuchList= GetDlgItem( hwnd, id_SuchList ); 652 653 switch (ProtocolLanguage) 654 { 655 case german: 656 ListView_SetColumnText(hSuchList, iCol++, "Lfd.-Nr."); 657 ListView_SetColumnText(hSuchList, iCol++, "-"); 658 ListView_SetColumnText(hSuchList, iCol++, "RTK-Nr."); 659 ListView_SetColumnText(hSuchList, iCol++, "Datum"); 660 ListView_SetColumnText(hSuchList, iCol++, "Probennummer"); 661 ListView_SetColumnText(hSuchList, iCol++, "Lieferant"); 662 ListView_SetColumnText(hSuchList, iCol++, "Material"); 663 664 SetWindowText(hwnd, "Protokollbuch Topographie - Verwalten/Drucken (deutsch)"); 665 SetDlgItemText(hwnd, id_PrnLfdNrText, "Lfd.-RTK-Nr.:"); 666 SetDlgItemText(hwnd, id_PrnLieferantText, "Lieferant:"); 667 SetProtocolManagePrintDlgLanguage(hwnd); 668 break; 669 670 case english: 671 ListView_SetColumnText(hSuchList, iCol++, "lfd.-nr."); 672 ListView_SetColumnText(hSuchList, iCol++, "-"); 673 ListView_SetColumnText(hSuchList, iCol++, "rtk-nr."); 674 ListView_SetColumnText(hSuchList, iCol++, "date"); 675 ListView_SetColumnText(hSuchList, iCol++, "specimen number"); 676 ListView_SetColumnText(hSuchList, iCol++, "provider"); 677 ListView_SetColumnText(hSuchList, iCol++, "material"); 678 679 SetWindowText(hwnd, "protocol topography - manage/print (english)"); 680 SetDlgItemText(hwnd, id_PrnLfdNrText, "lfd.-rtk-nr.:"); 681 SetDlgItemText(hwnd, id_PrnLieferantText, "provider:"); 682 SetProtocolManagePrintDlgLanguage(hwnd); 683 break; 684 } 685 }; 686 687 void TProtocolLanguage::SetDiffractometryManagePrintDlgLanguage(HWND hwnd) 688 { 689 int iCol=0; 690 HWND hSuchList= GetDlgItem( hwnd, id_SuchList ); 691 692 switch (ProtocolLanguage) 693 { 694 case german: 695 ListView_SetColumnText(hSuchList, iCol++, "Lfd.-Nr."); 696 ListView_SetColumnText(hSuchList, iCol++, "Datum"); 697 ListView_SetColumnText(hSuchList, iCol++, "Probennummer"); 698 ListView_SetColumnText(hSuchList, iCol++, "Material"); 699 700 SetWindowText(hwnd, "Protokollbuch Diffraktometrie/Reflektometrie - Verwalten/Drucken (deutsch)"); 701 SetDlgItemText(hwnd, id_PrnLfdNrText, "Lfd.-Nr.:"); 702 SetProtocolManagePrintDlgLanguage(hwnd); 703 break; 704 705 case english: 706 ListView_SetColumnText(hSuchList, iCol++, "lfd.-nr."); 707 ListView_SetColumnText(hSuchList, iCol++, "date"); 708 ListView_SetColumnText(hSuchList, iCol++, "specimen number"); 709 ListView_SetColumnText(hSuchList, iCol++, "material"); 710 711 SetWindowText(hwnd, "protocol diffractometry/reflectometry - manage/print (english)"); 712 SetDlgItemText(hwnd, id_PrnLfdNrText, "lfd.-nr.:"); 713 SetProtocolManagePrintDlgLanguage(hwnd); 714 break; 715 } 716 }; 717 718 void TProtocolLanguage::SetPasswortDlgLanguage(HWND hwnd) 719 { 720 switch (ProtocolLanguage) 721 { 722 case german: 723 SetWindowText(hwnd, "Bitte Passwort eingeben"); 724 SetDlgItemText(hwnd, IDOK, "&Ok"); 725 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch"); 726 break; 727 728 case english: 729 SetWindowText(hwnd, "enter password"); 730 SetDlgItemText(hwnd, IDOK, "&ok"); 731 SetDlgItemText(hwnd, IDCANCEL, "&cancel"); 732 break; 733 } 734 }; 735 736 void TProtocolLanguage::SetParameterDlgLanguage(HWND hwnd) 737 { 738 switch (ProtocolLanguage) 739 { 740 case german: 741 SetWindowText(hwnd, "Protokollbuch Einstellungen"); 742 SetDlgItemText(hwnd, id_Warnung, "Diese Einstellungen sollten normalerweise NICHT geändert werden! Bitte lesen Sie dazu im Benutzerleitfaden den Abschnitt 'Protokollbuch Einstellungen'!"); 743 SetDlgItemText(hwnd, id_GruppeProtocolFile, "Protokolldatei"); 744 SetDlgItemText(hwnd, id_ProtoFileText, "Protokolldatei:"); 745 SetDlgItemText(hwnd, id_ProtoBackupPathText, "Backup-Verzeichnis:"); 746 SetDlgItemText(hwnd, id_GruppeSortParameter, "Sortierparameter"); 747 SetDlgItemText(hwnd, id_SortLfdNr, "Sortieren nach Lfd.-Nr."); 748 SetDlgItemText(hwnd, id_SortDate, "Sortieren nach Datum"); 749 SetDlgItemText(hwnd, id_NoSortNew, "Neue Messungen NICHT sortieren"); 750 SetDlgItemText(hwnd, id_Durchsuchen, "Durchsuchen"); 751 SetDlgItemText(hwnd, IDOK, "&Ok"); 752 SetDlgItemText(hwnd, IDCANCEL, "&Abbruch"); 753 break; 754 755 case english: 756 SetWindowText(hwnd, "protocol parameter"); 757 SetDlgItemText(hwnd, id_Warnung, "These parameter should NOT be changed normally! Please you read the section 'Protokollbuch Einstellungen' in addition in the user manual!"); 758 SetDlgItemText(hwnd, id_GruppeProtocolFile, "protocol file"); 759 SetDlgItemText(hwnd, id_ProtoFileText, "protocol file"); 760 SetDlgItemText(hwnd, id_ProtoBackupPathText, "backup directory"); 761 SetDlgItemText(hwnd, id_GruppeSortParameter, "sort parameter"); 762 SetDlgItemText(hwnd, id_SortLfdNr, "sort according to lfd.-nr."); 763 SetDlgItemText(hwnd, id_SortDate, "sort according to date"); 764 SetDlgItemText(hwnd, id_NoSortNew, "no sort new entry"); 765 SetDlgItemText(hwnd, id_Durchsuchen, "search"); 766 SetDlgItemText(hwnd, IDOK, "&ok"); 767 SetDlgItemText(hwnd, IDCANCEL, "&cancel"); 768 break; 769 } 770 }; 771 772 void TProtocolLanguage::TranslateParameter( HWND hwnd, int id ) 773 { 774 char buf[MaxString]; 775 776 GetDlgItemText(hwnd, id, buf, MaxString); 777 SetDlgItemText(hwnd, id, TranslateParameter(buf)); 778 }; 779 780 LPCSTR TProtocolLanguage::TranslateParameter( LPCSTR Parameter ) 781 { 782 strcpy(lParameter, Parameter); 783 switch (ProtocolLanguage) 784 { 785 case german: 786 if (strcmp(lParameter, "start:") == 0) 787 return strcpy(lParameter, "Start:"); 788 if (strcmp(lParameter, "end:") == 0) 789 return strcpy(lParameter, "Ende:"); 790 if (strcmp(lParameter, "range:") == 0) 791 return strcpy(lParameter, "Bereichsgröße:"); 792 if (strcmp(lParameter, "minimum:") == 0) 793 return strcpy(lParameter, "Minimum:"); 794 if (strcmp(lParameter, "maximum:") == 0) 795 return strcpy(lParameter, "Maximum:"); 796 if (strcmp(lParameter, "step wide:") == 0) 797 return strcpy(lParameter, "Schrittweite:"); 798 break; 799 800 case english: 801 if (strcmp(lParameter, "Start:") == 0) 802 return strcpy(lParameter, "start:"); 803 if (strcmp(lParameter, "Ende:") == 0) 804 return strcpy(lParameter, "end:"); 805 if (strcmp(lParameter, "Bereichsgröße:") == 0) 806 return strcpy(lParameter, "range:"); 807 if (strcmp(lParameter, "Minimum:") == 0) 808 return strcpy(lParameter, "minimum:"); 809 if (strcmp(lParameter, "Maximum:") == 0) 810 return strcpy(lParameter, "maximum:"); 811 if (strcmp(lParameter, "Schrittweite:") == 0) 812 return strcpy(lParameter, "step wide:"); 813 break; 814 815 } 816 return Parameter; 817 }; 818 819 void TProtocolLanguage::TabCtrl_SetItemText( HWND hTabCtrl, int iTab, LPCSTR TabText ) 820 { 821 TCITEM titem; 822 char buf[MaxString]; 823 824 titem.mask= TCIF_TEXT; 825 titem.pszText= buf; 826 titem.cchTextMax= MaxString; 827 titem.iImage= -1; 828 829 strcpy(buf,TabText); 830 TabCtrl_SetItem(hTabCtrl, iTab, &titem); 831 }; 832 833 void TProtocolLanguage::ListView_SetColumnText( HWND hLVCtrl, int iCol, LPCSTR ColText ) 834 { 835 LV_COLUMN lvc; 836 char buf[MaxString]; 837 838 // Initialize the LV_COLUMN structure. 839 lvc.mask= LVCF_TEXT | LVCF_FMT; 840 lvc.fmt= LVCFMT_LEFT; 841 lvc.pszText= buf; 842 843 lvc.iSubItem= iCol; 844 strcpy(buf,ColText); 845 ListView_SetColumn(hLVCtrl, iCol, &lvc); 846 847 ListView_SetColumnWidth(hLVCtrl,iCol,LVSCW_AUTOSIZE_USEHEADER); 848 }; 849 850 851 // LastLine 852