使用 TIdFTP元件,如何用時間排序 |
缺席
|
mnsf
初階會員 發表:104 回覆:90 積分:48 註冊:2003-11-25 發送簡訊給我 |
|
mnsf
初階會員 發表:104 回覆:90 積分:48 註冊:2003-11-25 發送簡訊給我 |
自己找到一個笨方法,提供給大家參考。
[code delphi] begin ListBox2.Sorted:=true; IdFTP1.List(ListBox1.Items,'*.*',true); for i:=0 to ListBox1.items.count-1 do begin str:=ListBox1.items.strings[i]; //以下是str的內容範例 //-rw-r--r-- 1 508 509 1192 Feb 19 11:10 111.csv str:=SetMultiEmptytoSingleEmpty(str);//將多個空白字元,換成一個空白字元 //以下是str的內容範例 //-rw-r--r-- 1 508 509 1192 Feb 19 11:10 111.csv //再以空白字元做區隔,組合出 'Feb 19 11:10,111.csv'的字串,放入ListBox2中 str1:=split1(' ',str,6) split1(' ',str,7) split1(' ',str,8) ',' split1(' ',str,9); ListBox2.Items.Add(str1); end; //ListBox2的內容就會是以時間由大至小排序,再用,去區分時間及檔名 //就可以找出時間最早的檔名=split1(',',ListBox2.items.string[1],2) //時間最晚的檔名=split1(',',ListBox2.Items.Strings[ListBox2.Items.count-1],2) end; function SetMultiEmptytoSingleEmpty(str: string): string; var i,j:integer; tmpStr:string; begin for i:=100 downto 2 do begin tmpStr:=''; for j:=1 to i do tmpStr:=tmpStr ' '; str:=ansireplacestr(str,tmpStr,' '); end; result:=str; end; function split1(comma,original: string; index: integer): string; var //comma:char; original2,divided,sTemp:string; ipos,LengthOrigial:integer; //,myStringListCount ,iposend myStrList:tstringlist; begin try //comma:=' '; //分隔符號,可改成其它如分號,冒號等識別 myStrList:=tstringlist.Create; //myStrList存放分解後字串的地方 original:=original; original2:=original; ipos:=pos(comma,original2); while (ipos<>0) do //當找到分隔符號跳出迴圈 begin original2:=original; ipos:=pos(comma,original2); //ipos為分隔符號所在位置 LengthOrigial:=length(original2); //LengthOrigial為待拆解字串長度 divided:=copy(original2,1,ipos-1); //divided為拆解出字串 myStrList.Add(divided); //將拆解出字串存於myStrList sTemp:=copy(original,ipos 1,LengthOrigial-ipos); //去除掉拆解出字串即分隔符號後的字串 original:=sTemp; //重新交回給original去Run迴圈 end; finally myStrList.Delete(myStrList.Count-1); myStrList.Add(original); //將最後分隔符號 後之字串加入myStrList end; result:=Trim(myStrList.strings[index-1]); myStrList.Free; end; [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |