2015-06-25 256 views
1

首先,我是PowerBuilder的noob,似乎無法找到如何在任何地方執行此操作。在PowerBuilder中循環遍歷字符串

我已經給了重寫應用程序的任務。我的老闆希望新的應用程序儘可能地模仿舊的應用程序,這會導致我的問題。有一個日期字段允許用波形符號(01/01/15〜01/31/15)分隔日期輸入,並使用它來獲取SQL語句之間的開始日期和結束日期。

儘管如此,我正試圖在PowerBuilder 12.6 classic中做同樣的事情。我知道我可以通過使用兩個日期選擇器(開始日期和結束日期)完成同樣的事情,但是我的老闆希望這種轉換對最終用戶儘可能無縫。

我在我的表格上有一個sle_date_shipped,它現在採用mm/dd/yy的日期格式並將處理它,但是我想允許mm/dd/yy〜mm/dd/yy並解析出一個開始和結束日期。我的僞代碼將是這個樣子:

int i 
String s 
String start_date 
String end_date 

if this.textsize > 8 then 
    s = this.text(value of this position in the string) 
    start_date = s + s 
    if this.text = "~" then 
     s = s + 1 
     s = this.text(value of this position in the string) 
     end_date = s + s 
    end if 
    this.textsize + 1 
else 
    start_date = this.text 
end if 

我也知道我的僞代碼可能需要一些工作,我只是想傳達出點。

感謝

回答

2

不循環......

string ls_start, ls_end 
ls_start = left(this.text, pos(this.text, '~') - 1) 
ls_end = right(this.text, Len(this.text) - pos(this.text, '~')) 

- 保羅Horan-

+0

哇!謝謝。如果你知道你在做什麼,PowerBuilder非常簡單。這很好用!我準備將字符串轉換爲一個字符數組,循環通過它,哈哈。 – CuriousOne

+0

只要確保您'測試'日期以確保它們確實是日期。您可以使用IsDate方法。 –