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

開啟檔案在PageControl裡頭

尚未結案
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-06 21:18:39 IP:218.162.xxx.xxx 未訂閱
PageControl裡頭有2個Page,2個都各有一個RichEdit    開啟OpenDialog只有一個    視當時在哪一個page上,就開啟檔案在那個page上的RichEdit    上次Superman大大教我後,我這樣子寫出來的程式還是不行, 請問怎樣做比較好,謝謝      
 if (PageControl->ActivePage="Page1") RichEdit1->Lines->LoadFromFile;
              RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);
 if (PageControl->ActivePage="Page2") RichEdit2->Lines->LoadFromFile;
              RichEdit2->Lines->LoadFromFile(OpenDialog1->FileName);
還剩下4隻kitty^^
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-06 23:08:23 IP:219.68.xxx.xxx 未訂閱
你上個主題都還沒結束怎又來發幾乎一樣的主題? 你的程式要改成 if (PageControl->ActivePage="Page1") RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); if (PageControl->ActivePage="Page2") RichEdit2->Lines->LoadFromFile(OpenDialog1->FileName); 這樣才對。 我上個主題說M,不曉得為何你又多加了一行上去? if (PageControl->ActivePage="Page1") RichEdit1->Lines>LoadFromFile(xxx); 不行要說是那邊不行,詳細的說明問題,就能解決一半的問題。 另外,我是supman不是superman........
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-06 23:14:02 IP:218.162.xxx.xxx 未訂閱
因為我想說那是另一個元件阿...嗚嗚 還有對我來說你是superman啊...^^ 還剩下4隻kitty^^
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-07-06 23:32:51 IP:218.162.xxx.xxx 未訂閱
這樣寫他會找不到PageControl 雖然用到是PageControl不過2個page的名稱是TabSheet1跟2 我有試者把pagecontrol改成TabSheet還是不可以 還剩下4隻kitty^^
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-07-07 00:09:43 IP:218.168.xxx.xxx 未訂閱
之前沒仔細看以為只是邏輯上的錯誤    試試下面的程式碼< class="code"> if (PageControl1->ActivePage->Caption == "TabSheet1") { if (OpenDialog1->Execute()) { RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); } } if (PageControl1->ActivePage->Caption == "TabSheet2") { if (OpenDialog1->Execute()) { RichEdit2->Lines->LoadFromFile(OpenDialog1->FileName); } } 由您po的錯誤訊息可以得知沒有定義PageControl,這種錯誤很容易debug的
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-07-07 00:20:22 IP:218.162.xxx.xxx 未訂閱
這個我剛剛就有看到了,雖然不確定我也有試者加上一個=看看 不過問題依然還是 [C Error] Unit1.cpp(38): E2451 Undefined symbol 'PageControl' 還是謝謝你的回喔^^ 還剩下4隻kitty^^
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-07-07 00:46:17 IP:218.162.xxx.xxx 未訂閱
我有用到OpenDialog1所以重新改成這樣 編譯可以過 但是都沒有開檔的對話框出來 if (PageControl1->ActivePage=="page1") { if(OpenDialog1->Execute()) RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName); } if (PageControl1->ActivePage=="page2") { if(OpenDialog1->Execute()) RichEdit2->Lines->LoadFromFile(OpenDialog1->FileName); } 還剩下4隻kitty^^
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-07-07 00:47:47 IP:218.162.xxx.xxx 未訂閱
^^剛PO文才看到妳有回我文 而且寫的跟我一樣 不過這樣子沒有對話框出來 好奇怪 我繼續研究 謝謝^^ 還剩下4隻kitty^^
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-07-07 00:51:09 IP:218.168.xxx.xxx 未訂閱
引言: ^^剛PO文才看到妳有回我文 而且寫的跟我一樣 不過這樣子沒有對話框出來 好奇怪
不一樣吧,請仔細看看< class="code"> PageControl1->ActivePage型態是TTabSheet* 而非字串 所以要改成 PageControl1->ActivePage->Caption
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-07-07 00:53:32 IP:218.162.xxx.xxx 未訂閱
你是指括弧嗎? 我也有把整個程式複製下來試看看喔? 還剩下4隻kitty^^
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-07-07 00:58:09 IP:218.168.xxx.xxx 未訂閱
引言: 你是指括弧嗎?
別鬧了
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-07-07 01:00:28 IP:218.162.xxx.xxx 未訂閱
沒看清楚嘛..>< 再研究中.... 還剩下4隻kitty^^
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-07-07 01:33:29 IP:219.68.xxx.xxx 未訂閱
我之前看錯了,以為你還是用TabbedNoteBook    下面是示範使用PageControl的方式,這樣再不懂也沒辦法了。
//---------------------------------------------------------------------------    #include 
#pragma hdrstop    #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------    void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute())//打開選檔案視窗
 {
  if (PageControl1->ActivePage==TabSheet1)//如果在第一個頁面
   RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);把檔案資料放到第一個RichEdit中
  if (PageControl1->ActivePage==TabSheet2)//如果在第二個頁面
   RichEdit2->Lines->LoadFromFile(OpenDialog1->FileName);把檔案資料放到第二個RichEdit中
 }
}
//---------------------------------------------------------------------------    //---------------------------------------------------------------------------    #ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include 
#include 
#include 
#include <Forms.hpp>
#include 
#include 
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:        // IDE-managed Components
        TPageControl *PageControl1;
        TTabSheet *TabSheet1;
        TTabSheet *TabSheet2;
        TRichEdit *RichEdit1;
        TRichEdit *RichEdit2;
        TOpenDialog *OpenDialog1;
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
private:        // User declarations
public:                // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Miki-lion
中階會員


發表:90
回覆:180
積分:54
註冊:2005-04-24

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-07-07 01:45:32 IP:218.162.xxx.xxx 未訂閱
if (OpenDialog1->Execute()) 我猜大概是多一行這個的關係吧 2個page只用一個就好了 謝謝^^ 還剩下4隻kitty^^
系統時間:2024-05-16 15:26:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!