Miklix

Format String sareng Makro sareng strFmt dina Dynamics AX 2012

Diterbitkeun: 16 Pébruari 2025 jam 0.51.55 UTC
Panungtungan diropéa: 12 Januari 2026 jam 8.44.48 UTC

Artikel ieu ngajelaskeun sababaraha paripolah anéh dina Dynamics AX 2012 nalika nganggo makro salaku format string dina strFmt, ogé conto ngeunaan kumaha cara ngungkulanana.


Kaca ieu ditarjamahkeun ku mesin tina basa Inggris supados tiasa diaksés ku saloba-lobana jalma. Hanjakalna, tarjamahan mesin henteu acan janten téknologi anu sampurna, janten kasalahan tiasa lumangsung. Upami anjeun hoyong, anjeun tiasa ningali versi Inggris asli di dieu:

String Formatting with Macro and strFmt in Dynamics AX 2012

Inpormasi dina tulisan ieu dumasar kana Dynamics AX 2012 R3. Éta tiasa valid atanapi henteu pikeun vérsi anu sanés.

Kuring nembe ngalaman masalah sareng fungsi strFmt anu rada ngabingungkeun kuring. Bagian anu paling ngabingungkeun nyaéta kuring, ku kabeneran anéh, teu acan pernah ngalaman masalah ieu sateuacanna salami mangtaun-taun kuring janten pamekar Axapta/Dynamics AX.

Masalahna nyaéta kuring nyobian nganggo makro salaku format string pikeun fungsi strFmt sareng éta henteu tiasa dianggo. Éta teu malire parameter % sareng ngan ukur mulangkeun sésana tina string.

Saatos nalungtik éta, kuring mendakan yén makro sorangan tiasa dianggo pikeun ngaformat string, anu ogé hal anu kuring henteu terang. Nya kitu, éta salawasna saé pikeun diajar hal énggal, tapi kuring masih kaget pisan yén kuring henteu acan kantos mendakan ieu sateuacanna.

Intina mah, hal kawas kieu

#define.FormatMacro('%1-%2-%3')
;

info(strFmt(#FormatMacro, salesId, itemId, lineNum));

Moal tiasa dianggo sabab tanda % dina makro sabenerna dianggo pikeun fitur format string makro sorangan. Dina hal ieu, fungsi strFmt bakal ningali string format salaku "--" sareng ku kituna ngan ukur bakal mulangkeun éta.

Sapertos kieu:

#define.FormatMacro('%1-%2-%3');
info(#FormatMacro(salesId,itemId,lineNum));

Bakal jalan, tapi sigana sanés sapertos anu anjeun pikahoyong. Gantina ngaluarkeun nilai tina tilu variabel, éta bakal ngaluarkeun nami variabel, dina hal ieu "salesId-itemId-lineNum". (Perhatoskeun yén kuring henteu nempatkeun spasi saatos koma nalika ngirimkeun parameter ka makro, sapertos anu biasana kuring lakukeun dina panggero metode. Éta kusabab makro sabenerna bakal nganggo spasi sapertos kitu ogé, janten kaluaranna bakal "salesId- itemId- lineNum" upami kuring ngalakukeun).

Pikeun sabenerna nganggo makro salaku format string nganggo strFmt, anjeun kedah nyingkahan tanda persentase nganggo garis miring mundur, sapertos kieu:

#define.FormatMacro('\\%1-\\%2-\\%3')
;

info(strFmt(#FormatMacro, salesId, itemId, lineNum));

Ieu sabenerna bakal jalan sapertos anjeun parantos nyayogikeun string format sacara langsung.

Padamelan alit ieu ngagambarkeun conto-conto:

static void StrFmtMacroTest(Args _args)
{
    #define.FormatMacro('%1-%2-%3')
    #define.FormatMacroEscaped('\\%1-\\%2-\\%3')
    SalesId salesId = '1';
    ItemId  itemId  = '2';
    LineNum lineNum = 3.00;
    ;

    info(#FormatMacro(salesId,itemId,lineNum));
    info(strFmt(#FormatMacro, salesId, itemId, lineNum));
    info(strFmt(#FormatMacroEscaped, salesId, itemId, lineNum));
}

Bacaan salajengna

Upami anjeun resep kana tulisan ieu, anjeun ogé tiasa resep saran ieu:


Bagikeun on BlueskyBagikeun dina FacebookBagikeun on LinkedInBagikeun dina TumblrBagikeun harga XBagikeun on LinkedInPin on Pinterest

Mikkel Christensen

Ngeunaan Pangarang

Mikkel Christensen
Mikkel mangrupikeun panyipta sareng pamilik miklix.com. Anjeunna gaduh pangalaman langkung ti 20 taun salaku programmer komputer / pamekar software profésional sareng ayeuna padamelan full-time pikeun korporasi IT Éropa anu ageung. Nalika henteu ngeblog, anjeunna nyéépkeun waktos luangna dina sajumlah ageung minat, hobi, sareng kagiatan, anu tiasa ditingali dina rupa-rupa topik anu aya dina halaman wéb ieu.