Visual Basic und VBA: Dynamische String Array / Dynamic string array in VBA

Problem

In VBA soll ein dynamisches String-Array verwendet werden.

Solution – Lösung

Array initialisieren:

      Dim cbValuesStringArray() As String

      While i<10
        i = i + 1
        ReDim Preserve cbValuesStringArray(i - 1)
        cbValuesStringArray(i - 1) = CStr(i)
      End While

Array auslesen:

    For j = 0 To UBound(cbValuesStringArray)
        Debug.Print CStr(j) & " - " & cbValuesStringArray(j)
    Next j
Veröffentlicht unter VBA | Hinterlasse einen Kommentar

Gewählte Worte und Framing der neuen Negativkultur gegen Smartphones und soziale Medien

Medien moralisieren zur Zeit die exzessive Handynutzung durch Anti-Smartphone-Kampagnen in Radio und Fernsehen. Dabei fällt auf, das eine komplett neue Terminologie der Anti-Kultur entsteht. Ich möchte gerne die häufigsten Begriffe hier dokumentieren.

Die folgenden Worte werden benutzt um sozialen Medien und Smartphones einen Negativ-Touch zu verpassen:

  • Prokrastination – Das Smartphone als Grund wichtige Dinge aufzuschieben
  • Phubbing – Trotz gesellschaftlichem Beisammensein ständige Handy-Nutzung
  • Smombie – Jemand der ununterbrochen auf das Handy starrt
  • Smombie Apokalypse – Szenario in dem fahrlässig Menschen getötet werden (z.B. durch ablenkende Handynutzung im Straßenverkehr)
  • to be continued…
Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

MS Access SQL: Case Sensitive Upper Lower Case exact match in WHERE clause / In der WHERE Bedingung Groß- und Kleinbuchstaben berücksichtigen

Problem

MS ACCESS is not recognizing Upper and Lower Case Letters in search conditions within the WHERE-Clause
MS ACCESS berücksichtigt keine Groß- und Kleinbuchstaben in der WHERE-Clause der SQL Anweisungen.

Ansatz – Approach

Usage of the VBA Function StrComp can differentiate between upper and lower case
Die Nutzung der VBA Funktion StrComp kann Unterschiede zwischen Upper und Lower Case (Groß- und Kleinbuchstaben) aufdecken

Lösung – Solution

SELECT * 
FROM t_connector
WHERE StrComp(stereotype, 'Supports', 0)=0 
ORDER BY stereotype ASC

Findet alles was mit großem Supports anfängt, aber filtert alles mit kleinem supports raus.

Veröffentlicht unter Access, Datenbanken | Hinterlasse einen Kommentar

C# + Reguläre Ausdrücke / Regular Expressions / Progress Tags : Alle Vorkommnisse zwischen einem Start-Teilstring und End-Teilstring (z.B. bei HTML Tags) finden und verarbeiten / Find all occurencies of start and end tag and progress them

Problem

Es sollen alle Vorkommnisse eine Start- und End-Tags gefunden werden und der Text dazwischen verarbeitet werden.

Ansatz – Approach

Verwendung von regulären Ausdrücken:

Regex.Matches findet alle Auftreten anhand eines Patterns, was den Regulären Ausdruck definiert:

(diagram://{[^>]+})

Eine Funktion string replaceDiagramAndElementLinkURLs(string eaNoteString) baut einen neuen String zusammen und schickt ihr wieder zurück.

Lösung – Solution

Im folgenden Beispiel gibt es in einem String mehrere Vorkommnisse des Start-Tags „$diagram://{“ und dem End-Tag „}“.
Zwischen dem Diagramm steht eine Nummer (guid) die an eine aspx-Seite übergeben werden soll.

Z.B. lautet der String

string verarbeiten = @"
<html>
...
Dies ist ein Diagramm: <a href="$diagram://{1234465}">Link 1</a> hier steht noch 
ein Diagramm: <a href="$diagram://{3455565}">Link 2</a> und das führt sich fort..
...
</html>
";

und nach dem Verarbeiten ist der Inhalt:

string verarbeiten = @"
<html>
...
Dies ist ein Diagramm: <a href="Level2Process.aspx?map=1234465">Link 1</a> hier steht noch 
ein Diagramm: <a href="Level2Process.aspx?map=3455565">Link 2</a> und das führt sich fort..
...
</html>
";

Dazu kann man folgenden Regulären Ausdruck verwenden:

    public static string replaceDiagramAndElementLinkURLs(string eaNoteString)
    {
        string neuerString = eaNoteString;
        string pattern = @"(diagram://{[^>]+})";

        MatchCollection matches = Regex.Matches(neuerString, pattern);

        if (matches.Count > 0)
        {
            foreach (Match m in matches)
            {
                string toReplace = "$" + m.Groups[1].ToString();
                string guid = toReplace.ToString().Replace("$diagram://", "");

                neuerString = neuerString.Replace(toReplace, "Level2Process.aspx?map="+guid );
            }
        }
        return neuerString;
}
Veröffentlicht unter C# | Hinterlasse einen Kommentar

Microsoft IIS Server: WOFF Webfonts MIME 404 Not found

Problem

Der Microsoft IIS Server meldet 404 beim runterladen eines Webfonts

Ansatz – Approach

Unter MIME Type lässt sich der Typ application/font-woff konfigurireren.

Solution – Lösung

Veröffentlicht unter Microsoft IIS Server, Windows Server | Hinterlasse einen Kommentar

BWIN.COM & Mobile/Handy: Wie bekomme ich das Geld zurück auf mein Paypal-Konto bei bwin.com (bet and win) / How-to get your money back to your Paypal-Account ( VISA / Neteller / Fast Bank Transfer / Skrill )

Problem

Sie wissen nicht wie Sie per Handy ihr (vorhandenes) Geld auf dem BWIN-Konto zurück per Paypal bekommen?
You do not know where to find the option in the mobile version to get back your money on bwin.com (bet and win) ?

Solution – Lösung

Öffnen Sie bwin.com auf ihrem Mobiltelefon und loggen sie sich ein
In der oberen linken Ecke klicken sie auf das Menü-Symbol
In dem erscheinenden Menü wählen sie die Option „Cashier“
Die gewünschte Option heißt „Withdrawal“, welche Sie nun per Klick auswählen
Nun können sie ihre bevorzugte Geld-zurück-Weise wählen (z.B. Paypal)
Geben Sie den Betrag ein, den Sie zurückbuchen möchten
Geben Sie weitere Daten, die für ihre gewählte Zahlungsweise nötig sind, an.

Open bwin.com on your mobile phone and log-in
Click the upper left corner (menu button) on the mobile version of the website.
In the appearing menu select „Cashier“
Click the „Withdrawal“ Option
You can select VISA / Neteller / PayPal / Fast Bank Transfer / Skrill
Choose the amount you want to get back from you bwin-account
Enter additional data according to your payment method

Veröffentlicht unter Allgemein | Hinterlasse einen Kommentar

Sparx Systems Enterprise Architect: Get Images of Diagram By Diagram Name SQL

Problem

The Images of a specific diagram in the data structure of the Sparx Systems Enterprise Architect should be read by diagram name.

Approach

Usage of MDB Plus and Data Mining

Solution

This is SQL for the Access / .eap-File – it should be rewritten for other SQL Servers (i.e. the brackets can be removed and Functions like InStr/Mid shall be replaced)

SELECT	dia.Name As Diagram,
		IIF(Trim(objstart.[Name]) = 'Text', 'Text', objstart.stereotype) As stereotype, 
		diaobj.RectLeft As x,
		diaobj.RectTop As y,
		diaobj.RectRight-diaobj.RectLeft As Width,
		Abs(diaobj.RectBottom-diaobj.RectTop) As Height,
		objstart.Object_ID,
		IIF(Trim(objstart.[Name]) = 'Text', 'Text-'& objstart.Object_ID ,objstart.Alias) As [key],
		IIF(objstart.[Name] = 'Text', objstart.Note, objstart.[Name]) As phaseName,
		objstart.[ea_guid] As [guid],
		diaobj.ObjectStyle,
		IIF(
                    InStr(diaobj.ObjectStyle, "ImageID")>0, 
                    Mid(diaobj.ObjectStyle, InStr(diaobj.ObjectStyle, "ImageID")+8 , Len(diaobj.ObjectStyle)- (InStr( diaobj.ObjectStyle, "ImageID")+8) ),
                    ''
        ) As ImageId     
FROM
((
		[t_diagram] dia LEFT JOIN (Select Diagram_ID, Object_ID, RectLeft, RectTop, RectRight, RectBottom, ObjectStyle from [t_diagramobjects]) diaobj ON dia.[Diagram_ID]=diaobj.[Diagram_ID])
LEFT JOIN [t_object] objstart ON objstart.[Object_ID]=diaobj.[Object_ID])
WHERE objstart.Object_Type IN ('Text','Boundary') AND IIF(InStr(diaobj.ObjectStyle, "ImageID")>0, 
                                                                Mid(diaobj.ObjectStyle, InStr(diaobj.ObjectStyle, "ImageID")+8 , 
                                                                Len(diaobj.ObjectStyle)- (InStr( diaobj.ObjectStyle, "ImageID")+8) ),
                                                                '') <> ''
AND dia.Name='0' 
ORDER BY 12 DESC,1,2,3,4,5,6,7,8,9       
Veröffentlicht unter Access, Datenbanken, MS SQL Server, Sparx Systems Enterprise Architect, SQL | Hinterlasse einen Kommentar

Sparx Systems Enterprise Architect SQL: Get all Images with ImageID of a diagram

Problem

All Images of an Diagram (the ImageIds) shall be determined, so that can be read out from the table t_image (see previous article about BLOB and EA).

Approach – Ansatz

Usage of the tables
– t_diagram
– t_diagramobjects
– t_object

Solution – Lösung

SELECT	dia.Name As Diagram,
		IIF(Trim(objstart.[Name]) = 'Text', 'Text', objstart.stereotype) As stereotype, 
		diaobj.RectLeft As x,
		diaobj.RectTop As y,
		diaobj.RectRight-diaobj.RectLeft As Width,
		Abs(diaobj.RectBottom-diaobj.RectTop) As Height,
		objstart.Object_ID,
		IIF(Trim(objstart.[Name]) = 'Text', 'Text-'& objstart.Object_ID ,objstart.Alias) As [key],
		IIF(objstart.[Name] = 'Text', objstart.Note, objstart.[Name]) As phaseName,
		objstart.[ea_guid] As [guid],
		diaobj.ObjectStyle,
		IIF(
                    InStr(diaobj.ObjectStyle, "ImageID")>0, 
                    Mid(diaobj.ObjectStyle, InStr(diaobj.ObjectStyle, "ImageID")+8 , Len(diaobj.ObjectStyle)- (InStr( diaobj.ObjectStyle, "ImageID")+8) ),
                    ''
        ) As ImageId     
FROM
((
		[t_diagram] dia LEFT JOIN (Select Diagram_ID, Object_ID, RectLeft, RectTop, RectRight, RectBottom, ObjectStyle from [t_diagramobjects]) diaobj ON dia.[Diagram_ID]=diaobj.[Diagram_ID])
LEFT JOIN [t_object] objstart ON objstart.[Object_ID]=diaobj.[Object_ID])
WHERE objstart.Object_Type IN ('Text','Boundary') AND IIF(InStr(diaobj.ObjectStyle, "ImageID")>0, 
                                                                Mid(diaobj.ObjectStyle, InStr(diaobj.ObjectStyle, "ImageID")+8 , 
                                                                Len(diaobj.ObjectStyle)- (InStr( diaobj.ObjectStyle, "ImageID")+8) ),
                                                                '') <> ''
AND dia.Name='{PutInYourDiagramNameHere}' 
ORDER BY 12 DESC,1,2,3,4,5,6,7,8,9    
Veröffentlicht unter Sparx Systems Enterprise Architect, SQL | Hinterlasse einen Kommentar

Sparx Systems Enterprise Architect SQL : Query to get the order of objects / elements in the project browser tree

Problem

The order of tree elements in the project browser should be queried in SQL.
Die Reihenfolge der Objekte im Projekt-Browser soll über SQL abgefragt werden

Approach – Ansatz

Usage of the TPos column within the tables t_object and t_package.
Verwendung der TPos Spalte in den Tabellen t_object und t_package.

Solution – Lösung

SELECT b.TPos as Package_Position, 
       b.Name as Package_Name, 
       a.TPos as Object_Tree_Position, 
       a.Object_ID, 
       a.Name as Object_Description
FROM t_object a INNER JOIN t_package b ON a.Package_ID=b.Package_ID 
WHERE Stereotype='Process Step'
ORDER BY 1,2,3
Veröffentlicht unter Access, Datenbanken, MS SQL Server, Sparx Systems Enterprise Architect, SQL | Hinterlasse einen Kommentar

C# .NET Eine geeignete Datenstruktur für Tabellen / DataTable erstellen / Best .NET DataType for tables

Problem

Die Datenstruktur DataTable von .NET muss richtig initialisiert wreden

Lösung

public DataTable initDataGrid()
{
	DataColumn c0 = new DataColumn("ID");
	DataColumn c1 = new DataColumn("FILE");
	DataColumn c2 = new DataColumn("SITE");
	DataColumn c3 = new DataColumn("OBJEKTSTEREOTYPE");
	DataColumn c4 = new DataColumn("TAB");
	DataColumn c5 = new DataColumn("STEREOTYPE");
	DataColumn c6 = new DataColumn("CONNECTION");
	DataColumn c7 = new DataColumn("LINK");
	DataColumn c8 = new DataColumn("LINK_TO_ID");
	DataColumn c9 = new DataColumn("ALIAS");

	dataTable.Columns.Add(c0);
	dataTable.Columns.Add(c8);
	dataTable.Columns.Add(c1);
	dataTable.Columns.Add(c2);
	dataTable.Columns.Add(c9);
	dataTable.Columns.Add(c3);
	dataTable.Columns.Add(c4);
	dataTable.Columns.Add(c5);
	dataTable.Columns.Add(c6);
	dataTable.Columns.Add(c7);

	return dataTable;
}

public void main()
{
    DataTable dataTable = new DataTable("Tabellenname");
    dataTable.Clear(); 

    // Hier in einer Schleife die Tabelle befüllen
    // Use i.e. Loops to fill the table like this
    DataRow row = dataTable.NewRow();
    row["ID"] = "1";
    row["FILE"] = "2";
    row["SITE"] = "3";
    row["OBJEKTSTEREOTYPE"] = "4";
    row["TAB"] = "5";
    row["STEREOTYPE"] = "6";
    row["CONNECTION"] = "7";
    row["LINK"] = "8";
    row["ALIAS"] = "9";
    dataTable.Rows.Add(row);
}
Veröffentlicht unter .NET, C#, Programmierung | Hinterlasse einen Kommentar