|
You're looking for open source so you can just rip off the code? Perhaps you should try learning the POP3 specification. Here's the RFC (RFC 1939): ftp://ftp.rfc-editor.org/in-notes/rfc1939.txt[^].
As far as encoding, you can really use about any you want but UUEncode and Base64 are most common (Base64 is most common between those two these days). Support is already provided in .NET 1.x using the Convert.ToBase64String , Convert.FromBase64String (and related - used for small blocks of text or binary data), ToBase64Transform and FromBase64Transform (for small and larger blocks of text or binary data).
If you don't need the code, then there are countless POP3 clients available. You can find both them and code by doing a google search[^].
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi guys,
I guess it's a pretty easy question for you. How do you check if a Windows Form (object) is already loaded in C#?
Thanks!
|
|
|
|
|
What exactly doyou mean?
If you want to know it from within the form - just use OnLoad event. Thing goes worse if you want from out of the form. Maybe you should look for some threading topics? (ie. static semaphores set from OnLoad)
h.
|
|
|
|
|
What do you mean? Are you talking about an MDI Child form?
In any case, your code should be written to track this information as it happens. Your code is the only thing that is going to load and instantiate the form so tracking this is pretty easy...
RageInTheMachine9532
|
|
|
|
|
Yes, I mean the MDI child form, because it can be loaded multiple times. We just want to have one form at a time.
|
|
|
|
|
Great! When your app creates the child form, just set a global flag that says the form has been created. When you go to create the child form, just check the flag first. Done!
RageInTheMachine9532
|
|
|
|
|
Can I do this:
private someForm form;<br />
<br />
if (form == null)<br />
form = new someForm();
Also, is form = null when disposed? How do I know if a form is disposed?
Thank!
|
|
|
|
|
Actually you do both, call the Dispose() method and set the variable to null. Dispose will tell the instance to release the resources it holds while setting the variable to null will release the reference to that instance.
Calling Dispose will release the resources when YOU want it to and not when the garbage collector gets around to calling Dispose for you. When you set your variable to null, the reference to that instance is dropped and, since you already called Dispose, the garbage collector only has to free the memory that the instance occupied. When you do both Dispose and null, you release resources and memory much quicker than if you waited for the GC to get around to it.
RageInTheMachine9532
|
|
|
|
|
I have been experimenting with Web Service Extentions WSE 1.0 (v1.0.2312) and initially fine until I tried to send an attachment back to the client. From the messages it appears the responce SOAP message and attachment are being correctly generated but I am missing something in being able to recive the response. The error message is:
Client found response content type of 'application/dime', but expected 'text/xml'.
I see not place to change the content type of either what the server is sending back (well yes but see below) nor what is valid for the receive.
Some notes the Service now has the Microsoft Web services
using Microsoft.Web.Services;
using Microsoft.Web.Services.Dime;
The web.config has the extentions defined
<system.web>
<webservices>
<soapextensiontypes>
<add type="Microsoft.Web.Services.WebServicesExtension, Microsoft.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0">
.....
The stub code in the client does not have the Microsoft.Web.Service defined
The clint code does have the Microsoft.Web.Service defined.
When I look at the WSDL I see nothing that would indicate the client should expect one content type over another. I actually expected this but then I should be able to accept (or limit) valid types in some definition on the client.
I do not see where to set what the response type should be. I can set it on the server but when I add the attachment it corrects that, which I think it should be doing but would like to override it (I am sure I would have a reson some time.)
I do think that I should be able to specify on the client what is correct.
Any helpful hints?
I do not mind getting old. It beats all the other options that can think of.
|
|
|
|
|
Ok, Found what I was skipping.
In the proxy class / what I called the stub above it does need the Microsoft.Web.Service defined and
the base class must be changed from:
public class WSE1 : System.Web.Services.Protocols.SoapHttpClientProtocol
to:
public class WSE1 : Microsoft.Web.Services.WebServicesClientProtocol
both of these are manual edits and I expect will be destroyed if you reimport the WSDL.
Life is agian good.
I do not mind getting old. It beats all the other options that can think of.
|
|
|
|
|
Can ianybody tell me how i use tapi v3.0,for communicating b/w 2 computers connected to LAN via networks cards.because the samples i saw requires modem,but can 2 computers communicate using tapi and have only network cards.please give me some application for this.
mughalali
|
|
|
|
|
What do you mean by "communicate"? What do you want to send between the machines?
RageInTheMachine9532
|
|
|
|
|
simple data,i want client-server prog, exchange data with the help of TAPI technology.i also donot know much about tapi and its capabilities.please give some sample code which exchange data b/w 2 computers using TAPI
mughalali
|
|
|
|
|
I doesn't sound like you know what TAPI is. TAPI is for Telephony. This means Internet phone calls, multicast streaming audio/video, Interactive voice response systems, ... It's not used for transferring general data between a client and server. You still haven't said what kind of data your trying to transfer...
RageInTheMachine9532
|
|
|
|
|
Actually i want to transfer images from client to server,till now i used TCPListener and TCPClient classes in C#.means i use simple socket programming,but i read some where that tapi uses H.323 protocol which is faster for transfering video/audio streams. My question is that can H.323 protocol be used for transferring images from client to server.give me any sort of help
mughalali
|
|
|
|
|
H323 is used for audio/video calls, like a video telephone. Each endpoint is a client AND server, both sending and receiving audio/video.
I've asked you this before, but you have yet to give a straight answer...What are you doing? Are you looking to RECORD audio/video to a file on a server...??? Or what?
RageInTheMachine9532
|
|
|
|
|
I am doing Final year project on Remote Desktop Sharing, For this i transfer images from client to server.Till now it is successful but very slow because images are transfered via sockets(TCPListener and TCPClient classes).I donnot want to transfer any kind of audio or video but i want fast transfer of images from client to server and i have read that TAPI v3.0 uses H.323 protocol which is very fast for transfering audio/video streams, can images be transfered(JPEG IMAGES)using H.323 protocol, or if there any other way of transfering images from client to server in quick time,then tell me.please help me in any way.
mughalali
|
|
|
|
|
How close are you to finishing your year? Your going to have to rewrite both your client and server to accomodate the H.323. TAPI is used for video conferencing also, so yes, you could use it for your application, but it should have been chosen up front during the design process. Now you have a rather large rewrite on your hands...
RageInTheMachine9532
|
|
|
|
|
my 2cts opinion :
The "word" you said is C#. To communicate it has to marshal with the non managed DLLs and APIs and so on. It's simply slowest than in stright C. Don't touch to H323, codecs etc. for an exact(loseless) data transfer. Rewrite your application in stright C. After all, the Citrix and TerminalServers and Vnc's and etc. are running perfect via the sockets.
|
|
|
|
|
Looking for code to pass information from Form2.textbox1 back to Form1.label1
Process - Press Form1.button1 to show Form2,
Enter information into Form2.textbox1,
Press Form2.button1 to display information from Form2.textbox1 to Form1.label1.
Thnaks in Advance!
Form1 consists of <startup form="">
Label1
Button1
For2 consist of
textbox1
Button1
|
|
|
|
|
Pass an instance of Form1 to constructor of Form2 when instanciating, something like this:
Form2 frm2 = new Form2(this);
Then in Form2 , you have access to all public and internal variables of Form1 , so you can define a property of your Lable1 in Form1:
public string MyLable{
get{
return this.Lable1.Text;
}
set{
}
this.Lable1.Text = value;
}
and in Form2 , when the user clicks on Button1 , do this:
frm1.MyLable = TextBox1.Text;
frm1 is a variable of type Form1 that holds a refrence to Form1 which has been passed to constructor of Form2.
abcdabcdabcdabcda
Don't forget, that's Persian Gulf not Arabian gulf!
Why do we close our eyes, when we dream?, When we cry?, When we imagine?, When we kiss?, Its because the most beautiful things in the world are unseen
Murphy: Click Here![^] I'm thirsty like sun, more landless than wind...
|
|
|
|
|
Google on "Mediator pattern" and "MVC" (or "Model-View-Controller"). If you learn how to use these patterns, you'll never get stuck like this again; your code won't need tricks like passing a form to another form. I recommend "Design Patterns" by the Gang of Four.
I'm not saying maysam's advice is bad, but as you construct more and more complicated GUIs, you'll find that it's harder and harder to deal with the complexity you create by hard-wiring things together. Design patterns are over-applied and otherwise screwed up by morons who haven't taken the time to really learn how to use them, which has given them a bad rap. In my experience, though, Mediator and MVC are the most important things to know when programming client-side rich GUI applications. Everything else is a little bit of learning involving threads that's easy to accomplish, and rote memorization of properties of controls and the like.
|
|
|
|
|
Im creating a desktop ticker in C# that I wont to be displayed running along active applications, on the right hand side of the screen.
My question is that when I launch my ticker, how do i adjust currently running apps (e.g. IE/Notepad ..etc) so that they maximize around my ticker, so that my ticker occupies the left part of the screen.. Thx
|
|
|
|
|
I am creating a base form that has a private datagrid that is bound to a dataset. This datagrid uses the paint event as well. I have another form that is inheriting this base form (both forms are in the same project folder). Everything runs perfectly. But, when I bring up the child form in design view, I get the message "DataGrid received an exception at design time. Please reset the DataSource and DataMember property on the grid". Has anyone encountered this message? Also, does anyone know a good reference for design time exceptions? Thanks.
|
|
|
|
|
I've managed to redraw the layout of a form to the desired effect (by rebuilding the region) but so far have been unable to figure out how to add a border around it. Is there an easy way? Would anyone have any brief examples?
Cheers.
|
|
|
|