Click here to Skip to main content
15,896,063 members
Articles / Programming Languages / C#
Article

NNTP library that supports post retrieval with attachments and a lot more

Rate me:
Please Sign up or sign in to vote.
4.25/5 (13 votes)
24 Mar 20041 min read 228.5K   520   42   41
NNTP library for .NET

Image 1

Introduction

I have built this library because I found that there is lack of support for NNTP. I wanted a library supporting Multilanguage posts with attachments. That required MIME handling, Base64, UUEncode, Quoted-Printable etc. I also wanted a library with Authentication support too.

Using the code

Classes can be classified as below.

  • BS: NntpConnection
  • VO: Article, ArticleBody, ArticleHeader, Attachment, MIMEPart, Newsgroup
  • Util: NntpUtil
  • Exp: NntpException

Using the library is simple, and it is done mainly by manipulating the NntpConnection class.

Connect to a specified news server and list all the newsgroups:

C#
NntpConnection con = new NntpConnection();
con.ConnectServer(serverName, 119);
ArrayList list = con.GetGroupList();
foreach ( Newsgroup ng in list )
    Console.WriteLine(ng.Group);

Subscribe to a group and list out all the articles:

C#
Newsgroup ng = con.ConnectGroup(groupName);
ArrayList list = con.GetArticleList(ng.Low, ng.High);
foreach( Article article in list )
    Console.WriteLine(article.Header.Subject);

Retrieve an article, examine the text content and save the attachment:

