Progress 4gl - 在将临时 table 导出到 .html 文件时更改特定值的字体颜色

Progress 4gl - change font color of specific values while exporting temp table to .html file

在使用 progress 4gl 导出到 .html 时,我想更改临时 table 中特定值的字体颜色。

下面是我编写的将值输出到 .html 文件的程序。 请帮我解决这个问题。

OUTPUT TO VALUE ("JITS_UserMonitor\JITS_UserMonitor.html").
PUT UNFORMATTED "<TABLE
                    style=' border: 1px solid black;border-collapse: collapse;width:100%; font-family: arial, sans-serif;'>
                        <tr style='background-color: #dddddd; text-align: center' >
                            <th style=' border: 1px solid black;border-collapse: collapse;'>USER Name</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>USER Full Name</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>USER CREATE Date</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>USER LastLogin Date</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>Need Disable</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>Need DELETE</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>DISABLE Status</th>
                            <th style=' border: 1px solid black;border-collapse: collapse;'>LAST Logon Days</th>
                        </tr>
                    " SKIP.
    FOR EACH tt_data WHERE tt_data.tt_needdisable EQ TRUE OR 
            tt_data.tt_needdelete EQ TRUE NO-LOCK BY tt_data.tt_days DESC:
        PUT UNFORMATTED SUBSTITUTE ("   <tr style = 'text-align: center'>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&1</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&2</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&3</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&4</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&5</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&6</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&7</td>
                                                <td style=' border: 1px solid black;border-collapse: collapse;'>&8</td>
                                            </tr>",
                                                tt_data.tt_userid,
                                                tt_data.tt_fullname,
                                                tt_data.tt_createddate,
                                                tt_data.tt_lastlogon, 
                                                tt_data.tt_needdisable,
                                                tt_data.tt_needdelete,
                                                tt_data.tt_disable,
                                                tt_data.tt_days) SKIP.
    END.    
PUT UNFORMATTED "</TABLE>" SKIP.
OUTPUT CLOSE.

您可以在语句中使用 IF。像这样:

PUT UNFORMATTED 'This will output ' (IF TRUE THEN "something" ELSE "nothing").

那会输出

This will output something

TRUE可以改成任何你想要的支票。

但是,由于您使用 SUBSTITUTE,您可以考虑为颜色添加一个变量。

PUT UNFORMATTED SUBSTITUTE ("   <tr style = 'text-align: center'>
                                            <td style=' border: 1px solid black;border-collapse: collapse;color:&9;'>&1</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&2</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&3</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&4</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&5</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&6</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&7</td>
                                            <td style=' border: 1px solid black;border-collapse: collapse;'>&8</td>
                                        </tr>",
                                            tt_data.tt_userid,
                                            tt_data.tt_fullname,
                                            tt_data.tt_createddate,
                                            tt_data.tt_lastlogon, 
                                            tt_data.tt_needdisable,
                                            tt_data.tt_needdelete,
                                            tt_data.tt_disable,
                                            tt_data.tt_days,
                                            color
) SKIP.

然后您的程序需要根据您需要的任何逻辑设置颜色变量。

您还可以匹配“普通”变量和 SUBSTITUTE 的 &-语法:

DEFINE VARIABLE cColor AS CHARACTER   NO-UNDO.
DEFINE VARIABLE iInt   AS INTEGER     NO-UNDO.

cColor = "black".
iInt = 12.

MESSAGE  SUBSTITUTE("This is a color " + cColor + " and a number &1", iInt).