[Gelöst] Auswerten eines (Text)Feldes

8. März 2009 12:02

Hallo Zusammen,

ich bin neu im Forum.

Zunächst mal Kompliment an euch alle für eure kompetenten und guten Beiträge.
Hab schon einige Anregungen aus diesem Forum erhalten, was mich jetzt letztlich
auch dazu bewogen hat, mich zu registrieren. Hoffe ich kann auch das eine oder
andere beitragen.

Habe aber zunächst eine Problemstellung, zu der ich nichts finde.

Ich habe einen Report, in dem Artikeldaten angezeigt werden, unter anderem
auch die Artikelnummer („Nr.“).

Die Artikelnummer besteht aus 8 Zeichen, wobei das vierte Zeichen etwas über die
Eigenschaft des Artikels aussagt.

Beispiele: 100.0000 oder 100A0000 oder 100M0000
(Es handelt sich hier um 3 gleiche Artikel mit verschiedenen Eigenschaften)

Nun sollte ich in meinem Report die Eigenschaft mit andrucken. D.h. ich würde
das Feld „Nr.“ auf die vierte Stelle prüfen und abhängig davon, z.B. eine
Text-Variable füllen und andrucken. Soweit kein Problem.

Das Problem welches sich mir stellt ist die Selektion. Wie filtere bzw. werte ich
die 4 Stelle des Feldes „Nr.“ aus? Habe z.B. bei den String- / oder Filter Befehlen
nichts gefunden.

Hat hierzu jemand eine Idee? Für eure Hilfe bedanke ich mich im Voraus!!!

Viele Grüße
Horst

P.S. Navision Version 2.60 (technisch 3.60)
Zuletzt geändert von Delphi am 9. März 2009 21:19, insgesamt 1-mal geändert.

Re: Auswerten eines (Text)Feldes

8. März 2009 12:12

Herzlich Willkommen im Forum!

Teile eines Strings können mit COPYSTR ausgelöst werden, für ein Zeichen ab der 4. Position z.B.
Code:
Textteil := COPYSTR(MyText,4,1);

Re: Auswerten eines (Text)Feldes

8. März 2009 13:17

Hallo Kai,

vielen Dank für deine schnelle Antwort!
Werde ich am Montag gleich testen...

Nochmal vielen Dank und noch einen
schönen Sonntag.

Viele Grüße
Horst

Re: Auswerten eines (Text)Feldes

8. März 2009 18:15

Auch von mir ein herzliches Willkommen in unserer Community sowie ein dickes Dankeschön für dein Kompliment.

Wenn du nur ein einziges Zeichen aus einem String auswerten möchtest, kannst du den String alternativ auch wie ein Array ansprechen:
Code:
AuszuwertendesZeichen := DeinTextString[4];

Jedoch ist die von Kai genannte Variante üblich, auch wenn nur ein einzelnes Zeichen ausgewertet werden soll.

Re: Auswerten eines (Text)Feldes

9. März 2009 18:14

Hallo Kai,

deine Lösung hat funktioniert, hab sie bereits
umgesetzt. Nachmals vielen Dank!!!

Viele Grüße
Horst

Re: Auswerten eines (Text)Feldes

9. März 2009 18:21

Hallo Timo,

vielen Dank für deine Antwort!!!

Deine Lösung hat bei mir aber leider nicht funktioniert.
Wahrscheinlich setze ich es nicht so um wie es von dir gemeint
war.

Hab es folgendermaßen umgesetzt:

Dein Code:
Code:
AuszuwertendesZeichen := DeinTextString[4];


Also bei mir:
Code:
Oberflächenkennzeichen := "Nr."[4];

Wobei „Oberflächenkennzeichen eine Textvariable ist und "Nr.", das Feld aus dem Artikelstamm.
Fehlermeldung: Typenkonvertierung kann nicht durchgeführt werden - Code := Char

Hab vermutet, dass es daran liegt, dass das Feld „Nr.“ im Artikelstamm ein Code-Feld ist,
und meine Variable eine Text-Variable. Hab es darauf hin mit einem Textfeld aus dem
Artikelstamm versucht (Feld: Beschreibung):

Code:
Oberflächenkennzeichen := Beschreibung[4];


Fehlermeldung ist die gleiche.

Viele Grüße
Horst

Re: Auswerten eines (Text)Feldes

9. März 2009 18:57

Noch ein FORMAT dazu, dann sollte es mit Timos Variante hier auch klappen. :-)
Code:
Oberflächenkennzeichen := FORMAT("Nr."[4]);