Michael.RO
Level-1
- Beiträge
- 2
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo,
ich möchte in WinCC eine Grafik in einem Bild dynamisch haben.
Je nach dem Namen aus der SPS-Variable "Material_Nummer_W_8" soll das dazugehörige Bild mit dem Namen aus der Variable + der Dateiendung ".jpg" angezeigt werden. die Bilder befinden sich im Ordner "C:\\Produktbilder". Ist ein Bild nicht vorhanden, soll das default bild angezeigt werden
Leider bekomme ich in der C-Aktion immer Fehlermeldungen. Das Script habe ich mit KI generiert, da es mir etwas zu steil ist. vielleicht denke ich auch zu kompliziert
danke
#include "apdefap.h"
char _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// 1. Variablendeklaration (WinCC 7.5 erfordert dies am Anfang)
char bilderPfad[256];
char defaultBild[256];
char bildPfadKomplett[256];
char materialNummer[100];
FILE* file;
DWORD dwLen = sizeof(materialNummer);
// 2. Pfade initialisieren (Achtung: Doppelbackslash!)
strcpy(bilderPfad, "C:\\Produktbilder\\");
strcpy(defaultBild, "C:\\Produktbilder\\default.jpg");
// 3. SPS-Variable auslesen (WinCC 7.5 kompatible Syntax)
GetTagChar("Material_Nummer_W_8", materialNummer);
// 4. Bildpfad zusammensetzen
sprintf(bildPfadKomplett, "%s%s.jpg", bilderPfad, materialNummer);
// 5. Bildprüfung durchführen
file = fopen(bildPfadKomplett, "r");
if (file != NULL) {
fclose(file);
SetPropChar(lpszPictureName, lpszObjectName, "PictureName", bildPfadKomplett);
}
else {
SetPropChar(lpszPictureName, lpszObjectName, "PictureName", defaultBild);
}
return 0; // Rückgabewert erforderlich, da _main als char deklariert ist
}
ich möchte in WinCC eine Grafik in einem Bild dynamisch haben.
Je nach dem Namen aus der SPS-Variable "Material_Nummer_W_8" soll das dazugehörige Bild mit dem Namen aus der Variable + der Dateiendung ".jpg" angezeigt werden. die Bilder befinden sich im Ordner "C:\\Produktbilder". Ist ein Bild nicht vorhanden, soll das default bild angezeigt werden
Leider bekomme ich in der C-Aktion immer Fehlermeldungen. Das Script habe ich mit KI generiert, da es mir etwas zu steil ist. vielleicht denke ich auch zu kompliziert
danke
#include "apdefap.h"
char _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
// 1. Variablendeklaration (WinCC 7.5 erfordert dies am Anfang)
char bilderPfad[256];
char defaultBild[256];
char bildPfadKomplett[256];
char materialNummer[100];
FILE* file;
DWORD dwLen = sizeof(materialNummer);
// 2. Pfade initialisieren (Achtung: Doppelbackslash!)
strcpy(bilderPfad, "C:\\Produktbilder\\");
strcpy(defaultBild, "C:\\Produktbilder\\default.jpg");
// 3. SPS-Variable auslesen (WinCC 7.5 kompatible Syntax)
GetTagChar("Material_Nummer_W_8", materialNummer);
// 4. Bildpfad zusammensetzen
sprintf(bildPfadKomplett, "%s%s.jpg", bilderPfad, materialNummer);
// 5. Bildprüfung durchführen
file = fopen(bildPfadKomplett, "r");
if (file != NULL) {
fclose(file);
SetPropChar(lpszPictureName, lpszObjectName, "PictureName", bildPfadKomplett);
}
else {
SetPropChar(lpszPictureName, lpszObjectName, "PictureName", defaultBild);
}
return 0; // Rückgabewert erforderlich, da _main als char deklariert ist
}