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

C#程式轉delphi問題

答題得分者是:frontier
ycl2005
一般會員


發表:15
回覆:14
積分:5
註冊:2005-10-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-05-26 15:56:14 IP:211.75.xxx.xxx 訂閱
請問下段的C#程式碼, 如何轉成delphi程式碼?  裡面就底下這行比較不懂, 其他的在網路上皆已找到資料了. WAB.IFolderContacts ifc = (WAB.IFolderContacts)fd.Contacts   NKTWAB是免費的 Windows Address Book 元件, 下載網址:http://www.nektra.com/products/wab/index.php   


using WAB = NKTWABLib;

private static void addContact()

{

WAB.NKTWABClass wab = new WAB.NKTWABClass();

WAB.Folder fd = wab.DefaultFolder;

WAB.IFolderContacts ifc = (WAB.IFolderContacts)fd.Contacts;

WAB.Contact c = ifc.Add();

c.DefaultEmailAddress = "t...@email.com";

c.DisplayName = "Display Name";

c.Email1Address = "t...@email.com";

c.FirstName = "Test";

c.LastName = "User";

c.Name = "DisplayName";

c.Save();
}
編輯記錄
ycl2005 重新編輯於 2009-05-26 15:57:02, 註解 無‧
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-05-26 18:04:53 IP:122.116.xxx.xxx 未訂閱
您好,

沒實測哦, 請參考
WAB.IFolderContacts ifc = (WAB.IFolderContacts)fd.Contacts;

1. WAB.IFolderContacts ifc --> 比照 WAB.Folder fd = wab.DefaultFolder; 先宣告 ifc
2. (WAB.IFolderContacts)fd.Contacts; --> 應該是轉型, delphi 的話可能是 WAB.IFolderContacts(fd.Contacts);


我的意思是 ifc := WAB.IFolderContacts(fd.Contacts);


------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2009-05-27 20:51:47, 註解 無‧
ycl2005
一般會員


發表:15
回覆:14
積分:5
註冊:2005-10-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-05-27 08:53:24 IP:211.75.xxx.xxx 訂閱
謝謝你的回覆, 依你的建議測試complier不成功.

procedure TForm1.Button1Click(Sender: TObject);
var
WAB:INKTWAB;
fd:IFolder;
ifc:IFolderContacts;
c:IContact;

begin

Wab:=CoNKTWAB.Create;
Wab.Get_DefaultFolder( fd );

// 這行 C#代碼 不曉得怎麼轉成delphi (WAB.IFolderContacts)fd.Contacts;

ifc.Add(c);
.
.
.
c.save;

end;


===================引 用 st33chen 文 章===================
您好,

沒實測哦, 請參考
WAB.IFolderContacts ifc = (WAB.IFolderContacts)fd.Contacts;

1. WAB.IFolderContacts ifc --> 比照 WAB.Folder fd = wab.DefaultFolder; 先宣告 ifc
2. (WAB.IFolderContacts)fd.Contacts; --> 應該是轉型, delphi 的話可能是 WAB.IFolderContacts(fd.Contacts);


ycl2005
一般會員


發表:15
回覆:14
積分:5
註冊:2005-10-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-05-27 09:00:44 IP:211.75.xxx.xxx 訂閱
本來上補上傳NKTWABLib_TLB.pas, 但好像只能開版時傳附件, 之後不能傳了, 所以改用貼的.

抱歉,因程式碼太大, 會造成網頁無法流覽, 所以又刪除掉了.
編輯記錄
ycl2005 重新編輯於 2009-05-27 09:13:52, 註解 無‧
frontier
初階會員


發表:0
回覆:27
積分:30
註冊:2008-11-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-06-04 13:27:37 IP:118.231.xxx.xxx 訂閱

ifc := (fd.Contacts as IFolderContacts);

===================引 用 ycl2005 文 章===================
謝謝你的回覆, 依你的建議測試complier不成功.

procedure TForm1.Button1Click(Sender: TObject);
var
WAB:INKTWAB;
fd:IFolder;
ifc:IFolderContacts;
c:IContact;

begin

Wab:=CoNKTWAB.Create;
Wab.Get_DefaultFolder( fd );

// 這行 C#代碼 不曉得怎麼轉成delphi (WAB.IFolderContacts)fd.Contacts;

ifc.Add(c);
.
.
.
c.save;

end;


===================引 用 st33chen 文 章===================
您好,

沒實測哦, 請參考
WAB.IFolderContacts ifc = (WAB.IFolderContacts)fd.Contacts;

1. WAB.IFolderContacts ifc --> 比照 WAB.Folder fd = wab.DefaultFolder; 先宣告 ifc
2. (WAB.IFolderContacts)fd.Contacts; --> 應該是轉型, delphi 的話可能是 WAB.IFolderContacts(fd.Contacts);


ycl2005
一般會員


發表:15
回覆:14
積分:5
註冊:2005-10-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-06-04 17:20:18 IP:211.75.xxx.xxx 訂閱
感謝 st33chen & frontier 的回覆 讓我有靈感, 總算測試出來了, 重點是底下這二行,

nextFolder.Get_Contacts(myContacts);
ifc:= myContacts as IFolderContacts;


範例碼如下貼出來給大家分享:

[code delphi]
procedure TForm1.Button4Click(Sender: TObject);
var
myWAB:INKTWAB;
rootFolder:IFolder;
myFolder:IFolders;
myContacts:IContacts;
nextFolder:IFolder;
contacts:Contact;
ifc:IFolderContacts;
begin
myWab:=CoNKTWAB.Create;

try
myWab.Get_RootFolder(rootFolder); //WAB Root Container
rootfolder.Get_Folders(myFolder);
myFolder.Get_Item(1,nextFolder); //主要識別連絡人
nextFolder.Get_Contacts(myContacts);
ifc:= myContacts as IFolderContacts;
ifc.Add(contacts);
contacts.Set_FirstName('first');
contacts.Set_LastName('last');
contacts.Set_DefaultEmailAddress('emailaddress');
contacts.Save; //增加資料到主要識別連絡人
finally
myWab:=nil;
end;
end;
[/code]
編輯記錄
ycl2005 重新編輯於 2009-06-04 17:22:12, 註解 無‧
ycl2005 重新編輯於 2009-06-04 17:26:05, 註解 無‧
系統時間:2024-04-24 16:46:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!