• Nenhum resultado encontrado

Κεφάλαιο 3 Firewall 3.1 Εισαγωγή

4.3 Τρίτη φόρμα - Administrator Panel

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 77 459. void __fastcall TForm2::Button2Click(TObject *Sender)

460. { char x[35];

461. Form1->ADOTable1->Insert();

462. Form1->ADOTable1->FieldByName("Username")->AsString = Edit1->Text;

463. Form1->ADOTable1->FieldByName("Password")->AsString = Edit2->Text;

464. strcpy(x,Edit2->Text.c_str());

465. strcpy(x,md5(x).c_str());

466. Form1->ADOTable1->FieldByName("Password_hash")->AsString = x;

467. Form1->ADOTable1->Post();

468. Form1->ADOTable1->First();

469. Form1->ADOTable1->Delete();

470. ShowMessage("Administrator Username and Password changed");

471. }

472. //---

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 78 Έχοντας εισέλθει πλέον στο περιβάλλον της εφαρμογής μπορούμε αρχικά να παρατηρήσουμε την κίνηση στο δίκτυό μας όπως αφήνει να διαφανεί και ο τίτλος Administrator Panel. Σε αυτό το σημείο ο διαχειριστής παρατηρεί την κίνηση του δικτύου εάν έχει εισέλθει κάποιος και πότε εισήλθε και εξήλθε αντίστοιχα(βλέπε σχήμα 4.3(α)).

Σχήμα 4.3(α): Η κίνηση στο δίκτυο

Αν επιλέξει την ετικέτα Accounts θα μεταφερθεί στην αντίστοιχη φόρμα που του επιτρέπει τη διαχείριση των λογαριασμών των χρηστών στη βάση, δηλαδή μπορεί να δει τη βάση, τους χρήστες του δικτύου και μπορεί να κάνει search και edit(βλέπε στο επόμενο σχήμα 4.3(β)). Εάν επιλέξει Create Network μεταφέρεται στην επόμενη φόρμα, τη φόρμα του δικτύου, είναι η τέταρτη φόρμα που περιγράφουμε.

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 79 Σχήμα 4.3(β): Αναζήτηση χρηστών στη βάση.(Accounts: ο κώδικας παρατίθεται παρακάτω στην ενότητα 4.7)

Παρακάτω παρατίθεται ο κώδικας:

Console1.h

473. //--- 474. #ifndef Console1H

475. #define Console1H

476. //--- 477. #include <Classes.hpp>

478. #include <Controls.hpp>

479. #include <StdCtrls.hpp>

480. #include <Forms.hpp>

481. #include <Menus.hpp>

482. #include <ExtCtrls.hpp>

483. #include <pngimage.hpp>

484. #include <DBGrids.hpp>

485. #include <Grids.hpp>

486. #include <ADODB.hpp>

487. #include <DB.hpp>

488. #include <DBCtrls.hpp>

489. #include <Mask.hpp>

490. #include <dblookup.hpp>

491. #include <ComCtrls.hpp>

492. //--- 493. class TForm3 : public TForm

494. {

495. __published: // IDE-managed Components 496. TMainMenu *MainMenu1;

497. TMenuItem *File1;

498. TMenuItem *Exit1;

499. TMenuItem *Options1;

500. TLabel *Label1;

501. TListBox *ListBox1;

502. TLabel *Label2;

503. TMenuItem *Accounts1;

504. TLabel *Label3;

505. TListBox *ListBox2;

506. TButton *Button1;

507. TListBox *ListBox3;

508. TLabel *Label4;

509. TButton *Button2;

510. void __fastcall Exit1Click(TObject *Sender);

511. void __fastcall Accounts1Click(TObject *Sender);

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 80 512. void __fastcall Button1Click(TObject *Sender);

513. void __fastcall Button2Click(TObject *Sender);

514. void __fastcall Options1Click(TObject *Sender);

515. private: // User declarations 516. public: // User declarations 517. __fastcall TForm3(TComponent* Owner);

518. };

519. //--- 520. extern PACKAGE TForm3 *Form3;

521. //--- 522. #endif

Console1.cpp // το όνομα της φόρμας μέσα στην εφαρμογή.

523. //---

