Archive
Redistributing a VB6 application the “Free way”
Workaround for Bitmap ColorDepth in C#
Image imgTIFF = Image.FromStream(s);
ImageCodecInfo ici = GetEncoderInfo("TIFF");
EncoderParameter ep =
new EncoderParameter(Encoder.ColorDepth,24L);EncoderParameters eps =
new EncoderParameters(1);eps.Param[0]= ep;
imgTIFF.Save(@"c:test.tiff",ici,eps);
Image imgBMP = Image.FromFile(@"c:test.tiff");
imgBMP.Save(@"c:test.bmp");
private
ImageCodecInfo GetEncoderInfo(string mimeType){
ImageCodecInfo[] encs = ImageCodecInfo.GetImageEncoders();
for (int ix = 0; ix <= encs.Length; ix++){
if ( encs[ix].CodecName.IndexOf(mimeType) != -1){
return encs[ix];}
}
return null;}
Converting a Bitmap to a pixel array
{
public byte red;
public byte green;
public byte blue;
}
then I read it using some Unsafe code thus:
public pixel[,] BitmapToArray(Bitmap b)
{
pixel[,] bmpData=new pixel[b.Width,b.Height];
// GDI+ still lies to us – the return format is BGR, NOT RGB.
BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
int nOffset = stride – b.Width*3;
int nWidth = b.Width * 3;
for(int y=0;y<b.Height;++y)
{
for(int x=0; x < nWidth; ++x )
{
switch(x%3)
{
case 0:
bmpData[x/3,y] =
new pixel();
bmpData[x/3,y].blue = (
byte)(p[0]);
break;
case 1:
bmpData[x/3,y].green = (
byte)(p[0]);
break;
case 2:
bmpData[x/3,y].red = (byte)(p[0]);
break;
}
++p;
}
p += nOffset;
}
}
b.UnlockBits(bmData);
return bmpData;
}
Converting a DataTable to CSV
{
string strCSV = "";
string strSeperator = "";
foreach(DataColumn dc in dt.Columns)
{
strCSV += strSeperator + dc.ColumnName;
strSeperator = ",";
}
strCSV += "rn";
foreach(DataRow dr in dt.Rows)
{
strSeperator = "";
foreach(DataColumn dc in dt.Columns)
{
strCSV += strSeperator + dr[dc.ColumnName].ToString();
strSeperator = ",";
}
strCSV += "rn";
}
return strCSV;
}
SQL sever 2005 Management studio express
Error Number: -1
Severity: 20
State: 0
Program Location:
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci, IServerType server)
at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
Resource files for Classic ASP
<data name="Hello!">
Ciao!
</data>
</root>
Set xmlResx=Server.CreateObject("Microsoft.XMLDOM")
xmlResx.async=false
xmlResx.load(Server.MapPath(ResourceFile))
End Function
Function Translate(english)
Set objLst = xmlResx.getElementsByTagName("data")
For i = 0 to (objLst.length -1)
EnglishText = objLst.item(i).attributes.getNamedItem("name").text
If english=EnglishText Then
Translate= objLst.item(i).text
Exit For
End If
Next
End Function