VB Code

Start SingleInstance of Application /VB-.NET

Nachdem ich bei Klaus gelesen hatte, wie er es gelöst hat, eine App nur einmal zu starten, musste ich nochmal extrem nachdenken, bei welchem Projekt und wie ich das gelöst hatte. Das mir das nicht nochmal passiert, habe ich hier mal den Code verewigt. Ursprünglich von Codeproject in c#.     1 Imports System     2 Imports System.Windows.Forms     3 Imports System.Runtime.InteropServices     4 Imports System.Text     5 Imports System.Diagnostics     6 Imports System.Threading     7 Imports System.Reflection     8 Imports System.IO     9     10 Namespace SingleInstance    11     ''' <summary>    12     ''' Summary description for SingleApp.    13     ''' </summary>    14     Public Class SingleApplication    15     16         Public Sub New()    17         End Sub    18         ''' <summary>    19         ''' Imports    20        ...

posted @ Saturday, August 29, 2009 7:53 AM | Feedback (0)

Generic List(Of ClassName) im Repeater

Manchmal ist es ganz praktisch eine Generic List im Repeater zu nutzen. Mit <%# eval("Parameter")%> kommt man aber nicht weit. Mit <%# Container.DataItem.Value1 %>aber schon: Public Class ClassName      Public Value1 As String      Public Value2 As String End Class Dim Listname As New List(Of ClassName) Dim Item1 As New ClassName Item1.Value1 = "TestValue1" Item1.Value2 = "TestValue2" Listname.Add(Item1) Repeater1.DataSource = Listname Repeater1.DataBind()   <asp:Repeater ID="Repeater1" runat="server">    <ItemTemplate>          <%#Container.DataItem.Value1%>    </ItemTemplate> </asp:Repeater>

posted @ Thursday, August 27, 2009 4:51 PM | Feedback (0)

Platzhalter im FCKEditor einbauen und mit Linq bestimmte Tags in HTML finden, bearbeiten oder ersetzen.

In einem ASP.NET CMS habe ich eine Möglichkeit gesucht in einem FCKEditor diverse Platzhalter in Artikel-Tex einzusetzen, die später dann durch aktuelle Inhalte und Werbung ersetzt werden könne.   Am schönsten wäre es natürlich, wenn es auch im Editor bereits angezeigt wird um zu sehen, wie der Text um den potentiellen Inhalt läuft.   Die API des FCKEditors möchte ich nicht anfassen also muß iich mit vorhandenen Mitteln zu Rande kommen.   Trick 1. Um die Größe und Position im Content zu definieren, nehme ich ein image in vergleichbarer Größe (wie das Bild rechts).   Trick 2. Ich definiere mir Styles für den FCKEditor und generiere diese mit einem...

posted @ Wednesday, August 12, 2009 11:28 PM | Feedback (0)

xmlns Namespace in Linq und Datenimport nach SQLServer //mit VB.NET

Eigentlich hatte Martin Hey genau im richtigen Moment seinen Post zum Thema veröffentlicht.   Aber dann fiel mir ein, dass wenn es einen Vorteil von VB.NET gegenüber c# gibt, dann ja wohl im XML-Bereich.   Ein Imports am Kopf der Seite reicht um den Namespace Global einzufügen. Das Ganze gepaart mit einem InsertAllOnSubmit habe ich in ein paar wenigen Zeilen alle Categories aus meinem XML-Dokument in die Datenbank importiert.         1 Imports <xmlns="http://www.ticketonline.de/ticketonlineevents/1.0">     2 Imports <xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">     3      4 Partial Class LoadTicketOnline     5     Inherits System.Web.UI.Page     6      7     Protected Sub Page_Load(ByVal sender As Object, _     8                             ByVal e As System.EventArgs) Handles Me.Load     9     10         Dim...

posted @ Thursday, July 30, 2009 5:46 PM | Feedback (0)

DeepZoom mit jQuery und ASP.NET //en

;kick it on dotnet-kicks.de  posted @ Monday, July 06, 2009 5:57 PM | Feedback (0)

DeepZoom mit jQuery und ASP.NET

Für eine Image-Gallery in in einem Community-Projekt, habe ich mir eine Lösung mit jQuery erstellt, um Bilder online zu bearbeiten. Also hauptsächlich  Resize und Cropping. Dabei enstand als kleines Nebenprodukt eine Lösung, bei der man einen Deepzoom auf große Bitmaps machen kann. Eine einfache Version davon habe ich hier mal online gestellt: DeepZoom mit jQuery Download als ASP.NET - Website Das verwendete Bild auf dem Server ist 7MB groß und...

posted @ Monday, July 06, 2009 3:22 PM | Feedback (3)

Crop und Resize Image mit ASP.NET - zum letzten Mal!

Ich mache das ja schon lange.... und ich habe auch schon einiges mit Bildern zu tun gehabt. Aber jedes mal wieder fummele ich mir aus alten Codes oder dem Internet die Funktionen für Größenveränderungen heraus. Meist sind diese (vor allem bei gegoogelten Beispielen) gespickt mit Spezialfunktionalität. Diesemal habe ich mir die Mühe gemacht - ein für alle Mal - drei Funktionen zu generieren, die sowohl Cropping, Resizing oder aber beides gleichzeitig in bestmöglicher Qualität zu liefern. Und da ich meißt nur ein Stream oder Byte() benötige, bekomme ich as Rückgabewert auch ein MemoryStream. Diesen kann ich in die Datenbank schieben oder per BinaryWrite direkt ausgeben.      1 Imports...

posted @ Sunday, July 05, 2009 10:45 AM | Feedback (2)

Mittels XElement den HTMLCode validieren

Beim Entwickeln einer Webplattform macht man ja gerne den einen oderanderen HTML Fehler. Auch wenn mir das immer seltener passiert, ist es dennoch schön wenn man gleich Probleme mittels Holzhammermethode mitgeteilt bekommt. Bekanntlich kann man in Page Render den HTML-Code abgreifen. Wenn man daraus ein XElement generieren kann, ist der Code zumindest schon mal valiedes XML. Wenn dies nicht funktioniert lasse ich mir die Fehlemeldung ausgeben und kann de Fhler gleich korrigieren. Kleiner Nebeneffekt: Der HTML-Code ist absolut perfekt eingerückt und die Struktur klar ersichtlich, auch wenn man viele Usercontrols zusammensteckt. Ob man dies in einer Live-Website einsetzt ist sicherlich fraglich.     1      2 Partial Class _Default     3     Inherits System.Web.UI.Page     4      5      6      7     Protected Overrides...

posted @ Friday, July 03, 2009 12:26 PM | Feedback (0)

Session verwalten bzw. Wildwuchs in Bezeichnungen eindämmen

In meinen Webprojeten benutze ich natürlich auch immer wieder Session-Variablen, die dann wiederum an anderer Stelle abgerufen werden. Abgesehen von möglichen Schreibfehlern, bin ich auch imer wieder auf der Suche nach der richtigen Bezeichnung. Die wichtigsten lagere ich jetzt in eine kleine Klasse aus:       1 Public Class Properties     2     Public Enum VariableName     3         UserID = 1     4         UserName = 2     5         'usw.     6     End Enum     7      8     Public Shared Property Session(ByVal name As VariableName) As Object     9         Get    10             Return HttpContext.Current.Session _    11                     ("adjustment.properties.session." & name.ToString)    12         End Get    13         Set(ByVal value As Object)    14             HttpContext.Current.Session _    15                     ("adjustment.properties.session." &...

posted @ Thursday, June 25, 2009 10:09 AM | Feedback (0)

VPN nach Energiesparmodus oder Ruhezustand automatisch wieder herstellen

Ich habe heute wieder meine Recherche aufgenommen um ein VPN automatisch zu verbinden, nachdem der Computer im Ruhezustand oder im Energiesparmodus war. (Inspiriert durch einen Blogeintrag von Bernd Hengelein.) Wenn eine z.B. WLan-Verbindung abbricht (und damit auch das VPN getrennt wird) oder verbunden wird  tritt dieses Ereignis ein. System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged  Mit folgender Routine kann man dann die Connection wieder herstellen  3     Sub startVPN(ByVal ConnectionName as String)   '  4         Process.Start("RasPhone.exe", "-d " & ConnectionName)  5     End Sub Eine sehr einfache Umsetzung einer Consolen-Anwendung (z.B. im Autostart) könnte dann folgendermaßen aussehen: (Zumindest im Debugmodus hat dies problemlos funktioniert)     1 Imports System.Net.NetworkInformation     2      3 Module Module1     4     Sub Main()     5      6         AddHandler NetworkChange.NetworkAvailabilityChanged, _     7                 AddressOf NetworkChange_NetworkAvailabilityChanged     8      9        ...

posted @ Thursday, June 25, 2009 8:50 AM | Feedback (1)

Dotnetage - jQuery ganz einfach in Web Controls

Beim Stöbern auf CodePlex bin ich über das opensource Projekt "DotNetAge jQuery" gestoßen und bin mehr als angetan. DotNetAge ermöglicht es jQuery Features in Webcontrols zu nutzen (beispielsweise kann jedes Control mit Resize versehen werden) und bietet aber auch eine ganze Reihe von Webcontrols die Features wie Accordion, Dragpanels usw. direkt bieten. Für jQuery-Plugins gibt  es ebenfalls eine Möglichkeit, diese einzubinden. Sehr gut gelöst und auch nach Stunden des herrumspielens bin ich immernoch angetan von der Lösung. Schöner Mix zwischen voller Funktionalität von jQuery und der Einfachkeit für tägliche Standardanwendungen. [Die Bilder sind von der Website DotNetAge]      

posted @ Sunday, June 14, 2009 6:54 PM | Feedback (0)

How to use HierarchyID in LinqToSQL or Entity-Framework // MSSQL Server 2008

