meine Sys/Db admin & Developper Notitzen - wer Rechtschreibfehler findet darf sie behalten ... my Sys/Db Admin and developper notes - I don't care about typos
Thursday, February 11, 2010
.Net Resourcen
einfach in ein resx file bilder usw hinzufügen (drag & drop aus dem Explorer) es wird dann in ein resource file compeliert und zum assembly dazugelinkt
Tuesday, February 09, 2010
Activity Monitor Sql 2008
Der Activity Monitor ist beim Sql 2008 durch rechtsclick auf den Server im Management Studio zu erreichen, und nciht mehr wie bei SQL2005 unter Management
.Net Color zu Crystal Reports Farbe konvertieren
.Net speichert die Farbe Color als 4Bytes: ARGB
A ... Alpha Channel (durchsichtigkeit)
R Rot
G Grün
B Blau
Crystal Report erwartet die Farben in BGR (Blau Grün Rot).
Daher muss man den Alpha Teil wegschneiden und R sowie B vertauschen - z.b. in TSQL Scalar Value Funtion:
-- Create date: 09.09.2010
-- Description: Wandelt ARGB (Alpha Channel rgb von .Net Color.ToARGB() hat 4 Byte für RGBA, wobei Rot= 00ffff Grün=ff00ff und blau=ffff00 ist ) in RGB um
-- =============================================
ALTER FUNCTION [dbo].[fnArgb2Bgr]
(
@ARGB as int
)
RETURNS int
AS
BEGIN
DECLARE @BGR as int
DECLARE @R as int = (@ARGB & 0x00FF0000)/0x10000
DECLARE @G as int = (@ARGB & 0x0000FF00) /0x100
DECLARE @B as int = (@ARGB & 0x000000FF)
SET @BGR=@B*0x10000+@G*0x100+@R
--SET @RGB=(((-@ARGB) & 0x00FFffFF) ^ 0xFFffFF)
--SET @RGB=(((-@ARGB) / 256) ^ 16777215) -- shift um 8 bits => schneide niedrigstes byte (alpha channel) weg, dann invertieren der verbleibenden unteren 3 bytes [RGB] (16777215= 0xffFFff)
RETURN @BGR
END
A ... Alpha Channel (durchsichtigkeit)
R Rot
G Grün
B Blau
Crystal Report erwartet die Farben in BGR (Blau Grün Rot).
Daher muss man den Alpha Teil wegschneiden und R sowie B vertauschen - z.b. in TSQL Scalar Value Funtion:
-- Create date: 09.09.2010
-- Description: Wandelt ARGB (Alpha Channel rgb von .Net Color.ToARGB() hat 4 Byte für RGBA, wobei Rot= 00ffff Grün=ff00ff und blau=ffff00 ist ) in RGB um
-- =============================================
ALTER FUNCTION [dbo].[fnArgb2Bgr]
(
@ARGB as int
)
RETURNS int
AS
BEGIN
DECLARE @BGR as int
DECLARE @R as int = (@ARGB & 0x00FF0000)/0x10000
DECLARE @G as int = (@ARGB & 0x0000FF00) /0x100
DECLARE @B as int = (@ARGB & 0x000000FF)
SET @BGR=@B*0x10000+@G*0x100+@R
--SET @RGB=(((-@ARGB) & 0x00FFffFF) ^ 0xFFffFF)
--SET @RGB=(((-@ARGB) / 256) ^ 16777215) -- shift um 8 bits => schneide niedrigstes byte (alpha channel) weg, dann invertieren der verbleibenden unteren 3 bytes [RGB] (16777215= 0xffFFff)
RETURN @BGR
END
Tuesday, February 02, 2010
Auslesen von Resourcen
1) Assmembly öffnen
2) aus dem Manifest enthaltenen Resourcen auslesen
3) für alle Resourcen des Assemblies mittels ResourceReader die einzelnen Resourceinträge lesen
Assembly a=Assembly.LoadFrom(@"E:\Anwendung.resources.dll");
foreach (string resourceName in a.GetManifestResourceNames())
{
// Opens a resource reader and gets an enumerator from it.
IResourceReader reader = new ResourceReader(a.GetManifestResourceStream(resourceName));
IDictionaryEnumerator en = reader.GetEnumerator();
while (en.MoveNext())
{
Console.WriteLine();
Console.WriteLine("Name: {0}", );
Console.WriteLine("Value: {0}", en.Value);
}
reader.Close();
}
2) aus dem Manifest enthaltenen Resourcen auslesen
3) für alle Resourcen des Assemblies mittels ResourceReader die einzelnen Resourceinträge lesen
Assembly a=Assembly.LoadFrom(@"E:\Anwendung.resources.dll");
foreach (string resourceName in a.GetManifestResourceNames())
{
// Opens a resource reader and gets an enumerator from it.
IResourceReader reader = new ResourceReader(a.GetManifestResourceStream(resourceName));
IDictionaryEnumerator en = reader.GetEnumerator();
while (en.MoveNext())
{
Console.WriteLine();
Console.WriteLine("Name: {0}", );
Console.WriteLine("Value: {0}", en.Value);
}
reader.Close();
}
string Array in Windows.Forms.Datagrid anzeigen
in ASP.Net muss man einem GridView einfach nur die Datasource auf ein String Array setzen, udn dies wird angezeigt. In Windows Forms wird dann lediglich die Length Property angezeigt, nicht aber die Strings selbst.
Abhilfe: konvertieren des string Arrays in einen LinQ Anaonymen Typen:
Beispiel: anzeigen der Resources eines Assemblies:
Assembly a=Assembly.LoadFrom(@"C:\Anwendung.resources.dll");
var x=a.GetManifestResourceNames().Select(item => new { bla = item}).ToList();
dg.DataSource = x;
Abhilfe: konvertieren des string Arrays in einen LinQ Anaonymen Typen:
Beispiel: anzeigen der Resources eines Assemblies:
Assembly a=Assembly.LoadFrom(@"C:\Anwendung.resources.dll");
var x=a.GetManifestResourceNames().Select(item => new { bla = item}).ToList();
dg.DataSource = x;
Subscribe to:
Posts (Atom)