Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0



Relaterede dokumenter
Kravspecifikation For. Gruppen

Svendeprøve Projekt Tyveri alarm

Accepttest Specifikation For. Gruppen

PID2000 Archive Service

Installation og Drift. Aplanner for Windows Systemer Version

Brugermanual. Tripple Track Fleet

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Brugervejledning for. Telenor Dialer

Conlan express Brugervejledning For Windows XP - Windows 7

Quick Guide for TopSURV DGPS

Quick Guide. Version 0.9

Installér din Officepakke 2013

Quick Guide. Version 0.9

Installationsvejledning til LMeSmartClient

Salto opdatering, drift og vedligehold Maj 2016

Dynamicweb Mail Opsætning

IBI/CTS opbygning af grafiske brugerflader på centrale anlæg...3 Stikordsregister...39

TRUST 100MB SPEEDSHARE USB ADAPTER

Installation af Elektronisk APV på flere PC er

My booking. Generelt. Forsiden. Version 9.0

MANUAL SKIOLD GØR EN FORSKEL DM6000 INSTALLATION

smart-house Web-Server Manual smart-house Web-Server Manual 1 of 15

Programmering af trådløse modtagere (RF)

Secure O matic. Gruppe 5 2. SEMESTERPROJEKT. Udgave. Accepttest-specifikation

Dynamicweb Exchange Opsætning

Conlan express. Brugervejledning. UserHandbookv.1 DANaug11

Installation af WeroShop 2.4 S

Advanced Word Template Brugermanual

Tryk på IPAD/IPHONE ikonet i menuen

Dansk Petanque Forbund

Programmering af CS7050 TCP/IP modul

LM Technologies bluetooth seriel adapter Installationsvejledning

Introduktion til OPC Access

Installation og opsætning af Outlook klient til Dynamics CRM

Vejledning i brug af fjernarbejdsplads pa Danmarks Statistik Mac brugere

Brugervejledning - til internetbaseret datakommunikation med PBS ved hjælp af HTTP/S-løsningen

Konfigurations vejledning af N510 på TDC Scale

Brugervejledning til videokamera uden sensor

Opsætning af forbindelse til Danmarks Statistik

Navision Stat 7.0. Kvikguide om tilpasning af rollecenteret. Overblik. Side 1 af 29. ØSY/STO 18. maj 2015

03/ PW xxxxxdk BETJENINGSVEJLEDNING. SKIOLD FlexMix PC software Version 2.34

CAN BUS alarm, AK4625 Snapguide med oversigt over ledninger fra sirene og modul

NEMT OG EFFEKTIVT - Ejendomsadministration

Dansk Ride Forbund Stævnesystem 2 Installationsvejledning

Vejledning til kontobrugeren: LESSOR-Portalen

Manual for VALTRONICS IP kamera Android APP

Introduktion. HomeSecure 433MHz Trådløst Tastatur manual:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Lonbox PCM2001 betjeningsenhed

UMS Velkomst Byder nye brugere velkommen til skolen

BRUGERMANUAL. easyweather pc software

Fjernopkobling. - Vejledning i førstegangs fjernopkobling via en IKKE. Banedanmark pc

Bruger manual AGAM kontrolboks

ELEKTRONISK INDBERETNING BØRNEDATABASEN VIA DGWS 13/ VERSION 1.02

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

Opgavestyring i Elevplan Vejledning. Pædagogisk IT kørekort Mentorforløb

Brugervejledning til videokamera uden sensor

Vejledning til Teknisk opsætning

Din brugermanual KONICA MINOLTA DI1610

AR-M230/M270 serier Online-manual Netværk udskrivningsløsning

DGMF Kursus i Digitalcentralen. Rev. 19 / Poul Erik Christiansen. DiMAX 1200Z Digitalcentral

Brugervejledning for. Telenor Dialer

OVERVÅGNINGS- SOFTWARE. SafeLine SLCC

Version 8.0. BullGuard. Backup

// Mamut Business Software Installationsguide: Basis

BRUGERVEJLEDNING MAGENTO RETURVARER BRUGERVEJLEDNING RETURVARER MODUL VERSION Version

MANUAL SKIOLD GØR EN FORSKEL DISTRIWIN SERVICE INSTALLATION

NVR Client system. Bruger Manual. SuperVision Alarmteknik ApS Cedervej 2, 8462 Harlev J

S T O R A G E S U P P O R T H A R D D I S K C A S I N G 2. 5 S T O R A G E S ATA T O U S B 2. 0 M A N U A L S I

Netværk & elektronik

Opgavestyring Workflow:

QUICKVEJLEDNING til Piccolo Light

Kvik guide AMC Klient Symbian

Betjeningsvejledning. for. UniRace

Starthjælp Alt hvad du skal vide, når du flytter dit telefonnummer over til evercall

TDCs Signaturserver. 11/05 - Version TDC Erhverv Sikkerhed og certifikater

Umbraco installationsvejledning

Brugermanual SuperSail (DS Version) Performance System Release 1.0

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

MobileStatus Viewer Brugervejledning

Bruger Manual For WT-215W WIFI relæ

Manual til PRO DK180

Digital Video Recorder Brugermanual

Nexus IP Quickguide. Til alle Nexus VP og F modeller

VALTRONICS IPHONE/IPAD APP BRUGERVEJLEDNING

Westermo GDW-11 GSM Modem forbindelse til CXxxxx

Diagnostic og Toolbox Instruktion. Lindgaard Pedersen A/S. Rev. 1.0 Side 1 / 14

Microsoft Windows 7 / Vista / XP / 2000 / Home Server. Startvejledning

Citrix Receiver komplet guide til installation, brug og fejlfinding Version

Generelt gælder det at SQL serveren skal understøtte SQL Authentication (Mixed mode) da SIMS Serveren kommunikerer gennem en SQL bruger.

Fuld installation af Jit-klient

Citrix Receiver guide til Mac, Iphone, Ipad Version

Brugermanual til Assignment Hand In

ELEKTRONISK INDBERETNING POST 23/ VERSION 1.13

Kom godt igang med Inventar registrering

Introduktion. Unifaun Online

895 Harmony-fjernbetjening. Brugervejledning, version 1.0

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Carry it Easy Brugermanual

Transkript:

Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0

Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS OPBYGNING...3 2. GENEREL BESKRIVELSE...4 2.1. PROGRAMMETS OMGIVELSER...4 2.2. FUNKTIONEL BESKRIVELSE...4 2.3. PROGRAM OVERSIGT...5 3. GRÆNSEFLADER...5 3.1. EKSTERNE GRÆNSEFLADER...5 3.1.1. RS-232 Seriel port...5 3.1.2. Registrerings databasen i Windows 95...5 3.1.3. Internettet (E-Mail)...6 3.1.4. Operatør...6 3.1.5. GuardTech Database...6 3.2. INTERNE GRÆNSEFLADER...6 4. GUARDTECH DATABASEN...7 4.1. DATABASEN...7 4.2. TABELLER...7 4.2.1. Tabellen Log...7 4.2.2. Tabellen Units...7 4.2.3. Tabellen Users...7 4.3. FORESPØRGSLER...7 4.3.1. Forespørgselen LogAsc...7 4.3.2. Forespørgselen LogCountTotal...7 4.3.3. Forespørgselen UnitsAsc...8 4.3.4. Forespørgselen UsersAsc...8 5. PROCESSER...8 5.1. FÆLLES MODULER...8 5.1.1. CGuardTechRegDb...8 5.1.2. CGuardUnitsRecordSet...8 5.1.3. CGuardUsersRecordSet...8 5.2. HOVED PROGRAM...8 5.3. KOMMUNIKATIONS THREAD...8 6. OVERSÆTTELSE...9 6.1. OVERSÆTTELSES-HARDWARE...9 6.2. OVERSÆTTELSES-SOFTWARE...9 6.2.1. Kilde filer...9 6.2.2. H filer...9 6.2.3. Ressource filer...10 6.3. OVERSÆTTELSE... 10 6.4. INSTALLATION... 10 7. BILAG... 10 GuardTech Projekt 2

