[Tipy a Triky] Variable - rozdělení řetězce podle oddělovače
Napsal: 26.01.2009 10:08
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é
3/ Design - vložit Variable typu String - pravá myš Calculations - vložit kód
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.
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.