generell sollte die SerialPort Klasse dafür alles mitbringen.
Die Klasse hat die Eigenschaft ReceivedBytesTreshold, wenn Du diese Eigenschaft auf 10 setzt. Wird die DataReceived Methode erst ausgeführt, wenn 10 Bytes angekommen sind.
Danach kannst Du die Daten auslesen.
byte[] empf = new byte[port.BytesToRead];
int a = port.Read(empf, 0, port.BytesToRead);
Ich muss allerdings zu geben, dass ich in einer Applikation von mir, doch einen separaten Empfangs-Thread programmiert habe, da ich mit diesem Vorgehen meine Applikation beim Beenden plötzlich auf keine Eingabe mehr reagiert hat.
Bin gespannt, ob es bei Dir so klappt.
Bin übrigens auch im µC Umfeld unterwegs. Was machst Du den da so für Dinge ?
in der MSDN Hilfe steht als Übergabe searchPattern. Deshalb gehe ich davon, aus dass auch nur ein Pattern übergeben werden kann. Somit müsstes Du vielleicht die Methode für alle Pattern's aufrufen und die Liste zusammensetzen.
zu dem Intellisens Thema bin ich nicht weitergekommen. Ansonsten bin ich mit meinem SQL-Editor soweit durch. Wenn jemand interesse hat kann ich auch gern die Sourcen hochladen. Vielleicht weiss jemand ja noch ein paar schöne Änderungen.
Das Thema mit den Tabelleninformationen geht folgendermaßen :
DataTable table = con.GetSchema("Tables");
foreach (DataRow r in table.Rows)
{
string table_type = (string)r["Table_Type"];
string table_name = (string)r["Table_Name"];
if ( table_type == "TABLE")
listTables.Items.Add(table_name);
}
Das zweite ist natürlich, dass ein ' innerhalb eines Datenbank Kommandos normalerweise benutzt wird, um die Begrenzung einer Zeichenkette anzugeben.
Dieses Problem hatte ich auch schon, mir ist nur folgende Lösung dazu eingefallen. Die String's die eingefügt werden sollen zu durchsuchen und alle einfachen ' durch doppelte zu ersetzen.
ob solch ein Verweis immer weiterhilft, halte ich für fraglich ...
Anbei ein kleines Beispiel :
TextBox found = null;
foreach (Control c in this.Controls)
{
if (c is TextBox)
{
if (c.Name == "textBox1")
{
found = (TextBox)c;
break;
}
}
}
found.Text = "Gefunden";
Ich bin gerade dabei einen kleinen SQL-Editor zu entwickeln, denn ich in verschiedenen Applikationen einbinden kann. Dabei habe ich eine Textbox für die Eingabe des SQL-Statements und ein DataGrid für das Ergebnis. Das ist recht schnell und einfach zu machen.
Ich würde aber gern die Eingabe des SQL-Statements dahingehend unterstützen, dass ich beim Tippen mit Intellisens vorhandene Tabellen bzw. Spaltenname anzeige. Dabei habe ich folgendene Probleme :
* Gibt es eine Möglichkeit unabhängig von der Datenbank (Access, Oracle ...) die vorhandenen Tabellen und deren Aufbau abzurufen.