1.1. Formål 1. Indledning Programmet er den centrale enhed i overvågnings systemet. Dette vil sige at det er dennes opgave at polle alle enhederne på RS-485 bussen, og så tage stilling til alt hvad der sker, dette vil f.eks. sige at det er denne enhed der udløser en alarm hvis der er en sensor der bliver udløst. Vi har valgt at lave softwaren til denne enhed i Visual C++ under Windows 95. Til at begynde med havde vi regnet med at det skulle have været skrevet i Borland C under Dos. Grunden til at vi valgte Visual C++ blandt andet fordi at vi skulle lave database programmering, og det er der en del problemstillinger omkring under Dos, hvor vi under Windows 95 kunne benytte database kommunikations standarten ODBC. Derudover valgte vi Visual C++ fordi at det er lettere at lave et program der køre flere threads samtidig under Windows 95. Og sidst for at lette arbejdet med at lave brugerfladen, dette er en del hurtigere end under Dos. 1.2. Referencer Der henvises til følgende dokumenter. - Kravspecifikation - Accepttest specifikation - Accepttest rapport - År 2000 test rapport - Brugervejledning 1.3. Versionshistorie Vers. Dato Init. Status Versionen omfatter 1.0 990304 Afleveret Aflevering til kunden, inklusiv bilag. 1.4. Definitioner Alle variabler i koden der begynder med m_ er member variabler i en class, hvis det første tegn i variabel navnet efter m_ er skrevet med småt så beskriver dette variablens type foreksempel så er et i en int, s er en string og l er en CListCtrl. 1.5. Dokumentationens opbygning Dokumentet er skrevet til en programmør som skal vedligeholde eller udvide softwaren, opbygningen af dokumenteret er efter SPU standarten. GuardTech Projekt 3

2.1. Programmets omgivelser 2. Generel beskrivelse RS-232 Seriel port GuardTech PC Software GuardTech Database Registrerings databasen Windows 95 Internettet (E-Mail) Operatør Operatøren har mulighed for at betjene softwaren på Pc en, der henvises til bruger vejledningen for yderligere informationer omkring betjening af softwaren. Internettet, systemet kan sende en e-mail når en alarm udløses. Det er muligt at konfigurere hvem e-mailen skal sendes til/fra, dette kunne f.eks. være til en mobiltelefon. RS-232, den serielle port i Pc en er softwarens kommunikations flade mod de andre enheder i systemer. Det er via denne port der kommunikeres via DoorGuard protokollen til de eksterne enheder. GuardTech databasen, det er her at programmet gemmer sine bruger informationer, opsætningen af enheder i systemet, og sin log. Der henvises til punkt 4 i dette dokument for yderligere informationer. Registrerings databasen i Windows 95, det er her at GuardTech programmet gemmer sine indstillinger, således at indstillinger lavet af brugeren ikke går tabt ved program stop. 2.2. Funktionel beskrivelse Programmet er lavet i 2 dele. En kommunikations thread og bruger fladen. Kommunikations thread en køre uafhængigt af resten af programmet, det er denne threads opgave at styre alt kommunikation til de andre enheder i systemet. Kommunikationen mellem denne thread og andre dele af programmet, foregår via funktions kald. Når andre dele af programmet skal overføre information til thread en så foregår det via globale variabler. Brugerfladen er event styret, dette vil sige at den står og laver ingenting, når Windows 95 så sender en message om at der har været trykket på en knap, eller hvad brugeren ellers kunne finde på, så vil programmet udføre funktionen tilknyttet denne message. Windows 95 Events Comm_Thread Globale Variabler Brugerflade GuardTech Projekt 4

