[gelöst] Stringproblem variables Trennen und Buchstaben

23. Juli 2008 11:54

Hallo,

ich habe ein kleines Stringproblem an dem ich nich sorecht weiß wie ich das angehen soll. Folgend schaut der Status aus:

gegeben ist eine Artikelbeschreibung bestehend aus Zeichnungsnummer und Bezeichnung (gemeinsam im Feld Beschreibung), z.B.:

400076.20.00-01-4 Motorplatte
403358.11.10-01-4a Bodenplatte
501.000.h.172 Anschraubpl.re.
212.057 Anschraubplatte
312.055e Anschraubplatte

Jetzt muss für ein Etikett mit Barcode die Zg.Nr. von der Bezeichnung getrennt werden. Das Problem ist, dass ich wie in Bsp. 2&5 den Zeichnungsindex an den Zg.Nr. dran habe und diesen nicht im Barcode haben möchte - also nach dem Trennen soll nicht "312.055e" sein, sondern "312.055".

Das zweite Problem ist mit Buchstaben innerhalb der Zg.Nr. diese müssen für den Barcode (Code 39) in Großbuchstaben gewandelt werden :/.
Also im Bsp. 3 nach dem Trennen nicht "501.000.h.172" sondern "501.000.H.172".

Gibt es für die beiden Probleme einen eleganteren Weg, als den ganzen Schriftsatz a..z bzw. A..Z zu prüfen?

Bin für jeden Gedanken offen :) Danke.
Zuletzt geändert von Patrick am 23. Juli 2008 13:16, insgesamt 1-mal geändert.

So vielleicht?

23. Juli 2008 12:42

Wenn ich´s recht verstehe, müsste das hier gehen:

Code:
Barcodetext:=Item.Description;
if strpos(Barcodetext,' ')>0 then
  begin
    if Uppercase(copystr(Barcodetext,strpos(Barcodetext,' ')-1,1))in['A'..'Z']then
      Barcodetext:=Uppercase(Copystr(Barcodetext,1,strpos(Barcodetext,' ')-2))
    else
      Barcodetext:=Uppercase(Copystr(Barcodetext,1,strpos(Barcodetext,' ')-1));
  end;

23. Juli 2008 13:15

Wow! Grandios! Ich dachte wirklich ich müsste den ganzen Zeichensatz via Case oder if abfragen ;)

Sehr gut! Dankeschön!

23. Juli 2008 14:07

Gern geschehen :)

Geht natürlich nur, wenn höchstens ein Buchstabe hinter der Zeichnungsummer steht und immer ein Space zwischen Zeichnungsummer und Beschreibung ist.