String zählen

Zuviel Werbung?
-> Hier kostenlos registrieren
Würde mich mal interessieren was die sich bei 1) gedacht haben, warum sollte man 2 gleichlange Strings nicht mit Find untersuchen? :confused:

Gar nichts dabei gedacht, ist wohl durchgerutscht
So stehts im Baustein:
Code:
      L     B [AR2,P#1.0]               // Länge String 2
      T     #yAnzIN2

// ****** Bedingungen für Kopieren prüfen *******
// Anz. zu kopierender Zeichen > res. Länge im Ziel

      L     #yAnzIN1                    // wenn AnzIN1 =0 oder
      ==I   
      L     #yAnzIN2                    // < IN2 dann RET_VAL =0
      -I    
      O     <0
      SPB   NULL                        // ja, dann LOP1
 
Vor Allem, der Text stimmt ja noch, der Programmierer wollte prüfen, ob der String 1 Länge 0 hat.
Da denkt man, solche Bibliotheksfunktionen sind geprüft und sollten doch nach V-Modell entwickelt sein.
Stell dir mal vor, das passiert mit Funktionen, die Rechenoperationen durchführen (siehe cos, sin) und da kommt so ein Mist raus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hi erstmal,

danke für die antworten.Ich kann heute erst wieder da sein da ich eine Krippe hatte hab auch noch heute ein wenig rum gespielt und dies mal für einne FC gemacht geht wunderbar.Eion beonderen Dank gilt hier Ralle !!!

FUNCTION Anzahl : INT
VAR_INPUT
Start : BOOL;
TEXT : STRING[200];
END_VAR
VAR_OUTPUT
erg :INT;
Ready : BOOL;
END_VAR
VAR_IN_OUT
END_VAR
VAR
TEXT_2 : STRING[200] := '';
FPStart_intern : BOOL;
HM_FPStart_intern : BOOL;
Start_intern : BOOL;
A, B : INT;

END_VAR

FPStart_Intern := Start AND NOT HM_FPStart_intern;
HM_FPStart_intern := Start;

IF FPStart_intern THEN
TEXT_2 := '';
TEXT_2 := TEXT;
erg := 0;
Ready := FALSE;
Start_intern := TRUE;
END_IF;

WHILE Start_intern DO
A := FIND(TEXT_2 ,'FCG' );
IF A <> 0 THEN
TEXT_2 := DELETE( TEXT_2 ,(A+2), 1);
erg := erg + 1;
B := LEN(TEXT_2);
IF B < 3 THEN
Ready := TRUE;
Start_Intern := FALSE;
END_IF;
ELSE
Ready := TRUE;
Start_Intern := FALSE;
END_IF;
END_WHILE ;
 
Zurück
Oben