2.3. Program oversigt Nedenstående diagram giver en oversigt over hvordan de enkelte moduler i programmet kommunikere. Der er kun beskrevet de funktioner som har kontakt med eksterne grænseflader, og de moduler som er en del af kommunikations vejen for at nå denne grænseflade. For yderligere informationer omkring disse og andre moduler i softwaren henvises til modul specifikationen. RS-232 Seriel port CGuardUsersRecordSet GuardTech Database Kommunikations Thread CGuardUnitsRecordSet CLogAsc CLogCountT otal CGuardLogRecordSet CGuardTechRegDb Class Bruger fladen CGuardTechEmail Registrerings database Windows 95 Operatør Internettet (E-Mail) 3.1. Eksterne grænseflader 3. Grænseflader 3.1.1. RS-232 Seriel port Alt kommunikation med den serielle port, foregår gennem Classen CGuardTechSerial som er skrevet til dette, de kan findes yderligere informationer omkring denne class i modul specifikationen punkt. 3.7. 3.1.2. Registrerings databasen i Windows 95 Alt brug af registrerings databasen, foregår gennem Classen CGuardTechRegDb som er skrevet til dette, de kan findes yderligere informationer omkring denne class i modul specifikationen punkt. 3.6. GuardTech Projekt 5

3.1.3. Internettet (E-Mail) Alt kommunikation med Internettet, foregår gennem Classen CGuardTechEmail som er skrevet til dette, de kan findes yderligere informationer omkring denne class i modul specifikationen punkt. 3.5. 3.1.4. Operatør Brugerfladen i softwaren er event styret, der henvises til bruger manualen for yderligere informationer omkring betjening af softwaren, samt til punkt 2.2 i dette dokument for yderligere informationer omkring windows events. 3.1.5. GuardTech Database Alt kommunikation med databasen foregår gennem 3 class es, en som styre hver sin del af databasen, det vil sige bruger administration/validering styres af en class, konfiguration af enheder i systemet styres af en anden class, den sidste class tager sig af loggen i systemet. Der henvises til punkt 3.1/3.8/3.9 i modul specifikationen samt punkt 4 i dette dokument for yderligere informationer. 3.2. Interne grænseflader Programmet har 2 dele som kommunikere via globale variabler. (se eventuelt punkt 2.2) Der er 6 globale variabler som er beskrevet herunder, med navn, type, og mulige værdier. Navn.: Type.: Mulige værdier. m_bthreadrunning Varablen sættes til TRUE af thread en når den startes, og derefter er det resten af programmet der kan stoppe thread en ved at sætte den til FALSE. volatile BOOL True Hvis processen er startet. False For at stoppe thread en. m_bthreadstillrunning Varablen må kun ændres af thread en, og bruges af resten af programmet til at se om thread en køre. volatile BOOL True Thread en køre False Thread en er stoppet eller ikke startet endnu m_bunitconfig Denne variabel bruges af enheds konfigurationen til at indikere overfor thread en at der er sket ændringer i enheds opsætningen, derefter geninlæser thread en opsætningen. volatile BOOL True Der er sket ændringer af enheds konfigurationen. False Der er ikke sket nogle ændringer i enheds konfigurationen. KillSiren Denne variabel bruges til at stoppe sirenen/ holde den stoppet. volatile BOOL True Stop sirenen. False Så kan sirenen starte igen. m_balarmstat Denne variabel kan tilskrives fra hele programmet og bruges til at aktivere/deaktivere alarm systemet. volatile BOOL True Alarmsystemet er aktivt False Alarmsystemet er deaktiveret. SirenTest Denne variabel bruges til at teste sirenen, og dørenheden, variablen kan tilskrives fra hele programmet. Volatile int 0x00 Der skal ikke udføres nogle tests. 0xff Sirenen skal testes. 0x55 Dør enhederne skal testes. GuardTech Projekt 6