524. #include <vcl.h>

525. #pragma hdrstop

526. #include "Console1.h"

527. #include "Login.h"

528. #include "Login2.h"

529. #include "Policy1.h"

530. #include "accounts.h"

531. USEFORM("Login.cpp",Form1);

532. USEFORM("Login2.cpp",Form2);

533. USEFORM("Policy1.cpp",Form4);

534. USEFORM("accounts.cpp",Form10);

535. //--- 536. #pragma package(smart_init)

537. #pragma resource "*.dfm"

538. TForm3 *Form3;

539. //--- 540. __fastcall TForm3::TForm3(TComponent* Owner)

541. : TForm(Owner) 542. {

543. }

544. //--- 545. void __fastcall TForm3::Exit1Click(TObject *Sender) 546. {

547. Form1->Close();

548. Form2->Close();

549. Form3->Close();

550. }

551. //--- 552. void __fastcall TForm3::Accounts1Click(TObject *Sender)

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 81 553. {

554. Form10->Show(); // Anoigei thn forma gia thn diaxeirish ton account 555. }

556. //--- 557. void __fastcall TForm3::Button1Click(TObject *Sender) 558. {

559. ListBox2->Clear();

560. }

561. //--- 562. void __fastcall TForm3::Button2Click(TObject *Sender) 563. {

564. ListBox3->Clear();

565. }

566. //--- 567. void __fastcall TForm3::Options1Click(TObject *Sender) 568. {

569. Form4->Show();

570. }

571. //---

4.4 Τέταρτη φόρμα – Φόρμα δικτύου

Σχήμα 4.4 Φόρμα δικτύου

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 82 Έχουμε εισέλθει στο δίκτυο, βρισκόμαστε στη βασική φόρμα της εφαρμογής. Εδώ εισάγουμε τους χρήστες και τους παρέχουμε τις υπηρεσίες στις οποίες θα μπορούν να έχουν πρόσβαση. Εδώ γίνεται η τοποθέτηση των χρηστών στο εσωτερικό δίκτυο όπως φαίνεται στην εικόνα 4.4(β) επιλέγοντας το πεδίο Add εμφανίζεται ένα υπομενού – εάν ο διαχειριστής επιλέξει Add New User(σχήμα 4.4(α)) οφείλει να συμπληρώσει τα απαιτούμενα πεδία (* Field Required: Username and Password) και κατόπιν έχοντας ενεργοποιήσει το πεδίο Group by Network, επιλέγοντας Enable ακριβώς δίπλα, είναι σε θέση να εισάγει ένα χρήστη στο δίκτυο και να επιλέξει τις υπηρεσίες που θα του παρέχει. Έχουμε ορίσει τις βασικές υπηρεσίες (http server, ftp server, mail server). Εάν ο διαχειριστής επιλέξει Add Existing User τότε εμφανίζεται ένας υπάρχον χρήστης από τη βάση δεδομένων και εγκαθίσταται στο δίκτυο. Σχήμα 4.4(α)

Σχήμα 4.4(β)

Βλέπουμε ακριβώς πάνω την προσθήκη του χρήστη καθώς και την δυνατότητα, μετά τη δημιουργία της θέσης του στο δίκτυο με δεξί κλικ πάνω στον υπολογιστή του, να κάνει login (σχήμα 4.4(γ)) και αφού εισέλθει πληκτρολογώντας το username και το password του να δει τις υπηρεσίες που του έχουν παραχωρηθεί(βλέπε στο επόμενο σχήμα 4.4(δ)).

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 83 Σχήμα 4.4(γ): Login in As User (ο κώδικας βρίσκεται στην ενότητα 4.8 beforelog)

Σχήμα 4.4 (δ): Login in As User (ο κώδικας βρίσκεται στην ενότητα 4.8 afterlog)

Μετέπειτα μπορεί να εξέλθει απλά πατώντας Log out.

