Rubrik: Verschiedenes / Sonstiges | VB-Versionen: VB2005, VB2008 | 12.01.10 |
Bugtracker für eigene Anwendung Mittels eines Bugtrackers können Benutzer Bug auf eine leichte Art und Weise dem Autor der Anwendung (bez. Hersteller) mitteilen | ||
Autor: Ferdinand Thiessen | Bewertung: | Views: 11.432 |
thiessen.bplaced.de | System: Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Es kommt immer mal wieder vor, dass noch Bugs in der Anwendung stecken, und oft bekommen Autoren das nicht immer mit. In so einem Fall wäre ein Bugtracker nützlich, mit welchem der Benutzer den Autor über Bugs berichten könnte. Um dies zu realisieren haben wir ja jetzt diesen Bugtracker. (Erklärung kommt nach dem Code)
VB.Net Teil:
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Load ' Beispieltext generieren TextBox1.Text = "Ich habe einen Fehler in " & _ Me.ProductName & " Version " & Me.ProductVersion & " gefunden:" End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' PHP-Skript aufrufen und Daten übertragen Dim strURL As String strURL = "http://www.thiessen.bplaced.de/bug_report.php?text=" & _ TextBox1.Text WebBrowser1.Navigate(strURL) MsgBox("Bitte warten sie, der Vorgang kann etwas Zeit in " & _ "Anspruch nehmen, das Fenster schließt sich selbst.", vbInformation) End Sub
Private Sub WebBrowser1_Navigated(ByVal sender As Object, _ ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated MsgBox("OK, Senden abgeschlossen", MsgBoxStyle.Information) End Sub
End Class
PHP Teil:
<?php
$empfaenger = "Ihre-Email@Adresse.de";
$betreff = "Fehler gefunden in Anwendungsname";
mail($empfaenger, $betreff, $_GET['text'],
"From: Bug Report ");
?>
Wie wahrscheinlich schon aufgefallen ist, benötigen wir auch einen PHP Teil, aber dazu später.
Als erstes werden: Button, Textbox und Webbrowser benötigt, bei der Textbox sollte Multiline = True und Scrollbars = both sein.
Die Funktionsweise ist simpel:
Beim Start der Anwendung werden zunächst die Assemblyinformationen ausgelesen (Produkt Name und Version). Daraus wird dann ein Beispieltext generiert, der in der Textbox eingefügt wird. Wird jetzt der Button "Senden" gedrückt,
wird der Inhalt der Textbox als String an das PHP-Skrip auf dem Webspace übertragen. Nach der Übertragung öffnet sich eine Messagebox, die auf die Erfolgreiche Übertragung hinweist.
PHP Teil:
Bei der Übertragung der Nachricht passiert folgendes:
Der Inhalt der Textbox wird an die Adresse, die im Browser (unsichtbar) aufgerufen, wird angehängt. Also nehmen wir an, der Text würde so lauten: "Bug gefunden in xxx", dann würde die Aufgerufene Adresse wie folgt aussehen:
http://www.domain.de/bug_report.php?text=Bug gefunden in xxx
Das Skript macht jetzt folgendes:
Es sendet mit Hilfe der Mail()-Funktion (siehe Quellcode PHP) eine E-Mail an den Empfänger, der im Skript in der Zeile 2 festgelegt ist, mit dem Betreff, der in Zeile 3 festgelegt ist.
Jetzt kommt das wichtige:
Das Skript sendet als Inhalt alles, was in der URL hinter ?text= übertragen wurde.
Hinweis zum Beispiel-Skript:
Die Test-Email kann unter trash-mail.com mit dem Namen test abgerufen werden.