ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/app/VMM/win32/main.cpp
Revision: 56
Committed: Fri Sep 28 20:22:10 2007 UTC (17 years, 11 months ago) by francois
Original Path: magic/app/VMM/VMM/win32/main.cpp
File size: 27970 byte(s)
Log Message:
version des executables a la fin de l ete 2007 ---> mailleur adaptatif + mailleur 3d + zone de maille actif

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