Ο διαχειριστής βέβαια παραμένει στην βασική φόρμα του δικτύου και συνεχίζει την διαχείριση του δικτύου. Προχωρώντας στην ανάπτυξη της εφαρμογής προβαίνει σε μια πολύ σημαντική ενέργεια, στην τοποθέτηση των servers στην περιοχή της αποστρατικοποιημένης ζώνης. Αυτή η περιοχή περιέχει μόνο τις πολύ βασικές υπηρεσίες (για παράδειγμα υπηρεσία web -> http server) και τα μηχανήματά της είναι προσβάσιμα από το Internet μέσω του Firewall και του router. Βλέπουμε παρακάτω (σχήμα 5.4(ε)) ότι επιλέγοντας servers εμφανίζεται ένα υπομενού και ο διαχειριστής με κλικ τοποθετεί τους servers στην αποστρατικοποιημένη ζώνη με κύριο σκοπό την προστασία του εσωτερικού δικτύου.

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 84 Σχήμα 4.4(ε)

Σε αυτό το σημείο ο διαχειριστής του δικτύου έχοντας προσθέσει χρήστες στο δίκτυο και έχοντας τοποθετήσει τους servers στην αποστρατικοποιημένη ζώνη προχωρά σε μια ακόμη σημαντική ενέργεια, στην διαχείριση του firewall. Έχοντας τοποθετήσει τα αντίστοιχα εικονίδια εκ των

προτέρων και κάνοντας δεξί κλικ στο εικονίδιο του firewall πάνω στη φόρμα δικτύου, όπως φαίνεται δίπλα και επιλέγοντας properties.

Με αυτό τον τρόπο μεταφερόμαστε στην πέμπτη φόρμα της εφαρμογής που δεν είναι άλλη από το Firewall Control Panel και περιγράφεται παρακάτω εκτενώς.

Με τον ίδιο τρόπο, δηλαδή με δεξί κλικ στο εικονίδιο του router και επιλέγοντας router options, από τη συγκεκριμένη φόρμα του δικτύου μπορεί ο διαχειριστής της εφαρμογής να μεταφερθεί στην μετέπειτα φόρμα, τη φόρμα του Router Control Panel – είναι η έκτη φόρμα που περιγράφεται.

Δεν πρέπει να παραλείψουμε να αναφέρουμε το πώς γίνεται η σύνδεση των φορμών, δηλαδή με ποιο τρόπο δημιουργήθηκαν οι επιλογές που περιγράφονται παραπάνω, το login του χρήστη, η επιλογή του firewall, του router και η προσθήκη των χρηστών και των servers. Για να κατανοήσει κανείς εύκολα την σύνδεση αρκεί να παρατηρήσει την κεντρική φόρμα πάνω δεξιά, θα δει κάποια εικονίδια όπως βλέπουμε παρακάτω. Είναι τα λεγόμενα PopupMenu.

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 85 Αναλυτικότερα:

PopupMenu1: δημιουργεί την επιλογή login για να εισέλθουμε στο δίκτυο.

PopupMenu2: δημιουργεί την επιλογή properties για την είσοδο στο firewall.

PopupMenu3: δημιουργεί την επιλογή των servers.

PopupMenu4: δημιουργεί την επιλογή router options για να εισέλθουμε στο router.

PopupMenu5: δημιουργεί την επιλογή Add για την προσθήκη των χρηστών.

Ο κώδικας της φόρμας δικτύου:

Policy1.h:

572. //---

573. #ifndef Policy1H 574. #define Policy1H

575. //--- 576. #include <Classes.hpp>

577. #include <Controls.hpp>

578. #include <StdCtrls.hpp>

579. #include <Forms.hpp>

580. #include <ExtCtrls.hpp>

581. #include <jpeg.hpp>

582. #include <DBCtrls.hpp>

583. #include <Mask.hpp>

584. #include <Graphics.hpp>

585. #include <pngimage.hpp>

586. #include <Menus.hpp>

587. //--- 588. class TForm4 : public TForm