4.1. Databasen 4. GuardTech Databasen GuardTech databasen er en Access database, som GuardTech server programmet bruger til at gemme informationer i. Kommunikationen med databasen foregår gennem en ODBC forbindelse. 4.2. Tabeller 4.2.1. Tabellen Log Denne tabel indeholder systemets log. Navn Type Beskrivelse ID AutoNumber Unikt post nummer Time Date/Time Tidspunkt for hændelsen EventText Text (255 tegn) Teksten der beskriver hændelsen UserName Text (40 tegn) Navnet på brugeren der forsagede hændelsen UnitID Number (Byte) ID et på den enhed der forsagede hændelsen BusID Number (Byte) Adressen på den enhed der forsagede hændelsen 4.2.2. Tabellen Units Denne tabel indholder opsætningen af enheder i systemet. Navn Type Beskrivelse ID AutoNumber Unikt post nummer UnitID Number (Byte) Hvilken type enhed BusID Number (Byte) Enhedens adresse på den serielle bus Disabled Yes/No Er enheden disabled 4.2.3. Tabellen Users Denne tabel indeholder opsætningen af brugere i systemet Navn Type Beskrivelse ID AutoNumber Unikt post nummer UserName Text (40 tegn) Brugrens navn PINCode Number (int) Brugrens PIN kode (krypteret) PINRequired Yes/No Skal brugeren bruge PIN kode Disablen Yes/No Er brugeren disabled 4.3. Forespørgsler 4.3.1. Forespørgselen LogAsc Denne SQL forespørgsel bruges som adgang til loggen i systemet, og retunere hele loggen sorteret efter tid. SQL udtryk.: SELECT Log.Time, Log.EventText, Log.UserName, Log.UnitID, Log.BusID FROM Log ORDER BY Log.Time DESC; 4.3.2. Forespørgselen LogCountTotal Denne SQL forespørgsel retunere antallet af poster i loggen. GuardTech Projekt 7

SQL udtryk.: SELECT Count([ID]) AS Count FROM Log; 4.3.3. Forespørgselen UnitsAsc Denne SQL forespørgsel bruges som adgang til enheds konfigurationen i systemet, og retunere hele tabellen sorteret efter enheds ID, og enhedens adresse på bussen. SQL udtryk.: SELECT Units.UnitID, Units.BusID, Units.Disabled FROM Units ORDER BY Units.UnitID, Units.BusID; 4.3.4. Forespørgselen UsersAsc Denne SQL forespørgsel bruges som adgang til bruger konfigurationen i systemet, og retunere hele tabellen sorteret efter brugerens ID. SQL udtryk.: SELECT Users.ID, Users.UserName, Useres.PINCode, Users.PINRequired, Users.Disabled FROM Users ORDER BY Users.ID; 5.1. Fælles moduler 5.1.1. CGuardTechRegDb 5. Processer Denne class bruges både af hoved programmet, og af kommunikations thread en som adgangs vej til Windows 95 registrerings databasen. Se eventuelt punkt 3.1.2 i dette dokument for yderligere informationer. 5.1.2. CGuardUnitsRecordSet Denne class bruges både af hoved programmet, og af kommunikations thread en som adgangs vej til enheds konfigurationen i GuardTech databasen. Se eventuelt punkt 3.1.2 i dette dokument for yderligere informationer. 5.1.3. CGuardUsersRecordSet Denne class bruges både af hoved programmet, og af kommunikations thread en som adgangs vej til den del af GuardTech databasen der indeholder bruger administrationen. Se eventuelt punkt 3.1.2 i dette dokument for yderligere informationer. 5.2. Hoved program Selve programmet er CGuartTechApp classen som laver et objekt af CGuardTechDlg classen, det er dette objekt som køre som selve programmet. Der henvises til modul specifikationen for yderligere informationer. 5.3. Kommunikations thread Denne thread er funktionen Comm_Thread i CGuadTechDlg Class en startes ved program opstart, for yderligere informationer omkring denne thread henvises Modul specifikationen punkt 3.4.3. GuardTech Projekt 8

