|
Sounds cool, Amit.
Isn't this similar to CDO though?
Cheers,
Simon
"VB.NET ... the STD of choice", me, internal company memo
|
|
|
|
|
Not really. CDO is more for MS Outlook. The cool thing about this is I'm using undocumented some COM API. I have tried out my code and it seems to work for OE 5.0,OE5.5 and 6.0 with some modifications.
'My capacity for happiness', he added, 'you could fit into a matchbox without taking out the matches first'.
- Marvin, the robot.
Amit Dey
sonork: 100:18407
msn: visualcdev
|
|
|
|
|
Sounds cool. You should include a way to send a complete message or just open a message with some of the fields already filled out (i.e. Subject, TO, etc).
If you have a problem with my spelling, just remember that's not my fault. I [as well as everyone
else who learned to spell after 1976] blame it on
Robert A. Kolpek for U.S. Patent 4,136,395.
|
|
|
|
|
I haven't gotten to writing a complete new message but OE message and folder enumeration and extraction seems to work great. Eventually it will support message creation at a very low level and dynamic message manipulation(like adding signatures to all mails).
'My capacity for happiness', he added, 'you could fit into a matchbox without taking out the matches first'.
- Marvin, the robot.
Amit Dey
sonork: 100:18407
msn: visualcdev
|
|
|
|
|
Sure I'm interested. I also found something to make plug-ins for OE... I wonder if we have the same source though...
Would we be able to catch some events?
Let me know!
Luc
---------------
Tired of Spam? Introducing InboxShield® for Microsoft® Outlook®
http://www.edovia.com
|
|
|
|
|
Plugins for OE? like toolbars,bands,menuitems etc? now that's interesting. The thing with me is that all my code is totally non-visual and will have no support for any user interface items(with OE I guess we still need to hack with hooks,FindWindow() or something). I'm trying so that all of the messageboxes(like make OE default client) are also suppressed and this seems to work well.
So maybe if we could put the user interface elements together with my COM object for all folder and store info for something new that also offers toolbars and menubars.
'My capacity for happiness', he added, 'you could fit into a matchbox without taking out the matches first'.
- Marvin, the robot.
Amit Dey
sonork: 100:18407
msn: visualcdev
|
|
|
|
|
I haven't got time to read and understand the code I found but all I know is that it's a big hack and that it does not work very well.
I'm interested in making my product available for OE but I don't count on it to be as performant as in Outlook...
I'll let you know when I find my source back ( I lost it!!! )
Luc
---------------
Tired of Spam? Introducing InboxShield® for Microsoft® Outlook®
http://www.edovia.com
|
|
|
|
|
Hi Luc,
Naw! I'm not doing any major hacking. Just using a few undocumented MS interfaces regarding Outlook Express.
If you think the effort will be worthwhile, maybe we can talk more about the tech side of things?
'My capacity for happiness', he added, 'you could fit into a matchbox without taking out the matches first'.
- Marvin, the robot.
Amit Dey
sonork: 100:18407
msn: visualcdev
|
|
|
|
|
Wonderful! Keep working!!!
-BHKien
|
|
|
|
|
An article about that messy bug with the .NET Form designer, deleting either code or even controls from the code without notice.
From my experiments, it's due to a tiny namespace resolution bug. This makes the form designer believe a given control or methods are not used anymore.
A nice tutorial to avoid this bug would be welcome.
And of course, if Everett does not fix this bug, would be welcome twice!
How low can you go ? (MS rant)
|
|
|
|
|
I think Microsoft fixed this bug. You can get the patch from the URL below.
http://msdn.microsoft.com/vstudio/downloads/updates/datalossifx.asp
|
|
|
|
|
Actually, on closer inspection, I see that this only applies to Webforms, so if the bug you're talking about isn't in the Webforms designer, then never mind, and a workaround would definitely be appreciated.
|
|
|
|
|
I am going to check this out.
How low can you go ? (MS rant)
|
|
|
|
|
Ability to Debug a .NET RCW : this would end the DllImport type mapping knightmare. Nuff said, everybody who has been there already knows what I am talking about...
How low can you go ? (MS rant)
|
|
|
|
|
Would be nice as an extension since the VS.NET IDE is more programmable, and as one can hardly say attributes are intuitive to use.
How low can you go ? (MS rant)
|
|
|
|
|
I am currently working on a papaer which takes self-contained applications and identifying directions and issues with deploying externalized DLL's, creating reference, and distributing component code. Is this an article that would could be published here? I did not see one written on this subject.
---------------------------------------------
Once I thought I was wrong but I was happy to discover that was a mistake.
Condor
|
|
|
|
|
theRealCondor wrote:
Is this an article that would could be published here?
I for one would be very interested to read it
Dylan Kenneally
London, UK
|
|
|
|
|
Yes Sir! It is my intent to publish it here. I posted this to see if this was the type of topic that the site would publish. After writing all of it up (it is done and in draft form...soon to go through an editting) I will submit it for publication here.
_____________________________________________
I have a tendancy to where my mind on my sleeve I have a habit of losing my shirt...
|
|
|
|
|
Does it use COM?
'My capacity for happiness', he added, 'you could fit into a matchbox without taking out the matches first'.
- Marvin, the robot.
Amit Dey
sonork: 100:18407
msn: visualcdev
|
|
|
|
|
Amit Dey wrote:
Does it use COM?
OUCH! That is one area that I have had trouble getting good answers (or any answer for that matter). When you get into .NET DLL's managed on an MTS box, is it a COM object to a .NET consumer??? I hope to put together the resources to begin evaluating and test this whole thing. Maybe for article II -- .NET objects in COM
_____________________________________________
I have a tendancy to where my mind on my sleeve I have a habit of losing my shirt...
|
|
|
|
|
How I create ram file ( to hear music by winamp ) ?
|
|
|
|
|
A .ram file is a RealVideo file. Download the RealProducer encoding tool from RealNetworks. From what I remember, the basic encoder is free.
How low can you go ? (MS rant)
|
|
|
|
|
Almost forgot, but that was obvious in my mind, you just need to download the Real Encoder SDK to get samples to do just that.
How low can you go ? (MS rant)
|
|
|
|
|
Hi everyone,
My name is Sidney and I need some advise regarding a search and retrieve problem. I am currenly studying and still learning C++. My problem is this, I am doing a search on a large flat file, this flat file is like my database with the following format
(Note this is a Fixed Length Flat File)
OriginalText L35
Punctuated L35
Code L5
===================
Total Length 75 (Each Record)
This is what my flat file looks like:
A A.
A A. 0
AB A.B. 0
AB AB 1
ACAD Acad. 4
ACR Acr. 4
ADJ Adj. 0
ADM Adm. 0
AGCY Agcy. 4
AK AK 1
AL AL 1
ALC Alc. 0
ALD Ald. 0
ALTA AB 1
AM A.M. 0
AMB Amb. 0
AND And
ANX Anx. 4
APT Apt. 4
APTS Apts. 4
AR AR 1
ARC Arc. 4
ARPT Arpt. 4
ASSISTANT Assistant 5
The main function of my program is to accept a parameter(text) search it in the the flat file (OriginalText Field in particular) if its found I will return the Punctuated Text on the calling program.
If i where to ask you what will you recommend to be the fastest way to make my search and return the value in the calling program? Here's my current program's code... and it runs very slow that's why i am seeking some advise from a guru like you to make my program run faster. This code is messy i'm telling you
int pos,Length;
FILE *stream;
//FILE *pFile;
int LastPos,ssfpos,sslpos,i,wordnum,storageIndx,sympos,TempOutPos;
unsigned int nbytes = 999999;
char p;
char *tblCode;
char tblCodeChar[] = "XX";
char test1[2];
char FoundGlobal;
int result,len;
//pFile = fopen ("Output.txt","at");
if( (stream = fopen( "prspunct32.ctb", "r" )) == NULL ){ /*Open my Flat File for input
strcpy(lpAlpha2, "The file 'data' was not opened\n" );
return(TRUE);
}
else{
fread( buffer, sizeof( char ), 999999 , stream );
}
if((int)*lpNumeric == 0 || (int)*lpNumeric == 1 || (int)*lpNumeric == 4){ /* Get the Text to be search
tblCode = _itoa((int)*lpNumeric,tblCodeChar,10);
}
Length = (int)*(lpNumeric+1);
_itoa((int)Length,test1,10);
memcpy(Storage1,lpAlpha1,Length);
Storage1[Length] = ' ';
Storage1[Length+1] = '\0';
string OutStr;
string TempOut;
string GlobalFoundStr;
string str1 = buffer;
string ss;
string sstblCode;
string firstchar;
string ssTempStr;
vector<string> storage;
string str2 = Storage1;
sslpos = 0;
wordnum = 0;
while(true){
ssfpos = str2.find(" ",sslpos);
if (ssfpos < 0){
break;
}
ss = str2.substr(sslpos,ssfpos - sslpos);
storage.push_back(ss);
sslpos = ssfpos + 1;
wordnum = wordnum + 1;
while(true){
ssTempStr = str2.substr(sslpos,1);
if (ssTempStr == " "){
sslpos = sslpos + 1;
}
else{
break;
}
}
}
//sort(storage.begin(),storage.end()); //For Sorting
//string::size_type len;
storageIndx = 0;
while (true){
if (storageIndx == wordnum){
break;
}
ss = storage[storageIndx];
sympos = ss.find_first_of(".");
if (sympos >= 0){
ss[sympos] = ' ';
}
storageIndx = storageIndx + 1;
len = ss.length();
LastPos = 0;
while (true){
pos = str1.find (ss,LastPos);
if (pos >= 0){
if (pos == 0){
string lastchar = str1.substr(pos + len,1);
if (lastchar == " "){
//string found = str1.substr(pos,35);
//std::cout << found << "\n";
TempOut = str1.substr(pos + 36,35);
TempOutPos = TempOut.find(" ",0);
TempOut = TempOut.substr(0,TempOutPos);
OutStr = OutStr + TempOut + " ";
LastPos = pos + 1;
break;
}
}
else{
firstchar = str1.substr(pos - 1,1);
}
if (firstchar != "\n"){ //Miss Match
//cout << "hindi ito" << "\n";
LastPos = pos + 1;
}
else{
string lastchar = str1.substr(pos + len,1);
if (lastchar == " "){
//if ((isspace(tblCodeChar[0])) == 0){
if (tblCodeChar[0] != 'X'){ //Table Codes with Value
sstblCode = str1.substr(pos + 75,1);
if (sstblCode == tblCodeChar){
//string found = str1.substr(pos,35);
//std::cout << found << "\n";
TempOut = str1.substr(pos + 36,35);
TempOutPos = TempOut.find(" ",0);
TempOut = TempOut.substr(0,TempOutPos);
OutStr = OutStr + TempOut + " ";
LastPos = pos + 1;
FoundGlobal = 'N';
break;
}
else{ // tble Codes does not Match data
FoundGlobal = 'Y';
GlobalFoundStr = str1.substr(pos + 36,35);
TempOutPos = GlobalFoundStr.find(" ",0);
GlobalFoundStr = GlobalFoundStr.substr(0,TempOutPos);
LastPos = pos + 1;
}
}
else{
if (tblCodeChar[0] == 'X'){ //Table Coodes for Global (space)
sstblCode = str1.substr(pos + 75,1);
if (sstblCode == " "){
//string found = str1.substr(pos,35);
//std::cout << found << "\n";
TempOut = str1.substr(pos + 36,35);
TempOutPos = TempOut.find(" ",0);
TempOut = TempOut.substr(0,TempOutPos);
OutStr = OutStr + TempOut + " ";
LastPos = pos + 1;
break;
}
else{ // tble Codes does not Match data
LastPos = pos + 1;
}
}
}
}
else{ //Miss Match
//cout << "hindi ito" << "\n";
LastPos = pos + 1;
}
}
}
else{ //Not Found
//cout << "WALA" << endl;
if (FoundGlobal == 'Y'){
OutStr = OutStr + GlobalFoundStr + " ";
FoundGlobal = 'N';
}
else{
for(i=0;i<len;i++){
if(i!="0){
" p="ss[i];
" result="isalpha(p);
" if="" (result=""> 0){
ss[i] = (char)tolower(p);
}
}
}
OutStr = OutStr + ss + " ";
}
break;
}
}
}
len = OutStr.length();
lpNumeric[1] = char(len);
OutStr.copy(lpAlpha2,len);
fclose(stream);
//fclose(pFile);
return(TRUE);
Thanks/Regards
Sidney
|
|
|
|
|
Oppss sorry about the Format of my data.. it did not came out right, here's the correct format of my flat file:
A A.
A A. 0
AB A.B. 0
AB AB 1
ACAD Acad. 4
ACR Acr. 4
ADJ Adj. 0
ADM Adm. 0
AGCY Agcy. 4
AK AK 1
AL AL 1
ALC Alc. 0
ALD Ald. 0
ALTA AB 1
AM A.M. 0
AMB Amb. 0
AND And
ANX Anx. 4
APT Apt. 4
APTS Apts. 4
AR AR 1
ARC Arc. 4
ARPT Arpt. 4
ASSISTANT Assistant 5
Thanks/Regards
Sidney
|
|
|
|
|