[Tipy a Triky] Variable - rozdělení řetězce podle oddělovače

PříspěvekNapsal: 26.01.2009 10:08
od jan.havranek
V datech mám hodnotu, která obsahuje nějaký oddělovač, například pomlčku. Potřebuji řetězec rozdělit na dvě hodnoty, před a za pomlčkou. Typický příklad je číslo účtu, obsahující předčíslí a hlavní číslo účtu. Například: 6023-15020311.

Postup ve formuláři je náslůedující:
1/ Reportbuilder - záložka Calc - v horní levé části pravá myš - volba Module
2/ Declarations - Variables - zapsat globální proměnné
Kód: Vybrat vše
s, pred, po : string;
oddelovacPos : integer;

3/ Design - vložit Variable typu String - pravá myš Calculations - vložit kód
Kód: Vybrat vše
  s := Pipeline['DataField'];
  oddelovacPos :=  Pos('-', S);
  if oddelovacPos > 0 then
  begin
    pred := Copy(s, 1, oddelovacPos-1);
    po   := Copy(s, oddelovacPos+1, 1000);
    Value := pred +' '+ po;
  end
  else Value := s;

Výsledek v tomto případě bude zobrazen jako 6023 15020311 .

platí:
Pipeline['DataField'] = konkrétní datový zdroj a datové pole (tedy např.: BankovniSpojeni_32['CisloUctu']
'-' = oddělovač, samozřejmě může být i jiný než pomlčka
pred = vrácená hodnota před oddělovačem
po = vrácená hodnota za oddělovačem
Taktéž hodnotu pred mohu vložit do jednoho variable a hodnotu po do dalšího.