257 lines
7.7 KiB
Plaintext
Executable File
257 lines
7.7 KiB
Plaintext
Executable File
//**********************************************************************
|
|
//*
|
|
//* INPA Library-Funktionen SgbdInpa.SRC
|
|
//*
|
|
//* mindestens INPA 5.0.1
|
|
//*
|
|
//**********************************************************************
|
|
//* Drexel TI-430
|
|
//**********************************************************************
|
|
//* 12.03.2003 iS V1.05 Aufteilung der Funktionen(SgbdInpaCheck,GroupCheck)
|
|
//* 16.02.2004 rd V2.00 Umstellung auf 32-Bit Version
|
|
//**********************************************************************
|
|
|
|
//**********************************************************************
|
|
//*
|
|
//* SgbdInpaCheck
|
|
//*
|
|
//* Überprüfung ob SGBD zu INPA passt
|
|
//*
|
|
//**********************************************************************
|
|
SgbdInpaCheck()
|
|
{
|
|
string sgbd_version; // für Versionskontrolle
|
|
string inpa_version; // für Versionskontrolle
|
|
string inpa_sprache="@sprache@"; // für Sprachvariante
|
|
string variante="???"; // für Variantenkontrolle
|
|
string err_text; // Fehlertext
|
|
bool fehlerflag; // Fehlerflag
|
|
string temp;
|
|
string temp1;
|
|
int i;
|
|
int k;
|
|
int kk; // für neue VersionsnummernKontrolle
|
|
int ii;
|
|
int a;
|
|
int aa;
|
|
int i1;
|
|
int i2;
|
|
int i3; // für neue VersionsnummernKontrolle
|
|
string sgbd_String_Lang;
|
|
string sgbd_von_inpa_version;
|
|
string ver_temp;
|
|
string ver_temp1;
|
|
string ver_temp2;
|
|
string ver_temp3="--";
|
|
real Version_SGBD;
|
|
real Version_INPA;
|
|
|
|
settitle(titel+" @Version@ "+version);
|
|
a=0;
|
|
ii=0;
|
|
i3=0;
|
|
kk=0;
|
|
aa=0;
|
|
i=0;
|
|
k=0;
|
|
fehlerflag=FALSE;
|
|
|
|
instr(i,k,","+gruppe+",",",");
|
|
while ((i >= 0) && (fehlerflag == FALSE))
|
|
{
|
|
k=i+1;
|
|
instr(i,k,","+gruppe+",",",");
|
|
if (i >= 0)
|
|
{
|
|
midstr(temp,","+gruppe+",",k,i-k);
|
|
INPAapiJob(temp,"INITIALISIERUNG","","");
|
|
INP1apiResultText(fehlerflag,variante,"VARIANTE",0,"");
|
|
if (fehlerflag == TRUE) gruppe=temp;
|
|
}
|
|
}
|
|
|
|
if (fehlerflag == FALSE)
|
|
{
|
|
INP1apiErrorText(err_text);
|
|
messagebox("@Variantenkontrolle@",
|
|
"@Gruppendatei@ : "+gruppe+". "+CRLF+
|
|
err_text+". "+CRLF+
|
|
"@Das Programm wird abgebrochen!@");
|
|
exit();
|
|
}
|
|
|
|
i1=0;
|
|
i2=0;
|
|
instr(i1,0,","+sgbd+",",","+variante+",");
|
|
if (i1 < 0)
|
|
{
|
|
instr(i2,0,","+sgbd+",",","+variante+"/");
|
|
if (i2 < 0)
|
|
{
|
|
messagebox("@Variantenkontrolle@",
|
|
"@Gesuchtes Steuergerät@: '"+sgbd+"' @nicht gefunden.@ "+CRLF+
|
|
"@Gefundenes Steuergerät@: '"+variante+"'. "+CRLF+
|
|
"@Das Programm wird abgebrochen!@");
|
|
exit();
|
|
}
|
|
|
|
ver_temp3 = "--";
|
|
instr(ii,i2,sgbd+",",",");
|
|
if (ii >= 0)
|
|
{
|
|
midstr(ver_temp3,sgbd+",",i2,ii);
|
|
instr(i3,0,ver_temp3,"/");
|
|
if (i3 >= 0)
|
|
{
|
|
a = i2+i3+1;
|
|
aa = ii-i2+i3-1;
|
|
midstr(ver_temp3,sgbd+",",a,aa);
|
|
}
|
|
}
|
|
}
|
|
|
|
sgbd_String_Lang = sgbd;
|
|
sgbd=variante;
|
|
|
|
//
|
|
// Info: Informatinon bei aufruf ohne BMW_STD.SRC
|
|
//
|
|
// ####################################################
|
|
// # //für Info #
|
|
// # string sgbd_ecu; #
|
|
// # string sgbd_origin; #
|
|
// # string sgbd_revision; #
|
|
// # string sgbd_package; #
|
|
// # string sgbd_sprache; #
|
|
// # string sgbd_comment; #
|
|
// # string gruppe_ecu; #
|
|
// # string gruppe_origin; #
|
|
// # string gruppe_revision; #
|
|
// # string gruppe_comment; #
|
|
// # #
|
|
// # #include "SgbdInfo.src" #
|
|
// ####################################################
|
|
//
|
|
//
|
|
SgbdInfo(sgbd, sgbd_ecu, sgbd_origin, sgbd_revision, sgbd_package, sgbd_comment, sgbd_sprache);
|
|
// Bitte VARIABLEN als Globale variable aktivieren und Include (siehe Block //INFO)
|
|
//
|
|
//
|
|
|
|
//Versionskontrolle Auf 3 stellen vor / hinter dem "."
|
|
instr(i3,0,ver_temp3,"V");
|
|
if(i3>=0)
|
|
{
|
|
instr(i2,0,ver_temp3,",");
|
|
midstr(ver_temp3,ver_temp3,i3+1,i2-1);
|
|
stringtoreal(ver_temp3,Version_INPA);
|
|
realtostring(Version_INPA,"3.3",ver_temp3);
|
|
midstr(sgbd_von_inpa_version,ver_temp3,0,2);
|
|
}
|
|
stringtoreal(version,Version_INPA);
|
|
realtostring(Version_INPA,"3.3",version);
|
|
midstr(inpa_version,version,0,2);
|
|
|
|
stringtoreal(sgbd_revision,Version_SGBD);
|
|
realtostring(Version_SGBD,"3.3",sgbd_revision);
|
|
midstr(sgbd_version,sgbd_revision,0,2);
|
|
|
|
temp=inpa_version;
|
|
temp1=sgbd_version;
|
|
|
|
if (ver_temp3 == "--")
|
|
{
|
|
// Vergleichen mit Versionsnummer INPA & SGBD
|
|
if (inpa_version != sgbd_version)
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Nicht zusammenpassende Versionen.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@");
|
|
}
|
|
else
|
|
{
|
|
if (temp == "0.")
|
|
{
|
|
if (temp1 == "0.")
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"SGBD @Version@: "+sgbd_revision+CRLF+
|
|
"INPA @Version@: "+version);
|
|
}
|
|
else
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"INPA @Version@: "+version);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (temp1 == "0.")
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"SGBD @Version@: "+sgbd_revision);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Vergleichen mit Versionsnummer INPA(SGBD Vorwahl) & SGBD
|
|
if (sgbd_von_inpa_version != sgbd_version)
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Nicht zusammenpassende Versionen.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"SGBD @Version@: "+ ver_temp3 +" (in INPA) "+CRLF+
|
|
"SGBD @Version@: "+ sgbd_revision +CRLF+
|
|
"INPA @Version@: "+ version);
|
|
}
|
|
else
|
|
{
|
|
if (temp == "0.")
|
|
{
|
|
if (temp1 == "0.")
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"SGBD @Version@: "+sgbd_revision+CRLF+
|
|
"INPA @Version@: "+version);
|
|
}
|
|
else
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"INPA @Version@: "+version);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (temp1 == "0.")
|
|
{
|
|
messagebox("@Versionskontrolle@",
|
|
"@Programm noch in der Entwicklungsphase.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@"+CRLF+CRLF+
|
|
"SGBD @Version@: "+sgbd_revision);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (inpa_sprache != sgbd_sprache)
|
|
{
|
|
messagebox("@Sprachvariantenkontrolle@",
|
|
"@Nicht zusammenpassende Sprachvariante.@ "+CRLF+
|
|
"@Fehlfunktion ist möglich!@");
|
|
}
|
|
}
|
|
|
|
// -- EOF --
|