2010-08-20 20 views
1

問題1和2特定於INFORMIX-SQL 4.10.DD6(DOS)執行屏幕。 問題3適用於任何環境中的任何版本的INFORMIX-SQL。有關執行屏幕顯示的問題

  1. 我希望能夠在我的執行屏幕上顯示80多列,以便在一個頁面中顯示更多內容。我嘗試DOS 6.22命令'模式CON:CO132',並在我執行屏幕上指定'屏幕尺寸24 BY 132',然後添加一些字段標籤超過80列標記,看看它是否工作,但模式CO132命令不起作用屏幕保持80列模式。有沒有辦法做到這一點:VESA BIOS在大多數硬件上是標準的,或者是將DOS屏幕模式更改爲132列的另一種可能性?我已經在termcap文件中使用CO#132在LINUX中完成了這項工作。

  2. 我的執行屏幕在同一頁上有兩個表格。當我使用Master/Detail從一個表切換到另一個表時,具有REVERSE屬性的字段將相反的一個位置向左擴展,而字段中的數據保持在相同的位置!這在ISQL 2.10中沒有發生,但現在是4.10 ..我有屏幕尺寸24 80,實驗24 BY 79,但沒有解決顯示問題。但是,當我在Perform中按屏幕命令時,它將恢復正常。我也在使用DELIMITERS「」; [在我的說明部分中的[空白分隔符]。任何想法可能導致這種情況?

  3. 當用戶在執行中決定將ABORT [Control-C]添加,更新等命令時,DISPLAYONLY字段在命令執行前不會恢復到它們先前顯示的值。我在我的.per屏幕下面的示例中,屬性分別說明部分:

     [dispfld1 ] 
    
        dispfld1 = DISPLAYONLY TYPE DATE,FORMAT="mmm-dd-yyyy",DEFAULT=NULL; 
    
        BEFORE EDITADD EDITUPDATE OF tablename 
        LET dispfld1 = TODAY 
    

當用戶選擇執行操作添加或更新時,DISPLAYONLY場dispfld1自動顯示當天的日期,但中止時添加或更新操作,dispfld1不會恢復爲NULL值,它與今天的日期保持一致。

我嘗試了各種方法。以下指令語句是不正確的語法,但這是我想要完成的!與table.columns相關

  AFTER DISPLAY OF tablename 
     IF ABORT THEN LET dispfld1 = NULL 

      AFTER DISPLAY OF tablename 
      IF NEXTFIELD = ABORT THEN LET dispfld1 = NULL 

      BEFORE DISPLAY OF tablename 
      LET dispfld1 = NULL 

現場標籤恢復正常,但DISPLAYONLY領域留任何價值,我選擇顯示進入添加或更新時。

回答

1
  1. 我不確定,但可能沒有辦法讓jimmy的DOS輸出使用132列。
  2. 聽起來像一個錯誤。
  3. 我不認爲在ISQL中有這樣做的方法。