Unfortunately, there is still no way to use the new hierarchyID-dataTpe in LinqToSQL or Entity Framework.  (Microsoft 12.5.2009) Because the data type is very practically, fast and over and over again hierarchy appears within comments, menu structures etc., I want to use them nevertheless. For this I provide first of all a table which has a ContentID (Integer value wich refers to my content),  the HierarchyID of course and assoziationTypeID, because this table is for different Content (Comments has ID=1, Menu ID=2 etc.). CREATE TABLE [dbo].[t_C_ContentHierarchy](     [d_C_ContentHierarchyID] [int] IDENTITY(1,1) NOT NULL,     [d_ContentID] [int] NOT NULL,     [d_hierarchyID] [hierarchyid] NOT NULL,     [d_I_assoziationTypeID] [int] NOT NULL,  CONSTRAINT [PK_t_C_UserContentHirarchy] PRIMARY...

posted @ Sunday, May 31, 2009 11:00 AM | Feedback (6)

HierarchyID in LinqToSQL oder Entity-Framework nutzen // MSSQL Server 2008

Leider gibt es noch keinen Weg, in LinqToSQL oder Entity Framework den neuen Datentyp HierarchyID in MSSQL-Server 2008 zu nutzen. (Microsoft am 12.5.2009) Da der Datentyp sehr praktisch, schnell und immer wieder Hierarchien bei Kommentaren, Menüstrukturen usw. auftreten, will ich ihn natürlich trotzdem nutzen. Hierfür erstelle ich erst einmal eine Tabelle, die eine ContentID enthät, welche die Integer-ID meines Contents enthält, die HierarchyID natürlich und eine assoziationTypeID, da ich diese Tabelle für unterschiedlichen Content nutzen möchte. CREATE TABLE [dbo].[t_C_ContentHierarchy](     [d_C_ContentHierarchyID] [int] IDENTITY(1,1) NOT NULL,     [d_ContentID] [int] NOT NULL,     [d_hierarchyID] [hierarchyid] NOT NULL,     [d_I_assoziationTypeID] [int] NOT NULL,  CONSTRAINT [PK_t_C_UserContentHirarchy] PRIMARY KEY CLUSTERED (     [d_C_ContentHierarchyID] ASC )WITH (PAD_INDEX  = OFF,...

posted @ Sunday, May 31, 2009 10:37 AM | Feedback (0)

Escape-Zeichen aus Zope-Export - unescape \xed \xee \xef \xf0 \xf1 \xf2 \xf3 \xf4 \xf5 \xf6 \xf7 \xf8 python

In einem Datenexport aus Zope fand ich diverse Escape-Zeichen für alle Sonderzeichen. Offensichtlich HEX-Codiert mt einem \x vorab. Also für ö ein \xf6 usw. Die Suche nach Listen für ein globales Replace gab ich recht schnell auf und generierte meine eigene Liste:  ...

posted @ Monday, May 11, 2009 11:14 AM | Feedback (0)

Mit Linq Strings über mehrere Zeilen einfach im Quellcode hinterlegen.

Jeder kennt das Problem... Man hat einen formatierten String und möchte diesen im Code verwenden. zwei Möglichkeiten.... entweder man stückelt Ihn über mehrere Zeilen zusammen oder man macht eine gaaaaanz lange Zeile daraus. Beides ist unbefriedigend und mühsam. Gestern habe ich nun das XElement dafür entdeckt :     1         Dim SQL As New XElement(<root>     2      3                         SELECT  CMS_Artikel.Dachzeile,     4                                 CMS_Artikel.DateFrom,     5                                 CMS_Artikel.CreateDate,     6                                 User_User.RealName,     7                                 CMS_Artikel.ArtikelID     8                         FROM    CMS_Artikel...

posted @ Wednesday, April 29, 2009 2:01 PM | Feedback (3)

Cookies und Encoding zum hundertsten Mal => String to Base64 und Base64 to String

Und mal wieder habe ich Probleme auf einem Server Umlaute in Cookies zu speichern bzw. zu lesen. Die Tipps sind vielfältig und variiren von Server.URLDecode bis hin zu Globalization Eiträgen in der Web.Config.   Diesmla half gar nichts... Deswegen werden die CookieInformationen ab sofort Base64-codiert. Damit hat sich das Thema - hoffentlich String to Base64   1     Dim base64String As String = _                  Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes("äüö$$"))     2      3   Dim c As New HttpCookie("testCookie")     4         c("value") = base64String     5         Response.Cookies.Add(c)     6      7 Base64 to String     9   Dim base64FromCookie As String = _                                 Request.Cookies("testCookie").Values("value")    10     11   Dim standardString As String = _            Text.Encoding.UTF8.GetString(Convert.FromBase64String(base64FromCookie))    12     13         Response.Write(standardString)

posted @ Monday, April 27, 2009 5:53 PM | Feedback (0)

VPN-Verbindung mit .NET starten

[edit 25.6.2009] Hier ist eine Lösung um ein VPN verbinden nach unterbrochener Netzwerkverbindung (mit .NET) oder um eine VPN verbinden nach Energiesparmodus(mit .NET) [/edit 25.6.2009] Um eine VPN-Verbindung mit .NET starten genügt ein Einzeiler. Vorraussetzung ist, dass das Kennwort gespeichert ist und die Abfrage deaktiviert. Wobei myVPN_Connection der Name der Verbindung unter Windows ist:         1 Module Module1     2      3     Sub Main()     4         Process.Start("RasPhone.exe", "-d myVPN_Connection")     5     End Sub     6      7 End Module

posted @ Wednesday, April 22, 2009 6:32 PM | Feedback (0)

LinqToSQL- Ergebnis oder Linq-Object nach XML konvertieren

In einem Bestellsystem für Stromverträge kann ein User aus einer Ergebnisliste eine Bestellung auslösen. Die Linq-Abfrage hierzu ist mehr als komplex und die Werte in den verbundenen Tabellen werden in verschachtelten Repeatern auf der Website dargestellt. Da wöchentlich die Datenbank ausgetauscht wird, möchte ich gerne im System die Daten aus dem Ergebnis hinterlegen. Dummerweise ist ein LinqToSQL-Ergebnis nicht serialisierbar. Im Netz  habe ich auch nichts gefunden und mir meine eigene rekursive Methode gebastelt: Sicherlich noch verbesserungsfähig... aber für das aktuelle Problem austreichend.    01     Imports System.Reflection    11     12     Public Function getXElementFromLinqObject(ByRef RootElement As XElement, _    13                                          ByVal DataObject As Object) As...

posted @ Wednesday, April 22, 2009 5:30 PM | Feedback (2)

Im SqlMembershipProvider den Applictionname auf den Hostname setzen

Ich habe eine Anwendung, die die entsprechende Contentdatenbanken jeweils per Hostname auswählt. Da ich prinzipiell den SqlMembershipProvider nutze, möchte ich wenn möglich, den Applicationname des Mebershipproviders entsprechend anpassen. Hier ist der entsprechende Providder dazu: Imports System Imports System.Web Imports System.Data Imports System.Configuration Imports System.Collections Imports System.Web.Security Imports System.Collections.Specialized Imports System.Data.SqlClient Class myMembershipProvider     Inherits System.Web.Security.SqlMembershipProvider     Public Overrides Property ApplicationName() As String         Get             Return HttpContext.Current.Request.Url.Host         End Get         Set(ByVal value As String)             MyBase.ApplicationName = HttpContext.Current.Request.Url.Host         End Set     End Property   End Class

posted @ Friday, March 27, 2009 2:09 PM | Feedback (0)

Website "am Leben" erhalten

Wenn man mit seiner .NET Website bei einem Hoster ist, wird in der Regel nach 20 bis 60 Minuten die Website "heruntzergefahren", was leider beim Neustart je nach Umfang des Projektes zu längeren Wartezeiten führt. Eine Lösung wäre, die Website von einem anederen Server aus anzupingen um regelmäßige Requests durchzuführen. Aber wenn man mit seinem Web beim Hoster ist, hat man normalerweise diese Möglichkeiten nicht zur Verfügung. Die Lösung: Ein Timer in der global.asax fragt regelmäßig die  eigene Website ab. Funktioniert zwar nicht direkt nach einem Reboot des Servers oder restart des IIS aber wenn dann eine Abfrage genmacht wurde, hätlt es immerhin bis...

posted @ Tuesday, February 17, 2009 10:34 AM | Feedback (4)

Control ermitteln welches den Postback ausgelöst hat

Mit der folgenden Funktion kann man ermitteln, welches Control einen Postback ausgelöst hat.    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load                Response.Write(getPostBackControl.ID)     End Sub  Private Function getPostBackControl() As Control          Dim ctlM As Control = Nothing         Dim ctl_Name As String = Page.Request.Params("__EVENTTARGET")         If ctl_Name IsNot Nothing AndAlso ctl_Name <> "" Then             ctlM = Page.FindControl(ctl_Name)         Else             Dim cx As Control = Nothing             Dim ctrlStr As String = ""             For Each ctl As String In Page.Request.Form                 If ctl.EndsWith(".x") OrElse ctl.EndsWith(".y") Then                     ctrlStr = ctl.Substring(0, ctl.Length - 2)                     cx = Page.FindControl(ctrlStr)                 Else                     cx = Page.FindControl(ctl)                 End If                 If TypeOf cx Is System.Web.UI.WebControls.Button _                        ...

posted @ Tuesday, December 09, 2008 2:00 PM | Feedback (0)

Der Name __o wurde nicht deklariert. // Error Name '__o' is not declared.

Immer wieder die große Frage, was diese Fehlermeldung bedeutet. Nach wie vor habe ich dafür keine Erklärung und auch bisher keine negativen Auswirkungen gemerkt. Nichtsdestotrotz füllt es immer wieder die Fehlerliste in ASP.NET Projekten. Ein Workaround hierfür ist folgendes Modul im App_Code-Verzeichnis: Public Module myModule       Public __o As Object End Module ;-) Das ich da nicht früher drauf gekommen bin.

posted @ Tuesday, October 28, 2008 11:20 AM | Feedback (0)

SQLScript aus Textdatei ausführen

So ein trivialer Vorgang... und trotzdem noch nie gemacht. Wie startet man ein Script in ASP.NET, das man zuvor im management Studio generiert hat. Imports Microsoft.SqlServer.Management.Smo Imports Microsoft.SqlServer.Management.Sdk.Sfc Imports Microsoft.SqlServer.Management.Common [....]  Dim SQL = File.ReadAllText("D:\_stromtip2005\SQLDATA\CreateDependencies.sql") Dim sqlConnectionString As String = "Data Source=.\SQLExpress;Initial Catalog=CMS_2008_ST_DATA_32;Integrated Security=True" Dim conn As New SqlConnection(sqlConnectionString) Dim server As New Server(New ServerConnection(conn)) server.ConnectionContext.ExecuteNonQuery(SQL)

posted @ Sunday, September 21, 2008 3:54 PM | Feedback (0)

Html mit Linq und .NET 3.5 im Codebehind generieren

Jeder kennt es, ab und zu muß man dann doch HTML-Code im ´Hintergrund (z.B. für einen Email-Body) generieren und sückelt sich zu unübersichtlich zu Tode. Mit dem XElement ist das kein Problem. Man schreibt den HTML-Code wie im Markup-Editor und kann sogar Variablen wie im markup einbinden: <%=meineVariable%> Kein hantieren mit Anführungszeichen usw..

posted @ Tuesday, September 09, 2008 7:41 PM | Feedback (0)

Prüfen ob eine Emailadresse existiert

Im Zeitalter der Spamflut, geben auch die User Ihre Emailadresse nicht mehr an, wenn sie danach gefragt werden. Mit der unten aufgelisteten Class EmailCheck kann man genau das prüfen. Im Prinzip, ermittelt die Klasse den MX-Record der UserDomain und macht ein Helo am Mailserver und teilt dem Mailserver mit, dass wir eine Email für eine bestimmte Emailadresse haben. Existiert die Adresse nicht oder ist die Mailbox voll usw., so lehnt der Mailserver an dieser Stelle die Annahme ab und wir wissen, dass mit der Adresse etwas faul ist. Lehnt der Mailserver an dieser Stelle die Annahme NICHT ab, so ist die Adresse...

posted @ Saturday, July 12, 2008 6:40 PM | Feedback (0)

Microsoft Sync Framework

Mit Visual Studio 2008 wurden auch die Assemblies des ADO.NET Sync Services installiert. Mit Hilfe dieser API lassen sich (z.B. mobile) Anwendungen die nicht ständig mit der Datenbank verbunden sind einfach mit dem Server syncronisieren. Mit Hilfe eines Assistenten kann man innerhalb weniger Minuten alle notwendigen Routinen und Trigger zur Aktualisierung der ClientDatenbank und der ServerDatenbank erstellen. Auf Channel9 ist ein 18 Minuten Video von Daniel Moth für den Schnelleinstig mit dem Microsoft Sync Framework erschienen. Den Assistenten kann man aufrufen in dem man ein neues  Element "Local Database Cache"  hinzufügt. Im Code wird dann nur noch ein "syncAgent.Synchronize();" benötigt um die Synchronisierung durchzuführen.  

posted @ Friday, February 22, 2008 4:10 PM | Feedback (0)

SQLDatasource und Anzahl der SQL-Server abfragen

Thomas Beckert hatte heute auf glengamoi.com das Problem, dass er bereits im Page_Load(ASP.NET) ein DataBind eines Repeaters durchführen musste. Die Frage kam auf, ob dies dazu führt, dass die SQL-Abfrage evtl. mehrmals zum MSSQL geschickt wird. Das wollte ich nun genau wissen. In den Leistungstools des SQL-Servers gibt es den SQL Server Profiler mit dessen Hilfe man alle Aktivitäten und Abfragen auf dem SQLServer überwachen kann. Die Antwort ist: Beim einem Standard Aufruf macht dies keinen Unterschied. D.h. auch wenn im Page_Load ein Gridview1.DataBind() aufgerufen wird, wird nur eine Abfrage zum SQL-Server gesendet. Die Abfrage wird unmittelbar vor dem...

posted @ Monday, January 14, 2008 7:32 PM | Feedback (0)

Default-Values im DataGridView und BindingDatasource

Wenn man im DataGridViev in Windows Forms einen Datensatz mit den durch den Designer erstellten Einstellungen erstellt und automatisch aktualisiert, bekommt man in der Datenbank per default NULL-Values. Um das zu verhindern, füge ich in Form_Load einen Event für TableNewRow hinzu, in dem ich wiederum die Defaultvalues setzen kan: Private Sub Form_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Me.myDataSetTableAdapter.Fill(Me.myDataSet.myTablename) AddHandler myDataSet.Tables(0).TableNewRow, AddressOf newRowHandlerEnd SubSub newRowHandler(ByVal sender As Object, ByVal...

posted @ Thursday, December 13, 2007 9:31 AM | Feedback (0)

Connectionstring zur Laufzeit ändern

Mit folgendem Code kann man den in den Appsettings eingetragenen ConnectionString zur Laufzeit zu ändern: My.MySettings.Default.Item (connectionName) = connectionString Wenn der Connectionstring in der App.config gespeichert werden soll, hilft folgende Funktion: Sub saveConnectionString(ByVal connectionName As String, _ ByVal connectionString As String) Dim Config As Configuration Dim Section As ConnectionStringsSection Dim Setting As ConnectionStringSettings Dim ConnectionFullName As String ConnectionFullName = String.Format("{0}.My.MySettings.{1}", _ System.Reflection.Assembly.GetExecutingAssembly.GetName.Name, _ connectionName) Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Section = CType(Config.GetSection("connectionStrings"), ConnectionStringsSection) Setting = Section.ConnectionStrings(ConnectionFullName) If IsNothing(Setting) Then Throw New Exception("Connection mit dem Namen " & _ connectionName & " nicht gefunden.") Setting.ConnectionString = connectionString Config.Save(ConfigurationSaveMode.Full) 'Hier wird der Connectionstring für die aktuelle Laufzeit geändert My.MySettings.Default.Item(connectionName) = connectionString End Sub

posted @ Wednesday, December 12, 2007 10:48 AM | Feedback (0)

Datei mit dem Standardprogramm öffnen

Um eine Datei mit dem unter Windows eingestellten Standardprogramm zu öffnen kann man System.Diagnostics.Process.Start benutzen: If MessageBox.Show("Wollen Sie diese Datei öffnen?", _ "Datei öffnen", _ MessageBoxButtons.YesNo, _ MessageBoxIcon.Question) Then System.Diagnostics.Process.Start(FullPathTextBox.Text) End If  

posted @ Monday, December 10, 2007 8:48 AM | Feedback (0)

Breite und Reihenfolge im DataGridView speichern

Nach dem Windowstate möchte ich nun auch die Spaltenbreiten und Reihenfolge der Spalten beim DataGridView speichern. [Imports System.Collections.Specialized] Dim stringCollection As New System.Collections.SpecializedStringCollection() For Each column As DataGridViewColumn In Me.DataGridView1.Columns stringCollection.Add(String.Format("{0},{1},{2}", _ column.DisplayIndex, _ column.Width, column.Visible)) Next My.Settings.GridViewSetttings = stringCollection'Das Wiederherstellen...

posted @ Saturday, December 08, 2007 9:47 AM | Feedback (0)

Save WindowState

s

posted @ Thursday, December 06, 2007 10:31 PM | Feedback (0)

kostenloser Download - Microsoft Visual Basic 2005 - Das Entwicklerbuch

Microsoft hat auch zwei Bücher zum kostenlosen download: Microsoft Visual Basic 2005 - Das Entwicklerbuch Wobei man sich den zweiten Teil auch herunterladen kann, wenn man in der Download-URL Teil_1 durch Teil_2 ersetzt :-)

posted @ Thursday, December 06, 2007 3:40 PM | Feedback (0)

Verzeichnisstruktur auslesen

Alle Jahre wieder bin ich auf der Suche nach einem Tool oder Code, mit dem ich Verzeichnisstrukturen auslese. mit diesem Minitool kann ich die Verzeichnisstruktur auslesen und in eine XML-Datei schreiben. Und hier ist der Code dazu

posted @ Wednesday, December 05, 2007 11:53 AM | Feedback (1)