589. {

590. __published: // IDE-managed Components 591. TSplitter *Splitter1;

592. TLabel *Label1;

593. TLabel *Label2;

594. TEdit *Edit1;

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 86 595. TEdit *Edit2;

596. TLabel *Label3;

597. TLabel *Label4;

598. TEdit *Edit3;

599. TLabel *Label5;

600. TEdit *Edit4;

601. TEdit *Edit5;

602. TLabel *Label6;

603. TCheckBox *CheckBox1;

604. TCheckBox *CheckBox2;

605. TCheckBox *CheckBox3;

606. TImage *Firewall;

607. TImage *Internet;

608. TShape *Shape1;

609. TPopupMenu *PopupMenu1;

610. TMenuItem *Login1;

611. TButton *Button3;

612. TShape *Shape2;

613. TPopupMenu *PopupMenu2;

614. TMenuItem *Properties1;

615. TButton *Button4;

616. TPopupMenu *PopupMenu3;

617. TMenuItem *HttpServer1;

618. TMenuItem *MailServer1;

619. TMenuItem *FtpServer1;

620. TEdit *cursorXY;

621. TCheckBox *CheckBox5;

622. TLabel *Label7;

623. TCheckBox *CheckBox6;

624. TEdit *Edit6;

625. TImage *Image1;

626. TPopupMenu *PopupMenu4;

627. TMenuItem *RouterOptions1;

628. TPopupMenu *PopupMenu5;

629. TMenuItem *AddNewUser1;

630. TMenuItem *AddExistingUser1;

631. TButton *Button2;

632. TShape *Shape3;

633. TLabel *Label8;

634. TLabel *Label9;

635. TImage *Image2;

636. TLabel *Label10;

637. TEdit *Edit7;

638. TLabel *Label11;

639. TMenuItem *Delete1;

640. TPopupMenu *mailservercp_menu;

641. TMenuItem *Properties2;

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 87 642. void __fastcall Button3Click(TObject *Sender);

643. void __fastcall Login1Click(TObject *Sender);

644. void __fastcall mousedown(TObject *Sender, TMouseButton Button, TShiftState Shift,

645. int X, int Y);

646. void __fastcall mousemove(TObject *Sender, TShiftState Shift, int X, int Y);

647. void __fastcall mouseup(TObject *Sender, TMouseButton Button, TShiftState Shift,

648. int X, int Y);

649. void __fastcall httpservermousedown(TObject *Sender, TMouseButton Button, TShiftState Shift,

650. int X, int Y);

651. void __fastcall httpservermousemove(TObject *Sender, TShiftState Shift, int X, int Y);

652. void __fastcall httpservermouseup(TObject *Sender, TMouseButton Button, TShiftState Shift,

653. int X, int Y);

654. void __fastcall Properties1Click(TObject *Sender);

655. void __fastcall HttpServer1Click(TObject *Sender);

656. void __fastcall MailServer1Click(TObject *Sender);

657. void __fastcall FtpServer1Click(TObject *Sender);

658. void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y);

659. void __fastcall CheckBox5Click(TObject *Sender);

660. void __fastcall RouterOptions1Click(TObject *Sender);

661. void __fastcall AddNewUser1Click(TObject *Sender);

662. void __fastcall Image2Click(TObject *Sender);

663. void __fastcall AddExistingUser1Click(TObject *Sender);

664. void __fastcall Delete1Click(TObject *Sender);

665. void __fastcall Properties2Click(TObject *Sender);

666. private: // User declarations 667. bool isDragging;

668. int currentX;

669. int currentY;

670. int x,y;

671. public: // User declarations

672. int count;

673. int getX() 674. {

675. return x;

676. }

677. int getY() 678. {

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 88 679. return y;

680. }

681. __fastcall TForm4(TComponent* Owner);

682. };

683. /*

684. class C 685. { 686. public:

687. TImage *terminal1;

688. int val;

689. };

690. */

691. //--- 692. extern PACKAGE TForm4 *Form4;

693. //--- 400. #endif

Policy1.cpp

401. //---

402. #include <vcl.h>

403. #pragma hdrstop

404. #include "Policy1.h"

405. #include "Login.h"

406. #include "LoginPanel.h"

407. #include "Console1.h"

408. #include "firewall.h"

409. #include "ftp.h"

410. #include "router.h"

411. #include "Outeruser.h"

412. #include "mail.h"

413. #include "mailservercp.h"

414. #include "md5.cpp";

415. USEFORM("Login.cpp",Form1);

416. USEFORM("LoginPanel.cpp",Form5);

417. USEFORM("Console1.cpp",Form3);

418. USEFORM("firewall.cpp",Form6);

419. USEFORM("ftp.cpp",Form8);

420. USEFORM("router.cpp",Form9);

421. USEFORM("Outeruser.cpp",Form11);

422. USEFORM("mail.cpp",Form12);

423. USEFORM("mailservercp.cpp",Form14);

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 89 424. //---

425. #pragma package(smart_init) 426. #pragma resource "*.dfm"

427. TForm4 *Form4;

428. /*pointers*/

429. TImage *terminal;

430. TImage *httpserver;

431. TImage *emailserver;

432. TImage *ftpserver;

433. char hash[35]; //Συνδεεται με τον md5 παρακατω - πίνακας 434. //--- 435. __fastcall TForm4::TForm4(TComponent* Owner)

436. : TForm(Owner) 437. {

438. }

439. //---

440. void __fastcall TForm4::AddNewUser1Click(TObject *Sender) 441. {

442. if(Edit1->Text.IsEmpty() || Edit2->Text.IsEmpty() ) 443. {

444. ShowMessage("Empty Fields recheck");

445. } 446. else 447. {

448. Form1->ADOTable2->Insert(); // Αdd user - ADOTable2 ειναι των user

449. if(CheckBox5->Checked==true) //button enable network id 450. {

451. Form1->ADOTable2->FieldByName("ID_Network")->AsString = Edit5->Text;

452. }

453. Form1->ADOTable2->FieldByName("Username")->AsString = this->Edit1-

>Text;

454. Form1->ADOTable2->FieldByName("Password")->AsString = this->Edit2-

>Text;

455. //Form12->EmailsTable->FieldByName("Username")->AsString = this->Edit1-

>Text;

456. //Form12->EmailsTable->FieldByName("Password")->AsString = this->Edit2-

>Text;

457. strcpy(hash,Edit2->Text.c_str()); //md5 function

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 90 458. strcpy(hash,md5(hash).c_str());

459. Form1->ADOTable2->FieldByName("MD5 Hash")->AsString = hash;

460. if ( this->Edit7->Text.IsEmpty() ) //email 461. {

462. CheckBox2->Enabled = false;

463. } 464. else 465. {

466. Form1->ADOTable2->FieldByName("Email")->AsString = this->Edit7->Text;

467. //Form12->EmailsTable->FieldByName("Email")->AsString = this->Edit7-

>Text;

468. CheckBox2->Enabled = true;

469. }

470. Form1->ADOTable2->FieldByName("Lastname")->AsString = this->Edit3-

>Text;

471. Form1->ADOTable2->FieldByName("Firstname")->AsString = this->Edit4-

>Text;

472. if(CheckBox1->Checked) //http service 473. {

474. Form1->ADOTable2->FieldByName("ID Http")->AsInteger = 1;

475. } 476. else

477. Form1->ADOTable2->FieldByName("ID Http")->AsInteger = 0;

478. if(CheckBox3->Checked) //ftp service 479. {

480. Form1->ADOTable2->FieldByName("ID Ftp")->AsInteger = 2;

481. } 482. else

483. Form1->ADOTable2->FieldByName("ID Ftp")->AsInteger = 0;

484. if(CheckBox2->Checked) //mail service 485. {

486. Form1->ADOTable2->FieldByName("ID Pop3")->AsInteger = 3;

487. } 488. else

489. Form1->ADOTable2->FieldByName("ID Pop3")->AsInteger = 0;

490. if(CheckBox6->Checked) //dmz 491. {

492. Form1->ADOTable2->FieldByName("DMZ")->AsInteger=1;

493. } 494. else

495. Form1->ADOTable2->FieldByName("DMZ")->AsInteger=0;

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 91 496. Form1->ADOTable2->Post(); // end of add user

497. Edit1->Clear();

498. Edit2->Clear();

499. Edit3->Clear();

500. Edit4->Clear();

501. Edit7->Text = " @mailserver.com";

502. CheckBox1->Checked = false; //http 503. CheckBox3->Checked = false; //ftp 504. CheckBox2->Checked = false; //mail

505. CheckBox6->Checked = false; //dmz

506. terminal = new TImage(this); //dhmiourgia antikeimenou 507. terminal->Parent = Form4;

508. terminal->Top = 400;

509. terminal->Left = 440;

510. terminal->Picture->LoadFromFile("c:\\Ptyxiakh\\stuff\\Computer.jpg");

511. terminal->OnMouseDown = mousedown;

512. terminal->OnMouseMove = mousemove;

513. terminal->OnMouseUp = mouseup;

514. terminal->PopupMenu = PopupMenu1;

515. }//else απο τον έλεγχο IsEmpty

516. } //Add user end

517. void __fastcall TForm4::Button3Click(TObject *Sender) 518. {

519. Close();

520. CheckBox1->Checked = false; //http 521. CheckBox3->Checked = false; //ftp 522. CheckBox2->Checked = false; //mail 523. CheckBox5->Checked = false; //network 524. CheckBox6->Checked = false; //dmz 525. }

526. //--- 527. void __fastcall TForm4::Login1Click(TObject *Sender) 528. {

529. Form5->Show();

530. }

531. //---

532. void __fastcall TForm4::mousedown(TObject *Sender, TMouseButton Button, TShiftState Shift,

533. int X, int Y) 534. {

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 92 535. if(Button == mbLeft)

536. {

537. isDragging = true;

538. currentX = X;

539. currentY = Y;

540. } 541. }

542. //---

543. void __fastcall TForm4::mousemove(TObject *Sender, TShiftState Shift, int X, int Y)

544. {

545. if(isDragging ) 546. {

547. terminal->Top = terminal->Top + ( Y - currentY);

548. terminal->Left = terminal->Left + ( X - currentX);

549. x = terminal->Left; //παιρνω τα Χ Υ και αναθετω με getx στο firewall 550. y = terminal->Top; //για να βρισκεται εντος οριων

551. }

552. if(isDragging==true && Form6->initializeobj==true) 553. {

554. terminal->Top = 400;

555. terminal->Left = 440;

556. }

557. if(x<161) 558. {

559. isDragging=false;

560. }

561. }

562. //---

563. void __fastcall TForm4::mouseup(TObject *Sender, TMouseButton Button, TShiftState Shift,

564. int X, int Y) 565. {

566. isDragging = false;

567. }

568. //---

569. void __fastcall TForm4::Properties1Click(TObject *Sender) 570. {

571. Form6->ShowModal();

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 93 572. }

573. //---

574. void __fastcall TForm4::HttpServer1Click(TObject *Sender) 575. {

576. httpserver = new TImage(this); //Δημιουργία Αντικειμένου 577. httpserver->Parent = Form4;

578. httpserver->Top = 170;

579. httpserver->Left = 600;

580. httpserver->Picture->LoadFromFile("c:\\Ptyxiakh\\stuff\\web-server- icon.bmp");

581. //httpserver->OnMouseDown = httpservermousedown;

582. //httpserver->OnMouseMove = httpservermousemove;

583. //httpserver->OnMouseUp = httpservermouseup;

584. }

585. //---

586. void __fastcall TForm4::httpservermousedown(TObject *Sender, TMouseButton Button, TShiftState Shift,

587. int X, int Y) 588. {

589. if(Button == mbLeft) 590. {

591. isDragging = true;

592. currentX = X;

593. currentY = Y;

594. } 595. }

596. void __fastcall TForm4::httpservermousemove(TObject *Sender, TShiftState Shift, int X, int Y)

597. {

598. if(isDragging ) 599. {

600. httpserver->Top = httpserver->Top + ( Y - currentY);

601. httpserver->Left = httpserver->Left + ( X - currentX);

602. x = httpserver->Left; //pernw ta x y kai ta pernaw me getx sto firewall 603. y = httpserver->Top;

604. } 605. /*

606. if(isDragging==true && Form6->initializeobj==true) //den xreiazetai ..

607. {

608. httpserver->Top = 400;

609. httpserver->Left = 440;

610. } */

611. if(x<161)

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 94 612. {

613. isDragging=false;

614. }

615. }

616. void __fastcall TForm4::httpservermouseup(TObject *Sender, TMouseButton Button, TShiftState Shift,

617. int X, int Y) 618. {

619. isDragging = false;

620. }

621. //---

622. void __fastcall TForm4::MailServer1Click(TObject *Sender) 623. {

624. emailserver = new TImage(this); //Δημιουργια Αντικειμένου 625. emailserver->Parent = Form4;

626. emailserver->Top = 270;

627. emailserver->Left = 600;

628. emailserver->Picture->LoadFromFile("c:\\Ptyxiakh\\stuff\\email-server- icon.bmp");

629. emailserver->PopupMenu = mailservercp_menu;

630. //emailserver->OnMouseDown = mousedown;

631. //emailserver->OnMouseMove = mousemove;

632. //emailserver->OnMouseUp = mouseup;

633. }

634. //---

635. void __fastcall TForm4::FtpServer1Click(TObject *Sender) 636. {

637. ftpserver = new TImage(this); //Δημιοργία αντικειμένου 638. ftpserver->Parent = Form4;

639. ftpserver->Top = 370;

640. ftpserver->Left = 600;

641. ftpserver->Picture->LoadFromFile("c:\\Ptyxiakh\\stuff\\File-Server- icon.bmp");

642. //ftpserver->OnMouseDown = mousedown;

643. //ftpserver->OnMouseMove = mousemove;

644. //ftpserver->OnMouseUp = mouseup;

645. }

646. //---

647. void __fastcall TForm4::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)

648. {

649. //Εμφανίζει την θέση του κέρσορα

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 95 650. cursorXY->Text ="X:" + IntToStr(X)+ " " + "Y:" + IntToStr(Y);

651. }

652. //--- 653. void __fastcall TForm4::CheckBox5Click(TObject *Sender) 654. {

655. if(CheckBox5->Checked==true) //To πεδίο το Network Ιd στην φόρμα Policy1

656. {

657. Edit5->Enabled=true;

658. } 659. else

660. Edit5->Enabled=false;

661. }

662. //---

663. void __fastcall TForm4::RouterOptions1Click(TObject *Sender) 664. {

665. Form9->Show(); //emfanizetai h forma tou router 666. }

667. //---

668. void __fastcall TForm4::Image2Click(TObject *Sender) 669. {

670. Form11->Show(); //forma outer user.

671. }

672. //---

673. void __fastcall TForm4::AddExistingUser1Click(TObject *Sender) 674. {

675. terminal = new TImage(this); //Δημιουργία αντικειμένου 676. terminal->Parent = Form4;

677. terminal->Top = 400;

678. terminal->Left = 440;

679. terminal->Picture->LoadFromFile("c:\\Ptyxiakh\\stuff\\Computer.jpg");

680. terminal->OnMouseDown = mousedown;

681. terminal->OnMouseMove = mousemove;

682. terminal->OnMouseUp = mouseup;

683. terminal->PopupMenu = PopupMenu1;

684. }

685. //---

686. void __fastcall TForm4::Delete1Click(TObject *Sender) 687. {

688. /* Delete Button */

689. terminal->Hide();

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 96 690. Form6->openbrowser=false; //οι μεταβλητές αυτες είναι δηλωμένες στην

Forma 6 ( firewall )

691. Form6->openmail=false;

692. Form6->openftp=false;

693. Form5->Frame21->Edit2->Clear(); //Καθαρίζει τα πεδία στο Frame21 logout και το κρίβει

694. Form5->Frame21->Hide();

695. Form5->Frame11->Show(); //Εμφανίζει το Frame του login 696. Form5->Frame11->Edit1->Clear();

697. Form5->Frame11->Edit2->Clear();

698. Form3->ListBox1->Items->Delete(Form5->listindex); //Διαγραφή item απο την ListBox

699. if(!Form5->Frame11->Edit1->Text.IsEmpty() || !Form5->Frame11->Edit2-

>Text.IsEmpty() || !Form5->Frame21->Edit2->Text.IsEmpty()) 700. {

701. Form1->ADOTable2->Delete(); //Διαγράφει την εγγραφή που έχει επιλεγεί απο την locate()

702. }

703. Form5->listindex--;

704. Form8->Close();

705. Form12->Close();

706. }

707. //---

708. void __fastcall TForm4::Properties2Click(TObject *Sender) 709. {

710. Form14->ShowModal();

711. }

712. //---

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 97

Documentos relacionados