全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1076
推到 Plurk!
推到 Facebook!

Delphi轉成BCB..

尚未結案
pika2005
初階會員


發表:27
回覆:48
積分:25
註冊:2005-02-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-26 22:11:28 IP:218.162.xxx.xxx 未訂閱
小弟要用底下這篇聯結的程式,將目前的資料複製一筆一樣的, 但因為是用Delphi,看的一知半解,翻成BCB,才看的比較懂.. 只好拜託,感恩... 請問如何用簡單的方法將目前的這筆資料,再複製一筆 http://delphi.ktop.com.tw/topic.php?topic_id=47510 原始程式: procedure TForm1.BitBtn1Click(Sender: TObject); Var v : variant ; Flds :String ; Sl : TStrings ; begin Sl := TStringList.create; Dataset.GetFieldNames(Sl); Flds := Sl.CommaText; Sl.Free; Flds := StringReplace(Flds,',',';',[rfReplaceAll]); // 以下與上面rovi大大的寫法是相同的 v := DataSet[Flds]; DataSet.Append; DataSet[Flds] := v; // 在這修正不同的欄位資料 DataSet.post; end; 以下是我翻的,有些我明知有錯,但我不會改.. void __fastcall TChildFrame01::Button1Click(TObject *Sender) { int v; String Flds; TStrings *Sl = new TStringList(this); DataSource1->DataSet->GetFieldNames(Sl); Flds = Sl->CommaText; Sl->Free(); Flds = StringReplace(Flds,',',';',[rfReplaceAll]); // 以下與上面rovi大大的寫法是相同的 v = DataSource1->DataSet[Fld]; DataSource1->DataSet->Append(); DataSource1->DataSet[Flds] = v; // 在這修正不同的欄位資料 DataSource1->DataSet->Post(); }
wyndog
資深會員


發表:7
回覆:362
積分:348
註冊:2004-10-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-29 21:57:47 IP:61.64.xxx.xxx 未訂閱
稍微解釋一下,它們在幹嘛    
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Variant v;
    String Flds;
    TStringList *SL = new TStringList;
    TReplaceFlags rf;        // 捉所有的欄位出來 
    // CommaText 會讓 TStringList 的所有 String 以 "," 隔開連在一起
    DataSource1->DataSet->GetFieldNames(SL);
    Flds = SL->CommaText;
    SL->Free();        // 因為 FieldValues 接受的欄位分隔
    // 要用 ";" 隔開,所以把 "," 改成 ";"
    rf << rfReplaceAll;
    Flds = StringReplace(Flds, ",", ";", rf);        // 這裡有個地方要注意,如果你的記錄裡,有自動遞增的欄位
    // 直接抄這一段會有問題,記得把那個欄位,先從 Flds 移掉
    // 假設自動遞增的欄位叫 AutoID 的話,加上下面這一行
    Flds = StringReplace(Flds, "AutoID;", "", rf);        v = DataSource1->DataSet->FieldValues[Flds];
    DataSource1->DataSet->Append();
    DataSource1->DataSet->FieldValues[Flds] = v;
    // 不一樣的地方,加在這裡
    DataSource1->DataSet->Post();
}
系統時間:2024-06-27 0:09:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!