Miklix

Format String sareng Makro sareng strFmt dina Dynamics AX 2012

Diterbitkeun: 16 Pébruari 2025 jam 0.51.55 UTC

Artikel ieu ngajelaskeun sababaraha paripolah aneh dina Dynamics AX 2012 nalika ngagunakeun makro salaku format string dina strFmt, kitu ogé conto kumaha carana dianggo sabudeureun eta.


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. Ieu bisa atawa bisa jadi teu valid pikeun vérsi séjén.

Kuring nembe mendakan masalah sareng fungsi strFmt anu ngabingungkeun kuring sakedik. Bagian anu paling ngabingungkeun nyaéta yén kuring ku sababaraha kabeneran anéh henteu kantos mendakan éta dina sababaraha taun kuring salaku pamekar Axapta / Dynamics AX.

Masalahna nyaéta kuring nyobian nganggo makro salaku format string pikeun fungsi strFmt sareng éta henteu jalan. Ieu sagemblengna dipaliré % parameter sarta ngan balik sésana tina string.

Saatos ningali kana éta, kuring mendakan yén makro sorangan tiasa dianggo pikeun pormat senar, anu ogé mangrupikeun hal anu kuring henteu terang. Muhun, éta salawasna alus pikeun neuleuman hal anyar, tapi kuring masih pohara reuwas yén kuring kungsi teu kajantenan datang di sakuliah ieu sateuacan.

Dasarna, sapertos kieu

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

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

moal jalan sabab % tanda dina makro nu sabenerna dipaké pikeun fitur string pormat makro sorangan. Dina hal ieu, fungsi strFmt bakal ningali string pormat salaku "--" sahingga ngan bakal balik deui.

Sapertos kieu:

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

bakal dianggo, tapi meureun moal jalan rék ka. Gantina kaluaran nilai tina tilu variabel, éta bakal kaluaran nami variabel gantina, dina hal ieu "salesId-itemId-lineNum". (Perhatikeun yén kuring henteu nempatkeun spasi sanggeus koma nalika ngalirkeun parameter kana makro, sakumaha biasana kuring ngalakukeun dina panggero metoda. Éta sabab makro sabenerna bakal ngagunakeun spasi sapertos ogé, jadi kaluaran bakal "salesId- itemId- lineNum "lamun kuring).

Pikeun leres-leres ngagunakeun makro salaku pormat string sareng strFmt, anjeun kedah kabur tanda persentase nganggo garis miring mundur, sapertos kieu:

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

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

Ieu saleresna bakal tiasa dianggo saolah-olah anjeun parantos nyayogikeun format string langsung.

Proyék saeutik ieu ngagambarkeun 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));
}
Bagikeun on BlueskyBagikeun dina FacebookBagikeun on LinkedInBagikeun dina TumblrBagikeun harga XBagikeun on LinkedInPin on Pinterest

Mikkel Bang Christensen

Ngeunaan Pangarang

Mikkel Bang 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.