C#
// msgId can be a string or an integer
Article a = con.GetArticle(msgId);
Console.WriteLine(a.Body.Text);
foreach ( Attachment at in a.Body.Attachments )
{
    at.SaveAs(@"C:\Temp\" + at.Filename, true);
}

If you want to provide an identity:

C#
NntpConnection con = new NntpConnection();
con.ConnectServer(serverName, 119);
// Identity will be store and will be sent automatically upon the server request
con.ProvideIdentity(username, password);
// You can force the identity to be sent immediately, 
// however some servers do not support this
con.SendIdentity();

This is a brief description only and my library has many more features. I will review this article if I have time.

More Information

Articles are decoded by self-built library, where it is still far away from the internet standard. However, it should be able to decode over 95% of the posts in the internet. These codes are still under development and will be updated soon.

History

  • Beta 0.1 2004/03/17
  • Beta 0.2 2004/03/23
    • Enhanced MIME support by optimizing internal implementation.
    • Restructured some classes.
    • New authentication methods.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Hong Kong Hong Kong
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionError: value to small or large for Int32 Pin
Russell Mangel3-Dec-18 2:41
Russell Mangel3-Dec-18 2:41 
QuestionDateTime Parsing errors Pin
Russell Mangel3-Dec-18 2:18
Russell Mangel3-Dec-18 2:18 
Questionany updates? like yEnc for example? Pin
ringdrossel12-Sep-09 4:49
ringdrossel12-Sep-09 4:49 
QuestionDateTimeFormat errors (It doesn't like the DateTime Object) Pin
undeclared9-Jul-07 0:50
undeclared9-Jul-07 0:50 
AnswerRe: DateTimeFormat errors (It doesn't like the DateTime Object) Pin
undeclared9-Jul-07 1:36
undeclared9-Jul-07 1:36 
Generalmultiple part attatchements Pin
ThisBytes517-Mar-07 8:57
ThisBytes517-Mar-07 8:57 
QuestionPost message Pin
Brennon Williams3-Aug-06 15:59
Brennon Williams3-Aug-06 15:59 
AnswerRe: Post message Pin
eric.nadeau5-Jan-07 8:43
eric.nadeau5-Jan-07 8:43 
GeneralRe: Post message Pin
eric.nadeau9-Jan-07 3:44
eric.nadeau9-Jan-07 3:44 
GeneralRe: Post message [modified] Pin
eric.nadeau4-Apr-07 4:22
eric.nadeau4-Apr-07 4:22 
There hasn't been any news since I emailed my patch, so I'm attaching it here. It will allow you to post articles with attachments.

It's a diff patch, encoded in Base64. It can be decoded using this online tool: http://rumkin.com/tools/compression/base64.php[^]

Enjoy,
Eric / Formark

PS: The file was originally named 'HkcowNntpAttachments.patch', but it can be named anything really.

SW5kZXg6IEhrY293Tm50cC9ObnRwQ29ubmVjdGlvbi5jcw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIEhrY293
Tm50cC9ObnRwQ29ubmVjdGlvbi5jcwkocmV2aXNpb24gMjUpDQorKysgSGtjb3dObnRwL05udHBD
b25uZWN0aW9uLmNzCShyZXZpc2lvbiAzNikNCkBAIC01MzksMzUgKzUzOSwyMjIgQEANCiAJCQkJ
YXJ0aWNsZS5Cb2R5ID0gdGhpcy5HZXRNSU1FQm9keShtZXNzYWdlSWQsIHBhcnQpOw0KIAkJCXJl
dHVybiBhcnRpY2xlOw0KIAkJfQ0KKw0KKwkJLy8vIDxzdW1tYXJ5Pg0KKwkJLy8vIFBvc3RzIGFu
IDxzZWUgY3JlZj0iQXJ0aWNsZSIvPiB0byB0aGUgDQorCQkvLy8gY3VycmVudGx5IGNvbm5lY3Rl
ZCBuZXdzZ3JvdXAuDQorCQkvLy8gPC9zdW1tYXJ5Pg0KKwkJLy8vIA0KKwkJLy8vIDxwYXJhbSBu
YW1lPSJhcnRpY2xlIj4NCisJCS8vLyBUaGUgPHNlZSBjcmVmPSJBcnRpY2xlIi8+IHRvIHBvc3Qu
DQorCQkvLy8gPC9wYXJhbT4NCisJCS8vLyANCisJCS8vLyA8ZXhjZXB0aW9uIGNyZWY9Ik5udHBF
eGNlcHRpb24iPg0KKwkJLy8vIElmIHRoZXJlJ3MgYSBwcm9ibGVtIHBvc3RpbmcgdGhlIDxzZWUg
Y3JlZj0iQXJ0aWNsZSIvPiwgZm9yIGV4YW1wbGUNCisJCS8vLyBpZiBlc3NlbnRpYWwgaGVhZGVy
cyAoZnJvbSwgbmV3c2dyb3VwLCBzdWJqZWN0KSBhcmUgbWlzc2luZywgaWYgDQorCQkvLy8gd2Un
cmUgbm90IGN1cnJlbnRseSBjb25uZWN0ZWQgdG8gYSBuZXdzZ3JvdXAgb3IgaWYgd2UgZG9uJ3Qg
aGF2ZQ0KKwkJLy8vIHBlcm1pc3Npb25zIHRvIHBvc3QuDQorCQkvLy8gPC9leGNlcHRpb24+DQor
CQkvLyBUT0RPOiBDb25zaWRlciBwb3N0aW5nIHRleHQgZmlsZXMgYXMgaXMgcmF0aGVyIHRoYW4g
ZW5jb2RpbmcgaW4gYmFzZTY0DQogCQlbTWV0aG9kSW1wbChNZXRob2RJbXBsT3B0aW9ucy5TeW5j
aHJvbml6ZWQpXQ0KIAkJcHVibGljIHZvaWQgUG9zdEFydGljbGUoIEFydGljbGUgYXJ0aWNsZSAp
DQogCQl7DQotCQkJaWYgKCB0aGlzLmNvbm5lY3RlZFNlcnZlciA9PSBudWxsICkNCisJCQkjcmVn
aW9uIFN0YXRlIGd1YXJkcw0KKw0KKwkJCWlmIChudWxsID09IGNvbm5lY3RlZFNlcnZlcikNCisJ
CQl7DQogCQkJCXRocm93IG5ldyBObnRwRXhjZXB0aW9uKCJObyBjb25uZWN0aW5nIG5ld3NzZXJ2
ZXIuIik7DQotCQkJaWYgKCB0aGlzLmNvbm5lY3RlZEdyb3VwID09IG51bGwgKQ0KKwkJCX0NCisN
CisJCQlpZiAobnVsbCA9PSBjb25uZWN0ZWRHcm91cCkNCisJCQl7DQogCQkJCXRocm93IG5ldyBO
bnRwRXhjZXB0aW9uKCJObyBjb25uZWN0aW5nIG5ld3Nncm91cC4iKTsNCi0JCQlSZXNwb25zZSBy
ZXMgPSBNYWtlUmVxdWVzdCgiUE9TVCIpOyANCi0JCQlpZiAoIHJlcy5Db2RlICE9IDM0MCApDQor
CQkJfQ0KKw0KKwkJCSNlbmRyZWdpb24NCisNCisJCQlSZXNwb25zZSByZXMgPSBNYWtlUmVxdWVz
dCgiUE9TVCIpOw0KKwkJCWlmICgzNDAgIT0gcmVzLkNvZGUpDQorCQkJew0KIAkJCQl0aHJvdyBu
ZXcgTm50cEV4Y2VwdGlvbihyZXMuQ29kZSwgcmVzLlJlcXVlc3QpOw0KKwkJCX0NCisNCiAJCQlT
dHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsNCi0JCQlzYi5BcHBlbmQoIkZy
b206ICIpOw0KLQkJCXNiLkFwcGVuZChhcnRpY2xlLkhlYWRlci5Gcm9tKTsNCi0JCQlzYi5BcHBl
bmQoIlxyXG5OZXdzZ3JvdXA6ICIpOw0KLQkJCXNiLkFwcGVuZCh0aGlzLmNvbm5lY3RlZEdyb3Vw
KTsNCi0JCQlpZiAoIGFydGljbGUuSGVhZGVyLlJlZmVyZW5jZUlkcyAhPSBudWxsICYmIGFydGlj
bGUuSGVhZGVyLlJlZmVyZW5jZUlkcy5MZW5ndGggIT0gMCApDQorCQkJc3RyaW5nIGJyID0gIlxy
XG4iOw0KKwkJCXN0cmluZyBib3VuZGFyeSA9IA0KKwkJCQlzdHJpbmcuRm9ybWF0KA0KKwkgICAg
ICAgICAgICAgICAgIi0tLS0tLS0tLS0tLXswfSIsDQorCQkJCQlHdWlkLk5ld0d1aWQoKQ0KKwkJ
CQkJLy8gVE9ETzogVGhlIHdob2xlIGFydGljbGUgc2hvdWxkIGZpcnN0IGJlIHNjYW5uZWQgdG8g
ZW5zdXJlIHRoZSBib3VuZGFyeSBtYXJrZXIgaXMgdW5pcXVlDQorCQkJCSk7DQorCQkJCQ0KKwkJ
CXN0cmluZyBsYXN0Qm91bmRhcnkgPSBzdHJpbmcuRm9ybWF0KCJ7MH0tLSIsIGJvdW5kYXJ5KTsN
CisNCisJCQkjcmVnaW9uIEVzc2VudGlhbCBoZWFkZXJzIChmcm9tLCBuZXdzZ3JvdXAsIHN1Ympl
Y3QsIG1pbWUgdHlwZSkNCisNCisJCQlzYi5BcHBlbmRGb3JtYXQoDQorCQkJCUAiRnJvbTogezB9
DQorTmV3c2dyb3VwczogezF9DQorU3ViamVjdDogezJ9DQorTUlNRS1WZXJzaW9uOiAxLjANCitD
b250ZW50LVR5cGU6IG11bHRpcGFydC9taXhlZDsgDQorIGJvdW5kYXJ5PSIiezN9IiINCisiLA0K
KwkJCQlhcnRpY2xlLkhlYWRlci5Gcm9tLA0KKwkJCQljb25uZWN0ZWRHcm91cC5Hcm91cCwNCisJ
CQkJYXJ0aWNsZS5IZWFkZXIuU3ViamVjdCwNCisJCQkJYm91bmRhcnkNCisJCQkpOw0KKw0KKwkJ
CSNlbmRyZWdpb24NCisNCisJCQkjcmVnaW9uIEV4dHJhIGhlYWRlcnMNCisNCisJCQlpZiAoYXJ0
aWNsZS5IZWFkZXIuUmVmZXJlbmNlSWRzICE9IG51bGwgJiYgYXJ0aWNsZS5IZWFkZXIuUmVmZXJl
bmNlSWRzLkxlbmd0aCAhPSAwKQ0KIAkJCXsNCi0JCQkJc2IuQXBwZW5kKCJcclxuUmVmZXJlbmNl
OiAiKTsNCi0JCQkJc2IuQXBwZW5kKCBzdHJpbmcuSm9pbigiICIsIGFydGljbGUuSGVhZGVyLlJl
ZmVyZW5jZUlkcykgKTsNCisJCQkJc2IuQXBwZW5kRm9ybWF0KA0KKwkJCQkJIlJlZmVyZW5jZTog
ezB9ezF9IiwgDQorICAgICAgICAgICAgICAgICAgICBzdHJpbmcuSm9pbigiICIsIGFydGljbGUu
SGVhZGVyLlJlZmVyZW5jZUlkcyksDQorCQkJCQlicg0KKwkJCQkpOw0KIAkJCX0NCi0JCQlzYi5B
cHBlbmQoIlxyXG5TdWJqZWN0OiAiKTsNCi0JCQlzYi5BcHBlbmQoYXJ0aWNsZS5IZWFkZXIuU3Vi
amVjdCk7DQotCQkJc2IuQXBwZW5kKCJcclxuXHJcbiIpOw0KLQkJCXNiLkFwcGVuZChhcnRpY2xl
LkJvZHkuVGV4dC5SZXBsYWNlKCJcbi4iLCAiXG4uLiIpKTsNCi0JCQlzYi5BcHBlbmQoIlxyXG4u
XHJcbiIpOw0KLQkJCXJlcyA9IE1ha2VSZXF1ZXN0KHNiLlRvU3RyaW5nKCkpOw0KLQkJCWlmICgg
cmVzLkNvZGUgIT0gMjQwICkNCisNCisJCQkjZW5kcmVnaW9uDQorDQorCQkJI3JlZ2lvbiBCb2R5
DQorDQorCQkJc2IuQXBwZW5kKGJyKTsJLy8gd2UgbmVlZCBhIGJsYW5rIGJldHdlZW4gdGhlIGhl
YWRlciBhbmQgdGhlIGJvZHkNCisJCQlzYi5BcHBlbmRGb3JtYXQoDQorCQkJCUAiVGhpcyBpcyBh
IG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4NCistLXswfQ0KK0NvbnRlbnQtVHlw
ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xOyBmb3JtYXQ9Zmxvd2VkDQorQ29udGVu
dC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdA0KKw0KK3sxfQ0KKy0tezJ9DQorIiwNCisJCQkJYm91
bmRhcnksDQorCQkJCS8vIFRPRE86IE9ubHkgXlwuJCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgXlwu
XC4kLCBub3QgYWxsIF5cLg0KKwkJCQlhcnRpY2xlLkJvZHkuVGV4dC5SZXBsYWNlKCJcbi4iLCAi
XG4uLiIpLA0KKwkJCQkwID09IGFydGljbGUuQm9keS5BdHRhY2htZW50cy5MZW5ndGggPyBsYXN0
Qm91bmRhcnkgOiBib3VuZGFyeQ0KKwkJCSk7DQorDQorCQkJaW50IGNvdW50ID0gMDsNCisJCQlm
b3JlYWNoKCBBdHRhY2htZW50IGF0dGFjaG1lbnQgaW4gYXJ0aWNsZS5Cb2R5LkF0dGFjaG1lbnRz
ICkNCisJCQl7DQorCQkJCXNiLkFwcGVuZEZvcm1hdCgNCitAIkNvbnRlbnQtVHlwZTogezN9Ow0K
KyBuYW1lPSIiezB9IiINCitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBiYXNlNjQNCitDb250
ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyANCisgZmlsZW5hbWU9IiJ7MH0iIg0KKw0KK3sx
fQ0KKy0tezJ9DQorIiwNCisJCQkJCWF0dGFjaG1lbnQuRmlsZW5hbWUsDQorCQkJCQlFbmNvZGVJ
bkJhc2U2NChhdHRhY2htZW50LkJpbmFyeURhdGEpLA0KKwkJCQkJKytjb3VudCA9PSBhcnRpY2xl
LkJvZHkuQXR0YWNobWVudHMuTGVuZ3RoID8gbGFzdEJvdW5kYXJ5IDogYm91bmRhcnksDQorCQkJ
CQlHdWVzc01pbWVUeXBlKGF0dGFjaG1lbnQuRmlsZW5hbWUpDQorCQkJCSk7DQorCQkJfQ0KKw0K
KwkJCSNlbmRyZWdpb24NCisNCisJCQkjcmVnaW9uIEVuZCBvZiBtZXNzYWdlIG1hcmtlcg0KKw0K
KwkJCXNiLkFwcGVuZEZvcm1hdCgiLnswfSIsIGJyKTsNCisNCisJCQkjZW5kcmVnaW9uDQorDQor
CQkJc3RyaW5nIHJlcXVlc3QgPSBzYi5Ub1N0cmluZygpOw0KKw0KKwkJCXJlcyA9IE1ha2VSZXF1
ZXN0KHJlcXVlc3QpOw0KKwkJCWlmICgyNDAgIT0gcmVzLkNvZGUpDQorCQkJew0KIAkJCQl0aHJv
dyBuZXcgTm50cEV4Y2VwdGlvbihyZXMuQ29kZSwgcmVzLlJlcXVlc3QpOw0KKwkJCX0NCiAJCX0N
CisNCisJCS8vLyA8c3VtbWFyeT4NCisJCS8vLyBHdWVzc2VzIGEgbWltZSB0eXBlIGZvciBhIGZp
bGUsIGJhc2VkIG9uIGl0cyBmaWxlbmFtZS4NCisJCS8vLyA8L3N1bW1hcnk+DQorCQkvLy8gDQor
CQkvLy8gPHBhcmFtIG5hbWU9ImZpbGVuYW1lIj4NCisJCS8vLyBUaGUgbmFtZSBvZiB0aGUgZmls
ZSBmb3Igd2hpY2ggdG8gZ3Vlc3MgYSBtaW1lIHR5cGUuDQorCQkvLy8gPC9wYXJhbT4NCisJCS8v
LyANCisJCS8vLyA8cmV0dXJucz4NCisJCS8vLyBUaGUgbWltZSB0eXBlIHRoYXQgY291bGQgYmUg
Z3Vlc3NlZCBmcm9tIHRoZSBmaWxlbmFtZS4NCisJCS8vLyA8L3JldHVybnM+DQorCQkvLy8gDQor
CQkvLy8gPHJlbWFya3M+DQorCQkvLy8gVGhlIGZpbGVuYW1lIGV4dGVuc2lvbiBpcyBsb29rZWQg
dXAgaW4gYSB0YWJsZS4NCisJCS8vLyBUaGlzIGlzIGFuIHVucmVsaWFibGUgd2F5IHRvIGRldGVy
bWluZSBhIG1pbWUgdHlwZTsgDQorCQkvLy8gYWN0dWFsIGRhdGEgc2hvdWxkIGJlIGFuYWx5emVk
IGluc3RlYWQuDQorCQkvLy8gPC9yZW1hcmtzPg0KKwkJLy8gVE9ETzogSW1wbGVtZW50IG1pbWUg
dHlwZSBtYXBwaW5nIGluIGEgcmVsaWFibGUgd2F5DQorCQlwcml2YXRlIHN0cmluZyBHdWVzc01p
bWVUeXBlKHN0cmluZyBmaWxlbmFtZSkNCisJCXsNCisJCQlpZiggbnVsbCA9PSBmaWxlbmFtZSAp
DQorCQkJew0KKwkJCQlmaWxlbmFtZSA9IHN0cmluZy5FbXB0eTsNCisJCQl9DQorDQorCQkJc3Ry
aW5nIHJldHZhbCA9ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iOw0KKwkJCWludCBpID0gZmls
ZW5hbWUuTGFzdEluZGV4T2YoJy4nKTsNCisNCisJCQlpZiAoKGkgPj0gMCkgJiYgKGkgPCBmaWxl
bmFtZS5MZW5ndGggLSAxKSkNCisJCQl7DQorCQkJCXN0cmluZyBleHRlbnNpb24gPSBmaWxlbmFt
ZS5TdWJzdHJpbmcoMSArIGkpLlRvTG93ZXIoKTsNCisNCisJCQkJSGFzaHRhYmxlIHR5cGVzID0g
bmV3IEhhc2h0YWJsZSgpOwkvLyBVc2luZyBhIGRpY3Rpb25hcnkgaW5zdGVhZCBvZiBhIHN3aXRj
aCBzdGF0ZW1lbnQgbWFrZXMgaXQgZWFzeSB0byBleHRlcm5hbGl6ZSB0aGUgbWFwDQorCQkJCXR5
cGVzLkFkZCgiemlwIiwgImFwcGxpY2F0aW9uL3gtemlwLWNvbXByZXNzZWQiKTsNCisJCQkJdHlw
ZXMuQWRkKCJwYXRjaCIsICJ0ZXh0L3BsYWluIik7DQorCQkJCXR5cGVzLkFkZCgianBlZyIsICJp
bWFnZS9qcGVnIik7DQorCQkJCXR5cGVzLkFkZCgianBnIiwgImltYWdlL2pwZWciKTsNCisJCQkJ
dHlwZXMuQWRkKCJnaWYiLCAiaW1hZ2UvZ2lmIik7DQorCQkJCXR5cGVzLkFkZCgidHh0IiwgInRl
eHQvcGxhaW4iKTsNCisNCisJCQkJaWYgKHR5cGVzLkNvbnRhaW5zS2V5KGV4dGVuc2lvbikpDQor
CQkJCXsNCisJCQkJCXJldHZhbCA9IChzdHJpbmcpdHlwZXNbZXh0ZW5zaW9uXTsNCisJCQkJfQ0K
KwkJCX0NCisNCisJCQlyZXR1cm4gcmV0dmFsOw0KKwkJfQ0KKw0KKwkJLy8vIDxzdW1tYXJ5Pg0K
KwkJLy8vIEVuY29kZXMgYnl0ZXMgaW4gYmFzZTY0IGFuZCB3cmFwcyB0aGUgdGV4dCB0byB0aGUN
CisJCS8vLyA3Mm5kIGNvbHVtbiwgYXMgZG9uZSBieSBwb3B1bGFyIG1haWxpbmcgY2xpZW50cy4N
CisJCS8vLyA8L3N1bW1hcnk+DQorCQkvLy8gDQorCQkvLy8gPHBhcmFtIG5hbWU9ImRhdGEiPg0K
KwkJLy8vIFRoZSBieXRlcyB0byBlbmNvZGUgaW4gYmFzZTY0Lg0KKwkJLy8vIDwvcGFyYW0+DQor
CQkvLy8gDQorCQkvLy8gPHJldHVybnM+DQorCQkvLy8gVGhlIGlucHV0IGRhdGEgYXMgYSBiYXNl
NjQgc3RyaW5nLCB3cmFwcGVkIGF0IHRoZQ0KKwkJLy8vIDcybmQgY29sdW1uLg0KKwkJLy8vIDwv
cmV0dXJucz4NCisJCXByaXZhdGUgc3RyaW5nIEVuY29kZUluQmFzZTY0KGJ5dGVbXSBkYXRhKQ0K
KwkJew0KKwkJCXN0cmluZyBlID0gU3lzdGVtLkNvbnZlcnQuVG9CYXNlNjRTdHJpbmcoZGF0YSk7
DQorCQkJU3RyaW5nQnVpbGRlciBzYiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7DQorDQorCQkJd2hp
bGUgKDcyIDwgZS5MZW5ndGgpDQorCQkJew0KKwkJCQlzYi5BcHBlbmRMaW5lKCBlLlN1YnN0cmlu
ZygwLCA3MikgKTsNCisJCQkJZSA9IGUuU3Vic3RyaW5nKDcyKTsNCisJCQl9DQorDQorCQkJc2Iu
QXBwZW5kKGUpOw0KKw0KKwkJCXN0cmluZyByZXR2YWwgPSBzYi5Ub1N0cmluZygpOw0KKwkJCXJl
dHVybiByZXR2YWw7DQorCQl9DQorDQogCQlbTWV0aG9kSW1wbChNZXRob2RJbXBsT3B0aW9ucy5T
eW5jaHJvbml6ZWQpXQ0KIAkJcHVibGljIHZvaWQgRGlzY29ubmVjdCgpDQogCQl7DQo=





-- modified at 10:35 Wednesday 4th April, 2007
GeneralGood Job~ Pin
dvdv35iVE8-Jan-06 8:47
dvdv35iVE8-Jan-06 8:47 
QuestionArrange Headers ? Pin
nihonsx58-Dec-05 16:56
nihonsx58-Dec-05 16:56 
GeneralImage Attachments Pin
DidierSanDiego10-Aug-05 14:12
DidierSanDiego10-Aug-05 14:12 
GeneralRe: Image Attachments Pin
DidierSanDiego10-Aug-05 15:07
DidierSanDiego10-Aug-05 15:07 
QuestionConfused about onRequest Pin
MKlucher5-Aug-05 12:18
MKlucher5-Aug-05 12:18 
GeneralExcellent Job! just one comment :) Pin
Steven Burns28-Aug-04 8:58
Steven Burns28-Aug-04 8:58 
Generalgood job Pin
bouli11-May-04 4:23
bouli11-May-04 4:23 
GeneralRe: good job Pin
asabit26-Dec-04 4:23
asabit26-Dec-04 4:23 
GeneralSample Project Pin
mdande21-Apr-04 19:43
mdande21-Apr-04 19:43 
QuestionAm I missing Something? Pin
Russell Mangel27-Mar-04 1:34
Russell Mangel27-Mar-04 1:34 
AnswerRe: Am I missing Something? Pin
HKcow27-Mar-04 3:48
HKcow27-Mar-04 3:48 
AnswerRe: Am I missing Something? Pin
bouli11-May-04 4:02
bouli11-May-04 4:02 
GeneralWell Done Pin
JaseNet26-Mar-04 18:13
JaseNet26-Mar-04 18:13 
GeneralRe: Well Done Pin
JaseNet26-Mar-04 19:22
JaseNet26-Mar-04 19:22 
GeneralRe: Well Done Pin
HKcow26-Mar-04 20:07
HKcow26-Mar-04 20:07 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.