Текстовые функции Crystal Report - PullRequest
1 голос
/ 17 февраля 2020

Я использую поле ItemName в отчете Crystal. Поле содержит имя элемента и размеры: -

Яичная банка и блюдце 47x41см

I wi sh, чтобы скрыть детали измерения, оставив только текстовую часть строки. Я ищу набор функций, которые могли бы создать формулу в Crystal для этого. Проблема заключается в том, что существует множество различных синтаксисов для размерной части: -

65x47x30cm или 43cm или 47x41cm

Константа состоит в том, что все они начинаются с Numeri c.

1 Ответ

1 голос
/ 17 февраля 2020

Я думаю, используя комбинацию струнных функций кристаллов (Instr, Left, Length, Replace et c), вы сможете выполнить это sh.

Что вы пробовали до сих пор?

будет ли любая необходимая информация (Egg Pot & Saucer) содержать числа?

, если нет, найти первое вхождение числа используя al oop и isNumeri c

, затем используйте ВЛЕВО, чтобы вернуть все до этого числа.

Local StringVar f := {Command.ItemName} ;
local Numbervar L := length(f) ;
Local Numbervar i ;
Local StringVar s ;
for i := 1 to L do
(
( If IsNumeric(f[i]) then exit for )
);
Left ({Command.CardName},i -1)

обновлено с дополнительным условием:

Local StringVar f := {Command.CardName} ;
local Numbervar L := length(f) ;
Local Numbervar i ;
Local StringVar OutPut ;


If {Command.CardName} like "* Set *"  Then 
f
else
(for i := 1 to L do
( If IsNumeric(f[i]) then exit for);
 OutPut:= Left({Command.CardName},i -1);)

...