Willkommen im Loxone Community Forum. Um alle Funktionen nutzen und sehen zu können, registriere dich bitte zuerst. Dies gilt auch für das herunterladen von Dateien.
Ich habe meinen Code erweitert, um die Aufteilung nach dem Text zu richten.
Leider ist es mir nicht gelungen, dies automatisch, ganz ohne Eingriff zu machen.
In den Varianten 1 und 2 sind Fehler, die ich in mehr als 20 Stunden und tausend Korrekturen, nicht gefunden habe!!
Am besten wäre die erste Variante: if(isalpha(Zeichen))// letztes Zeichen im String finden "ABCD_6023"
die 2. wäre auch möglich: if(Zeichen = Suchen)// nach einem bestimmten Zeichen suchen "_"
mit der 3. läuft alles perfekt. if(Pos < 5) // Position muss von Hand bestimmt werden "5"
Ich wäre sehr dankbar, wenn mir jemand weiterhelfen könnte.
//if(isalpha(Zeichen)) // letztes Zeichen im String finden "ABCD_6023" //if(Zeichen = Suchen) // nach einem bestimmten Zeichen suchen _ if(Pos < 5) // Position muss von Hand bestimmt werden 5
{ break; } Pos--; }
// Immer ein Zeichen mehr für das terminierende 0-Zeichen vorsehen char part1[Pos+2], part2[2], part3[iLen-Pos];
Falls Du es nicht ohnehin schon tust, würde ich Dir empfehlen mit picoC lokal zu entwickeln.
Die Funktionen, die Du benötigst sind vermutlich strstr(), strstrskip() und/oder index(). Such nach diesen Funktionen in dem von Loxone zur Verfügung gestellten pdf.
int isAlpha(char c)
{
if (c >= 'a' && c <= 'z' ||
c >= 'A' && c <= 'Z')
return true;
return false;
}
char *myString = "ab2AB";
int len = strlen(myString);
for (int i=0; i<len; i++)
{
if (isAlpha(myString[i]))
printf("%d-te Stelle ist ein Buchstabe\n", i);
else
printf("%d-te Stelle ist kein Buchstabe\n", i);
}
Besten Dank für das kleine Script. Dies hilft mir sehr.
Der Programmablauf und die Funktionen sind für mich kein Problem, aber die Syntax. "", '',%,++, i++, %d, \n
Jeder Leerschlag . ; : ({ ,%\ ist wichtig.
Zum Beispiel bei:
if(Zeichen = Suchen)) oder if(%cZeichen = Suchen)) oder if(%c Zeichen = Suchen))
Suchen = "_"; oder Suchen = '_';
printf("%d-te Stelle ist ein Buchstabe\n", i); oder printf(" Stelle ist ein Buchstabe ", i); // habe begriffen: " " für Kette ' ' für 1 Zeichen
*myString oder myString
if (c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z') oder if (c >= "a" and c <= "z" oder c >= "A" && c <= "Z") // ¦¦ für oder && für and
Bei Loxone findet man nur die Funktionen ohne genauen Ergänzungen.
Fast alle Beiträge die ich finde, sind mit Zahlen. Die sind viel einfacher zum Programmieren. a = b/c
Auf https://www.c-howto.de/ habe ich endlich ein Video gefunden, das erklärt, wie die Variablen ergänz werden müssen.
Suchen = '_' // Suchen = "_" war falsch, ist nur 1 Zeichen und keine Kette
if(Zeichen = Suchen) // nach einem bestimmten Zeichen suchen '_'
bei Zeichen oder bei Suchen muss ein Fehler sein! // oben in der Angehängte Dateien ist das Skript
Wir verarbeiten personenbezogene Daten über Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen, Werbung zu personalisieren und Websiteaktivitäten zu analysieren. Wir können bestimmte Informationen über unsere Nutzer mit unseren Werbe- und Analysepartnern teilen. Weitere Einzelheiten finden Sie in unserer Datenschutzrichtlinie.
Wenn Sie unten auf "Einverstanden" klicken, stimmen Sie unserer Datenschutzrichtlinie und unseren Datenverarbeitungs- und Cookie-Praktiken wie dort beschrieben zu. Sie erkennen außerdem an, dass dieses Forum möglicherweise außerhalb Ihres Landes gehostet wird und Sie der Erhebung, Speicherung und Verarbeitung Ihrer Daten in dem Land, in dem dieses Forum gehostet wird, zustimmen.
Kommentar