ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/VMM/win32/main.cpp
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (18 years, 2 months ago)
Original Path: magic/app/VMM/VMM/win32/main.cpp
File size: 27105 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 //------------------------------------------------------------
2     //------------------------------------------------------------
3     // MAGiC
4     // Jean Christophe Cuillière et Vincent FRANCOIS
5     // Département de Génie Mécanique - UQTR
6     //------------------------------------------------------------
7     // Le projet MAGIC est un projet de recherche du département
8     // de génie mécanique de l'Université du Québec à
9     // Trois Rivières
10     // Les librairies ne peuvent être utilisées sans l'accord
11     // des auteurs (contact : francois@uqtr.ca)
12     //------------------------------------------------------------
13     //------------------------------------------------------------
14     //
15     // main.cpp
16     //
17     //------------------------------------------------------------
18     //------------------------------------------------------------
19     // COPYRIGHT 2000
20     // Version du 02/03/2006 à 11H26
21     //------------------------------------------------------------
22     //------------------------------------------------------------
23    
24    
25     #include "gestionversion.h"
26    
27     #include <vcl.h>
28     #include <stdio.h>
29     #include <io.h>
30     #include <dos.h>
31     #pragma hdrstop
32    
33     #include "Main.h"
34     #include "departwin.h"
35     #include "help.h"
36     #include "About.h"
37     #include "transform.h"
38     #include "visuctt.h"
39     #include "expwin.h"
40     #include "visu.h"
41     #include "alicence.h"
42    
43     //---------------------------------------------------------------------------
44     #pragma link "CGAUGES"
45     #pragma resource "*.dfm"
46     TMainForm *MainForm;
47     //---------------------------------------------------------------------------
48    
49     __fastcall TMainForm::TMainForm(TComponent *Owner)
50     : TForm(Owner),activewinform(NULL),fenlog(NULL)
51     {
52     //axe
53     valeurconfig[0]=0.;
54     valeurconfig[1]=0.;
55     valeurconfig[2]=1.;
56     valeurconfig[3]=1.;
57     valeurconfig[4]=0.;
58     valeurconfig[5]=0.;
59     valeurconfig[6]=1.;
60     valeurconfig[7]=1.;
61     valeurconfig[8]=1.;
62     valeurconfig[9]=1.;
63     valeurconfig[10]=0.1;
64     //fond
65     valeurconfig[11]=0.;
66     valeurconfig[12]=0.;
67     valeurconfig[13]=0.5;
68     //m1d
69     valeurconfig[14]=1.;
70     valeurconfig[15]=0.;
71     valeurconfig[16]=0.;
72     valeurconfig[17]=1.;
73     //m2d
74     valeurconfig[18]=1.;
75     valeurconfig[19]=0.;
76     valeurconfig[20]=0.;
77     valeurconfig[21]=1.;
78     //m3d
79     valeurconfig[22]=1.;
80     valeurconfig[23]=0.;
81     valeurconfig[24]=0.;
82     valeurconfig[25]=1.;
83     //geo
84     valeurconfig[26]=1.;
85     valeurconfig[27]=1.;
86     valeurconfig[28]=1.;
87     valeurconfig[29]=1.;
88     //noeud
89     valeurconfig[30]=1.;
90     valeurconfig[31]=0.;
91     valeurconfig[32]=0.;
92     valeurconfig[33]=1.;
93     //rendu
94     valeurconfig[34]=0.;
95     valeurconfig[35]=0.8;
96     valeurconfig[36]=0.;
97     valeurconfig[37]=0.;
98     valeurconfig[38]=0.;
99     valeurconfig[39]=0.;
100     valeurconfig[40]=1.;
101     //qualite
102     valeurconfig[41]=0.;
103     valeurconfig[42]=1.0;
104     valeurconfig[43]=0.;
105     valeurconfig[44]=0.;
106     valeurconfig[45]=0.;
107     valeurconfig[46]=1.;
108     valeurconfig[47]=1.;
109     valeurconfig[48]=0.;
110     valeurconfig[49]=0.;
111     valeurconfig[50]=0.5;
112     valeurconfig[51]=0.;
113     valeurconfig[52]=0.;
114     valeurconfig[53]=0.5;
115     valeurconfig[54]=0.2;
116     valeurconfig[55]=0.1;
117     valeurconfig[56]=1.;
118     //carte de taille
119     valeurconfig[57]=0.;
120     valeurconfig[58]=0.;
121     valeurconfig[59]=0.;
122     valeurconfig[60]=0.;
123     valeurconfig[61]=0.;
124     valeurconfig[62]=1.;
125     valeurconfig[63]=0.;
126     valeurconfig[64]=0.;
127     valeurconfig[65]=0.5;
128    
129     char buf[500];
130     HKEY clef;
131     DWORD type,taille;
132     int res=RegOpenKeyEx(HKEY_CURRENT_USER,"SOFTWARE\\UQTR\\VMM\\Configuration",0,KEY_EXECUTE,&clef);
133     if (res==ERROR_SUCCESS)
134     {
135     int res=RegQueryValueEx(clef,"Default",0,&type,0,&taille);
136     if (res==ERROR_SUCCESS)
137     {
138     RegQueryValueEx(clef,"Default",0,&type,buf,&taille);
139     char* p=strtok(buf," ");
140     for (int i=0;i<66;i++)
141     {
142     double val;
143     sscanf(p,"%lf",&val);
144     valeurconfig[i]=val;
145     p=strtok(NULL," ");
146     }
147     }
148     }
149    
150    
151     }
152     //---------------------------------------------------------------------------
153    
154     void __fastcall TMainForm::CreateMDIChild(String Name)
155     {
156     TEditeurWinform *Child;
157    
158     Child = new TEditeurWinform(Application);
159     Child->Caption = Name;
160     FILE* in=fopen(Child->Caption.c_str(),"rt");
161     if (in!=NULL)
162     {
163     std::ftime ft;
164     getftime(fileno(in), &ft);
165     char mess[1000];
166     sprintf(mess,"Heure fichier: %02u:%02u:%02u\n",ft.ft_hour, ft.ft_min,ft.ft_tsec * 2);
167     MainForm->StatusBar->Panels->Items[3]->Text=mess;
168     sprintf(mess,"Jour fichier: %02u/%02u/%02u\n",ft.ft_day, ft.ft_month,ft.ft_year+1980);
169     MainForm->StatusBar->Panels->Items[4]->Text=mess;
170     fclose(in);
171     }
172     if (FileExists (Name))
173     Child->Memo1->Lines->LoadFromFile(Name);
174    
175     }
176     //---------------------------------------------------------------------------
177     void __fastcall TMainForm::CreateMDIChildVisu(TObject *Sender,String Name)
178     {
179    
180     TVisuWinform *child;
181    
182     child=new TVisuWinform(Application);
183     child->Caption = Name;
184     FILE* in=fopen(child->Caption.c_str(),"rt");
185     if (in!=NULL)
186     {
187     std::ftime ft;
188     getftime(fileno(in), &ft);
189     char mess[1000];
190     sprintf(mess,"Heure fichier: %02u:%02u:%02u\n",ft.ft_hour, ft.ft_min,ft.ft_tsec * 2);
191     MainForm->StatusBar->Panels->Items[3]->Text=mess;
192     sprintf(mess,"Jour fichier: %02u/%02u/%02u\n",ft.ft_day, ft.ft_month,ft.ft_year+1980);
193     MainForm->StatusBar->Panels->Items[4]->Text=mess;
194     fclose(in);
195     }
196     Screen->Cursor=crHourGlass;
197     child->Invalidate();
198     child->gest=new MG_FILE(Name.c_str());
199     if (child->gest->get_code_de_lecture()==0)
200     {
201     MessageBox(Handle,"Erreur de lecture du fichier","Erreur", MB_OK);
202     delete child->gest;
203     child->gest=NULL;
204     Screen->Cursor=crDefault;
205     child->Invalidate();
206     child->Close();
207     return;
208     }
209     child->miseajourarbre();
210     Screen->Cursor=crDefault;
211     child->Invalidate();
212     child->ChangemodeExecute(Sender);
213    
214     }
215     //---------------------------------------------------------------------------
216    
217     void __fastcall TMainForm::FileNew1Execute(TObject *Sender)
218     {
219     CreateMDIChild("NONAME" + IntToStr(MDIChildCount + 1));
220     }
221     //---------------------------------------------------------------------------
222    
223    
224     void __fastcall TMainForm::HelpAbout1Execute(TObject *Sender)
225     {
226     AboutBox->ShowModal();
227     }
228     //---------------------------------------------------------------------------
229    
230     void __fastcall TMainForm::FileExit1Execute(TObject *Sender)
231     {
232     Close();
233     }
234     //---------------------------------------------------------------------------
235    
236    
237     void __fastcall TMainForm::openediteurExecute(TObject *Sender)
238     {
239     OpenDialog->Filter="Fichier MAGiC|*.magic|Fichier carte de taille|*.ctt|Fichier texte|*.txt|Tous Fichiers |*.*";
240     if (OpenDialog->Execute())
241     CreateMDIChild(OpenDialog->FileName);
242     }
243     //---------------------------------------------------------------------------
244    
245    
246    
247     void __fastcall TMainForm::openvisuExecute(TObject *Sender)
248     {
249     OpenDialog->Filter="Fichier MAGiC|*.magic";
250     if (OpenDialog->Execute())
251     CreateMDIChildVisu(Sender,OpenDialog->FileName);
252     }
253     //---------------------------------------------------------------------------
254    
255    
256    
257     void __fastcall TMainForm::SATMAGiC1Click(TObject *Sender)
258     {
259     #ifdef BREP_SAT
260     Twintransform *Child;
261    
262     Child = new Twintransform(Application);
263     Child->Caption = "SAT->MAGiC";
264     Child->GroupBox1->Caption = "Fichier SAT";
265     Child->OpenDialog1->Filter="Fichier SAT|*.sat|Autres Fichiers|*.*";
266     #endif
267     }
268     //---------------------------------------------------------------------------
269    
270     void __fastcall TMainForm::STEPMAGiC1Click(TObject *Sender)
271     {
272     #ifdef BREP_STEP
273    
274     Twintransform *Child;
275     Child = new Twintransform(Application);
276     Child->Caption = "STEP->MAGiC";
277     Child->GroupBox1->Caption = "Fichier STEP";
278     Child->OpenDialog1->Filter="Fichier STEP|*.st*|Autres Fichiers|*.*";
279     #endif
280     }
281     //---------------------------------------------------------------------------
282    
283    
284     void __fastcall TMainForm::Timer1Timer(TObject *Sender)
285     {
286     static int passe=0;
287     TDateTime maint=Now();
288     unsigned short hh;
289     unsigned short mm;
290     unsigned short ss;
291     unsigned short sss;
292     unsigned short an;
293     unsigned short mois;
294     unsigned short jour;
295     maint.DecodeTime(&hh,&mm,&ss,&sss);
296     maint.DecodeDate(&an,&mois,&jour);
297     char mess[30];
298     sprintf(mess,"%02u/%02u/%02u %02uH%02u",jour,mois,an,hh,mm);
299     StatusBar->Panels->Items[0]->Text=mess;
300     Timer1->Interval=10000;
301     if (!passe)
302     {
303     Timer2->Enabled=true;
304     Timer2->Interval=1;
305     HKEY clef;
306     DWORD type,taille;
307     RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\UQTR\\VMM\\",0,KEY_EXECUTE,&clef);
308     int res=RegQueryValueEx(clef,"Serveur",0,&type,0,&taille);
309     if (res!=ERROR_SUCCESS)
310     {
311     MessageBox(Handle,"Problème d'installation","Erreur", MB_OK);
312     TerminateProcess(GetCurrentProcess(),0);
313     }
314     char name[100];
315     RegQueryValueEx(clef,"Serveur",0,&type,name,&taille);
316     ClientSocket1->Host=name;
317     passe=1;
318     }
319    
320     }
321     //---------------------------------------------------------------------------
322    
323    
324    
325    
326    
327    
328    
329    
330    
331     void __fastcall TMainForm::WindowCascade1Execute(TObject *Sender)
332     {
333     Cascade();
334     }
335     //---------------------------------------------------------------------------
336    
337    
338     void __fastcall TMainForm::WindowTileHorizontal1Execute(TObject *Sender)
339     {
340     TileMode = tbHorizontal;
341     Tile();
342     }
343     //---------------------------------------------------------------------------
344    
345     void __fastcall TMainForm::WindowTileVertical1Execute(TObject *Sender)
346     {
347     TileMode = tbVertical;
348     Tile();
349     }
350     //---------------------------------------------------------------------------
351    
352     void __fastcall TMainForm::WindowArrangeAll1Execute(TObject *Sender)
353     {
354     ArrangeIcons();
355     }
356     //---------------------------------------------------------------------------
357    
358    
359     void __fastcall TMainForm::FormCreate(TObject *Sender)
360     {
361     char mess[255];
362     sprintf(mess,"Visual MAGiC Modulaire v%s",VERSION);
363     Caption=mess;
364     ToolButton4->ImageIndex=45;
365     ToolButton2->ImageIndex=47;
366     ToolButton5->ImageIndex=41;
367     ToolButton6->ImageIndex=43;
368     ToolButton12->ImageIndex=20;
369     ToolButton13->ImageIndex=21;
370     ToolButton14->ImageIndex=49;
371     ToolButton15->ImageIndex=50;
372     ToolButton16->ImageIndex=53;
373     ToolButton17->ImageIndex=54;
374     ToolButton18->ImageIndex=52;
375     ToolButton19->ImageIndex=51;
376     ToolButton20->ImageIndex=26;
377     ToolButton21->ImageIndex=10;
378     ToolButton24->ImageIndex=57;
379     ToolButton32->ImageIndex=38;
380     ToolButton33->ImageIndex=28;
381     ToolButton34->ImageIndex=31;
382     ToolButton35->ImageIndex=34;
383     ToolButton36->ImageIndex=37;
384     ToolButton37->ImageIndex=29;
385     ToolButton38->ImageIndex=32;
386     ToolButton39->ImageIndex=35;
387     ToolButton40->ImageIndex=10;
388     ToolButton41->ImageIndex=20;
389     ToolButton42->ImageIndex=21;
390     ToolButton43->ImageIndex=49;
391     ToolButton44->ImageIndex=50;
392     ToolButton45->ImageIndex=54;
393     ToolButton46->ImageIndex=51;
394     ToolButton47->ImageIndex=38;
395     ToolButton48->ImageIndex=37;
396     ToolButton49->ImageIndex=28;
397     ToolButton50->ImageIndex=29;
398     ToolButton51->ImageIndex=31;
399     ToolButton52->ImageIndex=32;
400     ToolButton53->ImageIndex=34;
401     ToolButton54->ImageIndex=35;
402     ToolButton55->ImageIndex=-1;
403     ToolButton56->ImageIndex=55;
404     ToolButton57->ImageIndex=56;
405     ToolButton58->ImageIndex=25;
406     ToolButton59->ImageIndex=24;
407     ToolButton27->ImageIndex=58;
408     gaugeprocess=new gauge(false);
409     }
410     //---------------------------------------------------------------------------
411    
412     void __fastcall TMainForm::ToolButton4Click(TObject *Sender)
413     {
414     if (activewinform!=NULL) activewinform->miseajourmodeleExecute(Sender);
415     }
416     //---------------------------------------------------------------------------
417    
418     void __fastcall TMainForm::ToolButton2Click(TObject *Sender)
419     {
420     if (activewinform!=NULL) activewinform->lancermagicExecute(Sender);
421     }
422     //---------------------------------------------------------------------------
423    
424     void __fastcall TMainForm::ToolButton5Click(TObject *Sender)
425     {
426     if (activewinform!=NULL) activewinform->lancerverimeshExecute(Sender);
427     }
428     //---------------------------------------------------------------------------
429    
430     void __fastcall TMainForm::ToolButton6Click(TObject *Sender)
431     {
432     if (activewinform!=NULL) activewinform->ChangemodeExecute(Sender);
433     }
434     //---------------------------------------------------------------------------
435    
436     void __fastcall TMainForm::ToolButton12Click(TObject *Sender)
437     {
438     if (activewinform!=NULL) activewinform->shrinkoffExecute(Sender);
439     }
440     //---------------------------------------------------------------------------
441    
442     void __fastcall TMainForm::ToolButton13Click(TObject *Sender)
443     {
444     if (activewinform!=NULL) activewinform->shrinkonExecute(Sender);
445     }
446     //---------------------------------------------------------------------------
447    
448     void __fastcall TMainForm::ToolButton14Click(TObject *Sender)
449     {
450     if (activewinform!=NULL) activewinform->renderfilExecute(Sender);
451     }
452     //---------------------------------------------------------------------------
453    
454     void __fastcall TMainForm::ToolButton15Click(TObject *Sender)
455     {
456     if (activewinform!=NULL) activewinform->rendershadeExecute(Sender);
457     }
458     //---------------------------------------------------------------------------
459    
460     void __fastcall TMainForm::ToolButton20Click(TObject *Sender)
461     {
462     if (activewinform!=NULL) activewinform->renderlightExecute(Sender);
463     }
464     //---------------------------------------------------------------------------
465    
466     void __fastcall TMainForm::ToolButton16Click(TObject *Sender)
467     {
468     if (activewinform!=NULL) activewinform->qualiteoffExecute(Sender);
469     }
470     //---------------------------------------------------------------------------
471    
472     void __fastcall TMainForm::ToolButton18Click(TObject *Sender)
473     {
474     if (activewinform!=NULL) activewinform->qualiteonExecute(Sender);
475     }
476     //---------------------------------------------------------------------------
477    
478     void __fastcall TMainForm::ToolButton17Click(TObject *Sender)
479     {
480     if (activewinform!=NULL) activewinform->axeoffExecute(Sender);
481     }
482     //---------------------------------------------------------------------------
483    
484     void __fastcall TMainForm::ToolButton19Click(TObject *Sender)
485     {
486     if (activewinform!=NULL) activewinform->axeonExecute(Sender);
487     }
488     //---------------------------------------------------------------------------
489    
490     void __fastcall TMainForm::ToolButton22Click(TObject *Sender)
491     {
492     if (activewinform!=NULL) activewinform->noeudoffExecute(Sender);
493     }
494     //---------------------------------------------------------------------------
495    
496     void __fastcall TMainForm::ToolButton23Click(TObject *Sender)
497     {
498     if (activewinform!=NULL) activewinform->noeudonExecute(Sender);
499     }
500     //---------------------------------------------------------------------------
501    
502     void __fastcall TMainForm::ToolButton32Click(TObject *Sender)
503     {
504     if (activewinform!=NULL) activewinform->f3Execute(Sender);
505     }
506     //---------------------------------------------------------------------------
507    
508     void __fastcall TMainForm::ToolButton36Click(TObject *Sender)
509     {
510     if (activewinform!=NULL) activewinform->f4Execute(Sender);
511     }
512     //---------------------------------------------------------------------------
513    
514     void __fastcall TMainForm::ToolButton33Click(TObject *Sender)
515     {
516     if (activewinform!=NULL) activewinform->xmExecute(Sender);
517     }
518     //---------------------------------------------------------------------------
519    
520     void __fastcall TMainForm::ToolButton37Click(TObject *Sender)
521     {
522     if (activewinform!=NULL) activewinform->xpExecute(Sender);
523     }
524     //---------------------------------------------------------------------------
525    
526     void __fastcall TMainForm::ToolButton34Click(TObject *Sender)
527     {
528     if (activewinform!=NULL) activewinform->ymExecute(Sender);
529     }
530     //---------------------------------------------------------------------------
531    
532     void __fastcall TMainForm::ToolButton38Click(TObject *Sender)
533     {
534     if (activewinform!=NULL) activewinform->ypExecute(Sender);
535     }
536     //---------------------------------------------------------------------------
537    
538     void __fastcall TMainForm::ToolButton35Click(TObject *Sender)
539     {
540     if (activewinform!=NULL) activewinform->zmExecute(Sender);
541     }
542     //---------------------------------------------------------------------------
543    
544     void __fastcall TMainForm::ToolButton39Click(TObject *Sender)
545     {
546     if (activewinform!=NULL) activewinform->zpExecute(Sender);
547     }
548     //---------------------------------------------------------------------------
549    
550     void __fastcall TMainForm::opencttExecute(TObject *Sender)
551     {
552     OpenDialog->Filter="Fichier Carte de taille|*.ctt";
553    
554     if (!(OpenDialog->Execute())) return;
555     Tvisucttform *child;
556     child=new Tvisucttform(Application);
557     child->Caption = OpenDialog->FileName;
558     FILE* in=fopen(child->Caption.c_str(),"rt");
559     if (in!=NULL)
560     {
561     std::ftime ft;
562     getftime(fileno(in), &ft);
563     char mess[1000];
564     sprintf(mess,"Heure fichier: %02u:%02u:%02u\n",ft.ft_hour, ft.ft_min,ft.ft_tsec * 2);
565     MainForm->StatusBar->Panels->Items[3]->Text=mess;
566     sprintf(mess,"Jour fichier: %02u/%02u/%02u\n",ft.ft_day, ft.ft_month,ft.ft_year+1980);
567     MainForm->StatusBar->Panels->Items[4]->Text=mess;
568     fclose(in);
569     }
570    
571     }
572     //---------------------------------------------------------------------------
573    
574     void __fastcall TMainForm::ToolButton40Click(TObject *Sender)
575     {
576     if (activecttform!=NULL) activecttform->configExecute(Sender);
577     }
578     //---------------------------------------------------------------------------
579    
580     void __fastcall TMainForm::ToolButton41Click(TObject *Sender)
581     {
582     if (activecttform!=NULL) activecttform->shrinkoffExecute(Sender);
583     }
584     //---------------------------------------------------------------------------
585    
586     void __fastcall TMainForm::ToolButton42Click(TObject *Sender)
587     {
588     if (activecttform!=NULL) activecttform->shrinkonExecute(Sender);
589     }
590     //---------------------------------------------------------------------------
591    
592     void __fastcall TMainForm::ToolButton43Click(TObject *Sender)
593     {
594     if (activecttform!=NULL) activecttform->renderoffExecute(Sender);
595     }
596     //---------------------------------------------------------------------------
597    
598     void __fastcall TMainForm::ToolButton44Click(TObject *Sender)
599     {
600     if (activecttform!=NULL) activecttform->renderonExecute(Sender);
601     }
602     //---------------------------------------------------------------------------
603    
604     void __fastcall TMainForm::ToolButton45Click(TObject *Sender)
605     {
606     if (activecttform!=NULL) activecttform->axeoffExecute(Sender);
607     }
608     //---------------------------------------------------------------------------
609    
610     void __fastcall TMainForm::ToolButton46Click(TObject *Sender)
611     {
612     if (activecttform!=NULL) activecttform->axeonExecute(Sender);
613     }
614     //---------------------------------------------------------------------------
615    
616     void __fastcall TMainForm::ToolButton47Click(TObject *Sender)
617     {
618     if (activecttform!=NULL) activecttform->f3Execute(Sender);
619     }
620     //---------------------------------------------------------------------------
621    
622     void __fastcall TMainForm::ToolButton48Click(TObject *Sender)
623     {
624     if (activecttform!=NULL) activecttform->f4Execute(Sender);
625     }
626     //---------------------------------------------------------------------------
627    
628     void __fastcall TMainForm::ToolButton49Click(TObject *Sender)
629     {
630     if (activecttform!=NULL) activecttform->xmExecute(Sender);
631     }
632     //---------------------------------------------------------------------------
633    
634     void __fastcall TMainForm::ToolButton50Click(TObject *Sender)
635     {
636     if (activecttform!=NULL) activecttform->xpExecute(Sender);
637     }
638     //---------------------------------------------------------------------------
639    
640     void __fastcall TMainForm::ToolButton51Click(TObject *Sender)
641     {
642     if (activecttform!=NULL) activecttform->ymExecute(Sender);
643     }
644     //---------------------------------------------------------------------------
645    
646     void __fastcall TMainForm::ToolButton52Click(TObject *Sender)
647     {
648     if (activecttform!=NULL) activecttform->ypExecute(Sender);
649     }
650     //---------------------------------------------------------------------------
651    
652     void __fastcall TMainForm::ToolButton53Click(TObject *Sender)
653     {
654     if (activecttform!=NULL) activecttform->zmExecute(Sender);
655     }
656     //---------------------------------------------------------------------------
657    
658     void __fastcall TMainForm::ToolButton54Click(TObject *Sender)
659     {
660     if (activecttform!=NULL) activecttform->zpExecute(Sender);
661     }
662     //---------------------------------------------------------------------------
663    
664     void __fastcall TMainForm::ToolButton56Click(TObject *Sender)
665     {
666     if (activewinform!=NULL) activewinform->afnoeudoffExecute(Sender);
667     }
668     //---------------------------------------------------------------------------
669    
670     void __fastcall TMainForm::ToolButton58Click(TObject *Sender)
671     {
672     if (activewinform!=NULL) activewinform->afnoeudonExecute(Sender);
673     }
674     //---------------------------------------------------------------------------
675    
676     void __fastcall TMainForm::ToolButton57Click(TObject *Sender)
677     {
678     if (activewinform!=NULL) activewinform->afmailleoffExecute(Sender);
679     }
680     //---------------------------------------------------------------------------
681    
682     void __fastcall TMainForm::ToolButton59Click(TObject *Sender)
683     {
684     if (activewinform!=NULL) activewinform->afmailleonExecute(Sender);
685     }
686     //---------------------------------------------------------------------------
687    
688     void __fastcall TMainForm::AidedeVisualM1Click(TObject *Sender)
689     {
690     helpwin->Show();
691     }
692     //---------------------------------------------------------------------------
693    
694    
695    
696     void __fastcall TMainForm::openimaExecute(TObject *Sender)
697     {
698     new Texpwinf(Application);
699     }
700     //---------------------------------------------------------------------------
701    
702     void __fastcall TMainForm::ToolButton60Click(TObject *Sender)
703     {
704     if (activewinform!=NULL) activewinform->mailleoffExecute(Sender);
705     }
706     //---------------------------------------------------------------------------
707    
708     void __fastcall TMainForm::ToolButton61Click(TObject *Sender)
709     {
710     if (activewinform!=NULL) activewinform->mailleonExecute(Sender);
711     }
712     //---------------------------------------------------------------------------
713    
714     void __fastcall TMainForm::openfrontExecute(TObject *Sender)
715     {
716     if (TVisufront::nombre==0)
717     {
718     new TVisufront(Application);
719     TVisufront::nombre=TVisufront::nombre+1;
720     }
721     else
722     {
723     MessageBox(Handle,"Une seule instance autorisée","Erreur", MB_OK);
724     return;
725     }
726     }
727     //---------------------------------------------------------------------------
728    
729    
730     void __fastcall TMainForm::Licence1Click(TObject *Sender)
731     {
732     Aboutlicence->ShowModal();
733     }
734     //---------------------------------------------------------------------------
735    
736    
737     void __fastcall TMainForm::FormClose(TObject *Sender, TCloseAction &Action)
738     {
739     long code;
740     for(int i = MDIChildCount-1; i >= 0; i--)
741     MDIChildren[i]->Close();
742     TerminateThread(gaugeprocess,code);
743     }
744     //---------------------------------------------------------------------------
745    
746    
747     void __fastcall TMainForm::ToolButton24Click(TObject *Sender)
748     {
749     if (activewinform!=NULL) activewinform->lancerg3dExecute(Sender);;
750     }
751     //---------------------------------------------------------------------------
752    
753    
754    
755    
756     void __fastcall TMainForm::Timer2Timer(TObject *Sender)
757     {
758     Timer2->Interval=32000;
759     ClientSocket1->Open();
760     Timer3->Enabled=true;
761     }
762     //---------------------------------------------------------------------------
763    
764     void __fastcall TMainForm::ClientSocket1Read(TObject *Sender,
765     TCustomWinSocket *Socket)
766     {
767     static int nbpb=0;
768     AnsiString rep=Socket->ReceiveText();
769     ClientSocket1->Close();
770     char *mess=rep.c_str();
771     char messtmp[20];
772     long num;
773     sprintf(messtmp,"%s1",heure);
774     StringHasher(messtmp,&num);
775     char decode[20];
776     sprintf(decode,"%08X",num);
777     if (strcmp(mess,decode)!=0)
778     {
779     nbpb++;
780     char mess[255];
781     sprintf(mess,"Licence indisponible essai %d",nbpb);
782     MessageBox(Handle,mess,"Erreur", MB_OK);
783     if (nbpb>3)
784     TerminateProcess(GetCurrentProcess(),0);
785     }
786    
787    
788     }
789     //---------------------------------------------------------------------------
790    
791     void __fastcall TMainForm::Timer3Timer(TObject *Sender)
792     {
793     struct time t;
794     gettime(&t);
795     sprintf(heure,"1 %2d:%02d:%02d.%02d",t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
796     ClientSocket1->Socket->SendText(heure);
797     Timer3->Enabled=false;
798     }
799     //---------------------------------------------------------------------------
800    
801     void __fastcall TMainForm::ClientSocket1Error(TObject *Sender,
802     TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &ErrorCode)
803     {
804     static int nbpb=0;
805     nbpb++;
806     char mess[255];
807     sprintf(mess,"Serveur de licence indisponible essai %d",nbpb);
808     MessageBox(Handle,mess,"Erreur", MB_OK);
809     if (nbpb>2)
810     TerminateProcess(GetCurrentProcess(),0);
811     ErrorCode=0;
812     ClientSocket1->Close();
813     }
814     //---------------------------------------------------------------------------
815    
816     void __fastcall TMainForm::SL1Click(TObject *Sender)
817     {
818     #ifdef BREP_SLD
819     Twintransform *Child;
820     Child = new Twintransform(Application);
821     Child->Caption = "SolidWorks->MAGiC";
822     Child->GroupBox1->Caption = "Fichier SolidWorks";
823     Child->OpenDialog1->Filter="Fichier SolidWorks|*magic.sldprt|Autres Fichiers|*.*";
824     Child->RadioButton2->Checked=true;
825     Child->RadioButton1->Enabled=false;
826     Child->RadioButton2->Enabled=false;
827     Child->RadioButton3->Enabled=false;
828     Child->RadioButton4->Enabled=false;
829     Child->RadioButton5->Enabled=false;
830     Child->GroupBox5->Enabled=false;
831     #endif
832     }
833     //---------------------------------------------------------------------------
834    
835     void __fastcall TMainForm::STLMAGiC1Click(TObject *Sender)
836     {
837     Twintransform *Child = new Twintransform(Application);
838     Child->Caption = "STL->MAGiC";
839     Child->GroupBox1->Caption = "Fichier STL";
840     Child->OpenDialog1->Filter="Fichier STL|*.stl|Autres Fichiers|*.*";
841     }
842     //---------------------------------------------------------------------------
843    
844    
845     void __fastcall TMainForm::ToolButton27Click(TObject *Sender)
846     {
847     if (activewinform!=NULL) activewinform->voirarbreExecute(Sender);
848     }
849     //---------------------------------------------------------------------------
850    
851    
852     void __fastcall TMainForm::Fenetrelog1Click(TObject *Sender)
853     {
854     if (Fenetrelog1->Checked)
855     {
856     Fenetrelog1->Checked=false;
857     fenlog->Close();
858     fenlog=NULL;
859     }
860     else
861     {
862     Fenetrelog1->Checked=true;
863     fenlog=new Twinlog(Application);
864     fenlog->Left=0;
865     fenlog->Height=0.15*Height;
866     fenlog->Top=0.925*(ClientHeight-fenlog->Height);
867     }
868     }
869     //---------------------------------------------------------------------------
870