versuchs mal so. Ich habs allerdings noch nicht kompiliert, könnten schreibfehler drinn dein 🙂
public List<string> GetContent(string Target, int menuid)
{
List<string> result = new List<string>();
using(SqlConnection con = new SqlConnection("Data Source=ENDURANCE\\SQLEXPRESS; Initial Catalog= bonicontent;" + "Trusted_Connection=yes"))
{
con.Open();
string strSQL = "SELECT Text FROM statcontent WHERE MenuID='" + menuid + "'";
SqlCommand cmd = new SqlCommand(strSQL, con);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
string sText = reader[0] as string;
if(sText!=null)
result.Add(sText)
}
}
return result;
// wenn unbendingt string[] dann :
// return result.ToArray();
}
Vermutlich muss du einen eigenen UITypeEditor erstellen.
Schau erst mal hier
http://msdn2.microsoft.com/de-de/library/53c49eck.aspx
und hier
http://www.codeproject.com/csharp/PropertyEditor.asp
und dan bei google
oder so:
public class C<T> where T : new()
{
public C() { }
public virtual T duplicate()
{
return new T();
}
}
public class A : C<A>
{
public override A duplicate()
{
return base.duplicate();
}
}
public class B : C<B>
{
public override B duplicate()
{
return base.duplicate();
}
}
Probier mal das 🙂 (man achte auf die Kommentare!!!)
private void pause()
{
DateTime d3 = Convert.ToDateTime(this.richTextBox3.Text);
DateTime d4 = Convert.ToDateTime(this.richTextBox4.Text);
TimeSpan ts1 = new TimeSpan(d4.Ticks - d3.Ticks);
richTextBox9.Text = ts1.Hours.ToString() + ":" + ts1.Minutes.ToString() + ":" + ts1.Seconds.ToString();
if (richTextBox12.Text.Length >= 1)
{
DateTime d5 = Convert.ToDateTime(this.richTextBox12.Text);
TimeSpan ts2 = new TimeSpan(d5.Ticks);
TimeSpan ts3 = (ts2 + ts1);
richTextBox12.Text = ts3.Hours.ToString() + ":" + ts3.Minutes.ToString() + ":" + ts3.Seconds.ToString();
// Hier ein return ansonsten wird ...
return;
}
// .. hier deine Berechnung ÜBERSCHRIEBEN!!
richTextBox12.Text = ts1.Hours.ToString() + ":" + ts1.Minutes.ToString() + ":" + ts1.Seconds.ToString();
}
mal ne andere frage:
Wie werden die Daten die du sendest, auf der U-Boot seite den wieder in Steuerbefehle (z.B Motor an/aus) umgesezt? Da müsste ja ein Microcontroller sein der die Daten entschlüsselt? Wer Programmiert den eigentlich?
Hallo Pistenbully,
das mit den 8Bit hast du ein bisschen falsch verstanden, denke ich. Bei einer seriellen Datenübertragung versendest du immer Bytes. Diese Bytes bestehen natürlich aus 8Bit. Aber du kannst auch ganze Zeichenfolgen senden, also mehrere Bytes hintereinander. Darauf baut man ein Protokoll auf, welches sicherstellt das die übertragenenen DATEN (also mehrere Bytes) auch richtig angekommen sind. Dies stellt man mit eine Prüfsumme sicher. Eine Prüfsumme ist eine Mathematische funktion, die alles Bytes irgendwie zusammen rechnet und das ergebnis wieder an due Daten angehängt wird. Die gegenstelle rechnet ebenfalls die Prüfsumme aus und vergleicht ihr Ergebnis mit dem übertragenen Ergebnis. Ist das Ergebnis ungleich, so wird das Datenpacket nochmal angefordert.
Beispiel:
<STX> = Start of Text = 0x02
<ETX> = End of Text = 0x03
<NAK> = Not Acknowledge = 0x15
<ACK> = Acknowledge = 0x6
<BCC> = Der errechnete BlockCheck (Prüfsumme)
In diesem Beispiel muss der Sender die Daten nochmal übertragen da sie nicht richtig angekommen sind. Er sendet dan ein <NAK> anstelle eines <ACK>. Was zwischen <STX> und <ETX> steht ist ein ausgedachtes Protokoll:
Sender: <STX>'N''R''0''1''M''1''R''1''S''0''5'<ETX><BCC>
Empfänger: <NAK>
Sender: <STX>'N''R''0''1''M''1''R''1''S''0''5'<ETX><BCC>
Empfänger:<ACK>
Hallo Pistenbully,
wie gehts mit deiner U-Boot Steuerung vorann? Hast du dich schon für eine Vorgehensweise entschieden? Welches Protokoll möchtest du den für die Datenübertragung verwenden?
Hallo Pistenbully,
dein Projekt hört sich für mich interessant an. Du kannst C# für dein Projekt benutzen. Ich würde vieleicht DirectX benutzen um die Informationen vom Joystick zu bekommen, und über eine virtuelle serielle Schnittstelle (http://www.ircomm2k.de/) die Daten an den IR Port senden. Zugriff auf die Serielle Schnittstelle bekomst du über die .NET 2.0 Klasse System.IO.Ports.SerialPort.