線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:964
推到 Plurk!
推到 Facebook!

如何判斷檔名?

答題得分者是:RaynorPao
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-09 11:30:42 IP:140.124.xxx.xxx 未訂閱
現在在用.dat的檔案的內容畫圖,卡在一個地方,就是要畫很多個的時候,我要根據檔案的名稱把圖畫在不同的地方,檔案是ave00.dat或 ave06.dat 等,其中我要根據00、06(當座標位置x=0,y=6)來定每個檔案畫圖的地方。已可以一次開很多的檔案了,也可以一次畫一個檔案。我想要在用TOpenDialog開啟檔案的時候,寫一個判斷式來定畫圖位置,請問各位兄弟,我要如何在用TOpenDialog開啟檔案的時候,去讀到檔案名稱的特定位置(00、06的地方)的字呢? 可以告訴我如何做或可以到哪找方法嗎?? 先感謝各位兄弟的鼎力相助~~~
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-09 11:49:59 IP:203.73.xxx.xxx 未訂閱
引言: 現在在用.dat的檔案的內容畫圖,卡在一個地方,就是要畫很多個的時候,我要根據檔案的名稱把圖畫在不同的地方,檔案是ave00.dat或 ave06.dat 等,其中我要根據00、06(當座標位置x=0,y=6)來定每個檔案畫圖的地方。已可以一次開很多的檔案了,也可以一次畫一個檔案。我想要在用TOpenDialog開啟檔案的時候,寫一個判斷式來定畫圖位置,請問各位兄弟,我要如何在用TOpenDialog開啟檔案的時候,去讀到檔案名稱的特定位置(00、06的地方)的字呢? 可以告訴我如何做或可以到哪找方法嗎?? 先感謝各位兄弟的鼎力相助~~~
4880h009 你好: 假設你的檔案名稱都是這樣子的格式 ave00.dat~ave99.dat 的話 請參考以下的範例程式碼 < class="code"> int x=0, y=0; AnsiString szFileName; if(OpenDialog1->Execute()) { szFileName=OpenDialog1->FileName; if(FileExists(szFileName) && ExtractFileName(szFileName).AnsiPos("ave")==1) { x=StrToInt(ExtractFileName(szFileName).SubString(4, 1)); y=StrToInt(ExtractFileName(szFileName).SubString(5, 1)); ShowMessage("(" IntToStr(x) ", " IntToStr(y) ")"); } } -- Enjoy Researching & Developing -- 發表人 - RaynorPao 於 2003/12/09 12:43:09
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-09 11:50:11 IP:163.23.xxx.xxx 未訂閱
4880h009 您好:    看不太懂您的需求,原諒小弟太嫩了 您是想用 TOpenDialog 去開啟 .dat 檔 但 TOpenDialog 不是會出現視窗讓您去選您要路徑嗎    所謂『讀到檔案名稱的特定位置(00、06的地方)的字』指的是什麼 麻煩您再說明詳細一點 好讓版上的前輩知道您問題在哪,也方便一針見血的回答      
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-09 12:10:16 IP:140.124.xxx.xxx 未訂閱
流兄: 開檔部分已ok了~~現在我有很多個檔案,檔名為ave06.dat等等,我要根據檔名來設定畫圖的位置,例如ave06.dat,我要把這個檔案畫在座標x=0、y=6的地方,而且我在用TOpenDialog開啟檔案的時候,要一次選很多的檔案來開啟(這個已完成了),現在我不知道要如何在TOpenDialog開啟檔案的時候,讀到檔名ave06.dat中的06檔名… 如此流兄明白嗎~~感謝你哦~~

中階會員


發表:36
回覆:142
積分:70
註冊:2003-07-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-09 12:17:30 IP:163.23.xxx.xxx 未訂閱
4880h009 您好:    好像懂了,如果是單純要讀到 ave06 後的 06 那 RaynorPao 前輩的回答就是您要的了  還是 >
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-09 12:25:49 IP:61.218.xxx.xxx 未訂閱
初學者 請多多指教
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 char* c;
 if ( OpenDialog1->Execute())
 {
  int i;
  int x[10];
  for ( i=0 ; iFiles->Count;i  )
  {       AnsiString ef=ExtractFileName(OpenDialog1->Files->Strings[i]);
   c=ef.c_str();
   if ((c != NULL) && (c[0] != '\0'))
  {        c =3;
    int L = StrLen(c) 1;
    char *p = (char *)malloc(L);
    StrMove(p, c, L);        char *ptr = strchr(p,'.');        *ptr='\0';        x[i]=atoi(p);        ShowMessage(IntToStr(x[i]));        free(p);
  }
 }     }
}
每天省下一包菸的錢 愛心1000元餵飽一名非洲飢餓兒童 http://www.worldvision.org.tw/edm/30hffan/30hf1000.htm 發表人 - taishyang 於 2003/12/09 13:49:16
------
︿︿
4880h009
一般會員


發表:32
回覆:43
積分:15
註冊:2003-11-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-09 17:02:48 IP:140.124.xxx.xxx 未訂閱
事情解決了~~謝謝各位兄弟的幫忙哦~~
系統時間:2024-05-18 19:48:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!