New TSMImportFromSkype component added in SMImport suite
The log files (.dbb) processed.
PS: not all tag/record processed but most popular are there
New TSMImportFromSkype component added in SMImport suite
The log files (.dbb) processed.
PS: not all tag/record processed but most popular are there
Microsoft раздает нахаляву всем студентам-аспирантам свои девелоперские тулзы:
http://blogs.gotdotnet.ru/personal/kichik/PermaLink.aspx?guid=18aa5b84-09c2-48e8-aec7-8ea75f72148f
http://dreamspark.ru
В настоящее время по программе DreamSpark доступны следующие инструменты:
function IsThirdPartyWorld(const Country: string): Boolean;
begin
if (Country = ‘USA’) or
(Country = ‘AU’) or
(Country = ‘AT’) or
(Country = ‘BE’) or
(Country = ‘CA’) or
(Country = ‘DK’) or
(Country = ‘FI’) or
(Country = ‘FR’) or
(Country = ‘DE’) or
(Country = ‘IS’) or
(Country = ‘IE’) or
(Country = ‘IT’) or
(Country = ‘JP’) or
(Country = ‘NL’) or
(Country = ‘NZ’) or
(Country = ‘NO’) or
(Country = ‘PT’) or
(Country = ‘ES’) or
(Country = ‘SE’) or
(Country = ‘CH’) or
(Country = ‘US’) or
(Country = ‘UK’) then
Result := False
else
Result := True;
end;
Thanks to Igor Martinez
Now we have the translated strings for Spanish language for Viewer for MS Outlook Messages and Viewer for TNEF-files (winmail.dat)
Сегодня ShareIt в очереной раз обновил свою контрольную панель. Из того положительного, что видно сразу же – в списке неоплаченных заказаов видна причина.
Например, для WireTransfer – “Payment request sent to customer”. А вот для одного поляка сейчас светится “Payment not possible”. Наверное его банк отклонил транзакцию по карте
Today I modified the parser for .eml-messages (TSMEMLFile component) and now .mht-files (MHTML Documents) parsed correctly too.
So I created the new TSMMHTFile component in SMMsg suite and updated our viewer for emails
String s = Directory.GetCurrentDirectory()
For Compact .NET:
String s = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
//Import cellcore.dll
[DllImport("cellcore.dll")]
internal static extern int lineGetGeneralInfo(IntPtr hLine, byte[] bCache);
// code to get IMEI
private void getIMEIInfo()
{
string IMEI;
Tapi t = new Tapi();
t.Initialize();
Line _line = t.CreateLine(0, LINEMEDIAMODE.INTERACTIVEVOICE, LINECALLPRIVILEGE.MONITOR);
byte[] buffer = new byte[512];
//write size
BitConverter.GetBytes(512).CopyTo(buffer, 0);
if (lineGetGeneralInfo(_line.hLine, buffer) != 0)
{
throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error(), "TAPI Error: " + System.Runtime.InteropServices.Marshal.GetLastWin32Error().ToString("X"));
}
int serialsize = BitConverter.ToInt32(buffer, 36);
int serialoffset = BitConverter.ToInt32(buffer, 40);
IMEI = System.Text.Encoding.Unicode.GetString(buffer, serialoffset, serialsize);
IMEI = IMEI.Substring(0, IMEI.IndexOf(Convert.ToChar(0)));
AppSettings.SetIMEI(IMEI);
_line.Dispose();
t.Shutdown();
}
To get the TAPILib: http://www.alexfeinman.com/download.asp?doc=tapi1.1.zip
In previous versions for our SMMsg and MsgView I used the MAPI32.dll to decompress the RTF BODY (PR_RTF_COMPRESSED tag). But this library installed only if MS Outlook installed on computer and defined as default mailer in MS Windows.
As you understand, if customer have the installed MS Outlook, then he/she do not need our MsgView:-)
So in my TODO list I had the important task- to implement the native decoding/decompressing for such PR_RTF_COMPRESSED tags.
Today I implemented this task!
Shortly: the body compressed by LZFU algoritm which described at
http://www.freeutils.net/source/jtnef/rtfcompressed.jsp
But for .msg-files you do not need add any ‘}}’ in end of decoded string because value stored with these ending characters. maybe for TNEF-streams we need add these chars (I didn’t test now)
Cool online service to generate the animated progress bar for long processes. Something like “please wait…”: