Moin,
ich habe ein altes WinCC 4x Projekt nach V7.3 migiert.
Es gibt ein Script das bestimmte Variablen in einer Date speichert. Leider geht das nicht mehr.
Ich verstehe leider das Script nicht so ganz. Es gibt eine Auswahl welche gespeichert werden soll.
Aber woher kommt die Liste welche Variablen exportiert werden sollen? Und woher kommt der Wert der Variable?
ich habe ein altes WinCC 4x Projekt nach V7.3 migiert.
Es gibt ein Script das bestimmte Variablen in einer Date speichert. Leider geht das nicht mehr.
Ich verstehe leider das Script nicht so ganz. Es gibt eine Auswahl welche gespeichert werden soll.
Aber woher kommt die Liste welche Variablen exportiert werden sollen? Und woher kommt der Wert der Variable?
C:
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#include "rezept.h"
FILE* file;
char *addmold=".wzp"; // Endekennung der Maschinenparameterdatei
char *addheat=".hzp"; // Endekennung der Maschinenparameterdatei
char *addcont=".hyp"; // Endekennung der Maschinenparameterdatei
char *addmach=".map"; // Endekennung der Maschinenparameterdatei
char *text1;
char *text2;
char *textges;
char szBuffer[80]; // Hilfsbuffer
BOOL ok=FALSE;
extern char filename[128];
extern char dest[100]; // Pointer auf neuen Dateizeiger
char *moldname;
char *heatname;
char *contname;
char *machname;
char line[82]; // Buffer für Zeileninhalt
char *ddest;
char *ptr; // Zur stringlänge
char *filter="(*.rzp)\0*.rzp\0";
printf("Getriggert\n");
ddest=SysMalloc(129);
moldname=SysMalloc(72);
heatname=SysMalloc(72);
contname=SysMalloc(72);
machname=SysMalloc(72);
ptr=SysMalloc(20);
text1=SysMalloc(40);
text2=SysMalloc(40);
textges=SysMalloc(80);
printf("Speicher freigegeben\n");
strncpy(text1," ",39);
strcpy(text1,GetText("812.pdl","Statischer Text16")); //Rückgabe-Typ :char*
strncpy(text2," ",39);
strcpy(text2,GetText("812.pdl","Statischer Text3"));
strncpy(textges," ",79);
strncpy(textges,text1,39);
strcat(textges," ");
strcat(textges,text2);
printf("Texte gelesen\n");
printf("%s\n",filter);
printf("%s\n",textges);
ok=GetSaveName(filename,textges,filter); // Dialog aufrufen
if (ok) // Wenn ok dann
{
SetTagWord("S_ZUST",0); // Balken Wert setzen
SetTagChar("AKT_DAT_NAME",filename);
file=fopen(filename,"wt"); // File öffnen
printf("%s\n",filename);
ptr = strrchr(filename, '.');
strncpy(ddest," ",128);
strncpy(ddest, filename, (ptr-filename)); // Bis zum Punkt kopieren
printf("%s\n",ddest);
strncpy(dest," ",64);
strncpy(dest,ddest,64);
printf("%s\n",dest);
if (GetTagBit("MOLD_DATA"))// Datenspeichern
{
strncpy(moldname," ",64);
strncpy(moldname,dest,64);
printf("%s\n",moldname);
strcat(moldname,addmold);
printf("%s\n",moldname);
sprintf(line,"%s\n",moldname); //1
fputs(line, file);
}
if (GetTagBit("HEAT_PARA"))// Datenspeichern
{
strncpy(heatname," ",64);
strncpy(heatname,dest,64);
strcat(heatname,addheat);
sprintf(line,"%s\n",heatname); //1
fputs(line, file);
}
if (GetTagBit("CONT_PARA"))// Datenspeichern
{
strncpy(contname," ",64);
strncpy(contname,dest,64);
strcat(contname,addcont);
sprintf(line,"%s\n",contname); //1
fputs(line, file);
}
if (GetTagBit("MACH_DATA"))// Datenspeichern
{
strncpy(machname," ",64);
strncpy(machname,dest,64);
strcat(machname,addmach);
sprintf(line,"%s\n",machname); //1
fputs(line, file);
}
fclose(file);
if (GetTagBit("MOLD_DATA"))// Datenspeichern
{
SetTagBit("S_MOULD",TRUE);
SetTagBit("CCMOULD",TRUE);
SetTagWord("STATEMOULD",0);
}
else
{
SetTagBit("CCMOULD",FALSE);
SetTagBit("S_MOULD",FALSE);
}
if (GetTagBit("HEAT_PARA"))// Datenspeichern
{
SetTagBit("S_HEAT",TRUE);
SetTagBit("CCHEAT",TRUE);
SetTagWord("STATEHEAT",0);
}
else
{
SetTagBit("CCHEAT",FALSE);
SetTagBit("S_HEAT",FALSE);
}
if (GetTagBit("CONT_PARA"))// Datenspeichern
{
SetTagBit("S_CONT",TRUE);
SetTagBit("CCCONT",TRUE);
SetTagWord("STATECONT",0);
}
else
{
SetTagBit("CCCONT",FALSE);
SetTagBit("S_CONT",FALSE);
}
if (GetTagBit("MACH_DATA"))// Datenspeichern
{
SetTagBit("S_MACH",TRUE);
SetTagBit("CCMACH",TRUE);
SetTagWord("STATEMACH",0);
}
else
{
SetTagBit("CCMACH",FALSE);
SetTagBit("S_MACH",FALSE);
}
SetTagBit("SETUP_ON",FALSE);
} // Speicher freigeben