6.1. Oversættelses-hardware 6. Oversættelse For at kunne compile programmet kræves følgende hardware. - Min. en PII 233MHz - Min. 32Mb RAM - Min. 1Gb HD 6.2. Oversættelses-software For at kunne compile programmet kræves følgende software og kilde filer. - Microsoft Visual C++ 5.0 6.2.1. Kilde filer Filnavn Beskrivelse GuardLogRecordSet.cpp Class til at håndtere forskellige database funktionerne i log tabellen. GuardLogViewDlg.cpp Class til at vise loggen i en dialog boks. GuardTech.cpp Åbner hoved dialog boksen. GuardTechDlg.cpp Class til at vise hoved dialog boksen. Indeholder også protokollen til at kommunikere med de eksterne enheder. GuardTechEmail.cpp Class til at sende e-mail advarsel med. GuardTechRegDb.cpp Class til at skrive/læse til/fra registry en. GuardTechSerial.cpp Class til at initialisere og sende/modtage data på seriel porten. GuardUnitsRecordSet.cpp Class til at håndtere forskellige database funktioner i units tabellen. GuardUsersRecordSet.cpp Class til at håndtere forskellige database funktioner i user tabellen. LogAsc.cpp Class til at hente data fra log tabellen. LogCountTotal.cpp Class til at hente data fra log tabellen. StdAfx.cpp Bliver brugt til at inkludere standard h filer. SystemConfigDlg.cpp Class til at vise/ændre i system configurationen med. UnitAddDlg.cpp Dialog til at tilføje enheder med. UnitConfigDlg.cpp Dialog til at editere i de forskellige enheder. UnitEditAccessDlg.cpp Dialog til at editere i adgang enheden. UnitEditLockDlg.cpp Dialog til at editere i låse enheden. UnitEditSensorDlg.cpp Dialog til at editere i føler enheden. UnitEditSirenDlg.cpp Dialog til at editere i alarm enheden. UserAddDlg.cpp Dialog til at tilføje brugere med. UserAdminDlg.cpp Dialog til at administrere brugere. UserEditDlg.cpp Dialog til at editere en bruger med. 6.2.2. H filer GuardLogRecordSet.h GuardLogViewDlg.h GuardTech.h GuardTechDlg.h GuardTechEmail.h GuardTechRegDb.h GuardTechSerial.h GuardUnitsRecordSet.h GuardUsersRecordSet.h LogAsc.h LogCountTotal.h resource.h Header fil til GuardLogRecordSet.cpp. Header fil til GuardLogViewDlg.cpp. Header fil til GuardTech.cpp. Header fil til GuardTechDlg.cpp. Header fil til GuardTechEmail.cpp. Header fil til GuardTechRegDb.cpp. Header fil til GuardTechSerial.cpp. Header fil til GuardUnitsRecordSet.cpp. Header fil til GuardUsersRecordSet.cpp. Header fil til LogAsc.cpp. Header fil til LogCountTotal.cpp. Header fil til GuardTech.rc. GuardTech Projekt 9

StdAfx.h SystemConfigDlg.h UnitAddDlg.h UnitConfigDlg.h UnitEditAccessDlg.h UnitEditLockDlg.h UnitEditSensorDlg.h UnitEditSirenDlg.h UserAddDlg.h UserAdminDlg.h UserEditDlg.h Header fil til StdAfx.cpp. Header fil til SystemConfigDlg.cpp. Header fil til UnitAddDlg.cpp. Header fil til UnitConfigDlg.cpp. Header fil til UnitEditAccessDlg.cpp. Header fil til UnitEditLockDlg.cpp. Header fil til UnitEditSensorDlg.cpp. Header fil til UnitEditSirenDlg.cpp. Header fil til UserAddDlg.cpp. Header fil til UserAdminDlg.cpp. Header fil til UserEditDlg.cpp. 6.2.3. Ressource filer Filnavn GuardTech.ico ico00001.ico ico00002.ico icon1.ico 6.3. Oversættelse Beskrivelse GuarTech ikonen. Warining ikon Info ikon Alarm ikon Hele projektet hentes ind i Visual C++ (min version 5.0), hvorefter der i menuen Build vælg Build GuatdTech.exe 6.4. Installation Der henvises til brugervejledningen for yderligere informationer omkring installation af softwaren. 7. Bilag Modul specifikation NS diagrammer over GuardLogRecordSet.cpp NS diagrammer over GuardLogViewDlg.cpp NS diagrammer over GuardTech.cpp NS diagrammer over GuardTechDlg.cpp NS diagrammer over GuardTechEmail.cpp NS diagrammer over GuardTechRegDb.cpp NS diagrammer over GuardTechSerial.cpp NS diagrammer over GuardUnitsRecordSet.cpp NS diagrammer over GuardUsersRecordSet.cpp NS diagrammer over Logasc.cpp NS diagrammer over LogCountTotal.cpp NS diagrammer over UnitConfigDlg.cpp NS diagrammer over UnitEditLockDlg.cpp NS diagrammer over UnitEditSirenDlg.cpp NS diagrammer over UserAdminDlg.cpp GuardTech Projekt 10