TIA SCL Tip für bestimmtes Char suchen

stepper7

Level-2
Beiträge
259
Reaktionspunkte
11
Zuviel Werbung?
-> Hier kostenlos registrieren
kann mir jemand einen Tip geben, wie man meine Aufgabe in SCL lösen könnte mit TIA V18?
Und zwar möchte ich in einem gescannten Barcode ein Zeihen suchen und zwar ein A. Der Barcodeinhalt variert etwas von der Länge und das A ist links oder rechts verschoben.
Ich muss die Position mit dem A suchen in dem Inhalt und dann von da an die nächsten 10 Zeichen weg kopieren in eine neue Structur.
Der Barcode liegt in einer Structur Array[1..70]ofChar. Er variert zwischen 35 und 45 Zeichen. Der Scanner liefert mir leider nicht die Info über die Länge des Codes.
Mein Problem ist nämlich durch die unterschiedlichen Barcodes die ich scanne, ist manchmal das A um ein paar Stellen nach links oder rechts verschoben :(
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren


ansonsten: chars_to_strg > find > abschneiden > (strg_to_chars)

ansonsten wenn es der versatz immer gleich ist zb: chars_to_strg > 35 .. 0 zeichen versatz / 37 .. 2 zeichen versatz / 44 .. 9 zeichen versatz .. dann über LEN die länge ermitteln und den offset anwenden..
 
So ungf. Nicht getestet:

Code:
#Gefunden := FALSE ;

FOR #i:=1 TO 70 DO
  if #CharArray[#i]='A' THEN
    #Gefunden := TRUE ;
    EXIT;
  END_IF ;
END_FOR ;

IF #Gefunden THEN
  FOR #j:=1 TO 10 DO
    #CopyArray(#j) := #CharArray(#j + #i - 1);
  END_FOR;
END_IF;
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So ungf. Nicht getestet:

Code:
#Gefunden := FALSE ;

FOR #i:=1 TO 70 DO
  if #CharArray[#i]='A' THEN
    #Gefunden := TRUE ;
    EXIT;
  END_IF ;
END_FOR ;

IF #Gefunden THEN
  FOR #j:=1 TO 10 DO
    #CopyArray(#j) := #CharArray(#j + #i - 1);
  END_FOR;
END_IF;
Super ! Genau so hab ich mir das auch vorgestellt :)
Vielen Dank !!
 
Zuletzt bearbeitet:
Zurück
Oben