7. September 2010 12:58
Artikelnr := COPYSTR(Scannfeld,HoleTrennzeichenPosition(0)+1,HoleTrennzeichenPosition(HoleTrennzeichenPosition(0)+1));
HoleTrennzeichenPosition(SuchPositionStart : Integer) : Integer
IF STRLEN(TrennzeichenBarcode) = 1 THEN BEGIN
Trennzeichen := TrennzeichenBarcode;
END ELSE Fehler(Fehler11);
Trennzeichenposition := SuchPositionStart;
REPEAT
Trennzeichenposition += 1;
// Schutzklausel gegen Endlosschleifen
IF Trennzeichenposition > STRLEN(Scannfeld) THEN
EXIT(Trennzeichenposition);
UNTIL Scannfeld[Trennzeichenposition] = Trennzeichen;
EXIT(Trennzeichenposition);
7. September 2010 13:54
7. September 2010 14:00
test := '22#X20011#234';
message(copystr(test,4,6) + '#');
7. September 2010 14:15
7. September 2010 14:26
7. September 2010 14:28
christiand hat geschrieben:Der Copystr Befehl erwartet aber als dritten Parameter nicht die Endeposition sondern die länge des zu kopierenden Strings.
7. September 2010 14:31
7. September 2010 14:33
Cr4cks hat geschrieben:Jetzt muss ich mir nurnoch ausdenken wie er variabel herausbekommt wie lang der String eigtl ist...
7. September 2010 14:33
Sebastian Pfliegel hat geschrieben:Wie wäre es mit STRLEN :D
Gruß,
Sebastian
7. September 2010 14:40
test := '22#X20011#234';
test := convertstr(test,'#',',');
message(selectstr(2, test));
7. September 2010 14:40
7. September 2010 14:41
Natalie hat geschrieben:Cr4cks hat geschrieben:Jetzt muss ich mir nurnoch ausdenken wie er variabel herausbekommt wie lang der String eigtl ist...
Lies mal die Onlinehilfe (C/SIDE Reference Guide) zu COPYSTR. Wenn du von Pos X bis Ende des Strings kopieren möchtest, dann lass den Bis-Parameter einfach weg.
7. September 2010 14:44
7. September 2010 14:45
christiand hat geschrieben:Probies mal so:
- Code:
test := '22#X20011#234';
test := convertstr(test,'#',',');
message(selectstr(2, test));
rallnus hat geschrieben:ich würde es so machen:
strg:=DELCHR(strg,'=',' ');
Damit hast du doch die leerzeichen raus.
7. September 2010 14:46
christiand hat geschrieben:Mein Vorschlag funktioniert glaub mir
7. September 2010 14:46
7. September 2010 14:48
7. September 2010 14:53
Scannfeld := convertstr(Scannfeld,'#',',');
Artikelnr := SELECTSTR(2, Scannfeld);
MESSAGE(Artikelnr);