Ich hab das Problem inzeischenlösen können, indem ich die scaleTrasnform nicht mehr nutze. Die hat irgendwelche Probleme gemacht. ????
Trotzdem Danke!!! Ist natürlich soweiso besser einzelne Varis zu locken anstatt gleich das ganze Objekt. Danke für den Tipp!
hi,
weiss nich obs auch einfacher geht, aber ich hatte mir mal ne hilfsklasse dafür von TcpClient abgeleitet, weil der das Socket-Objekt versteckt, das einem diese Auskünfte geben kann.
hier die klasse:
public class myTCPClient : System.Net.Sockets.TcpClient
{
myTCPClient(TcpClient client) : base()
{}
public String RemoteIP()
{
return this.Client.RemoteEndPoint.ToString();
}
}
die Funktion RemoteIP liefert zwar die ip zurück, aber analog dazu bekommt man von RemoteEndPoint auch andere infos.
grüsse
Stoichkov,
Stoichkov schrieb:
Gibt es eine Möglichkeit in C# den Benutzernamen und das Passwort beim Start eines Programmes mit zu übergeben?
Du kannst via "Impersonation" als ein anderer Nutzer agieren - guckst Du hier.
juhu, danke, habs gefunden. für alle, dies interessiert, in #Develop findet ihr das so:
Projekt->Projekteinstellungen->Konfigurationen->Debug/Release(je nachdem)->Ausgabe->AusgabeTyp von Exe auf WinExe stellen.
Danke nochmal, bye
Ich habe eine Lösung gefunden!
Die TreeNode-Klasse, besitzt das Attribut "Tag". Diesem Attribut lässt sich ein beliebiges(!) Objekt zuweisen, so auch Text in Form von System::Text::StringBuilder! Dieser Text lässt sich dann in einer Textbox bearbeiten:
Text wird eingegeben ...
private: System::Void textBox2_TextChanged(System::Object * sender, System::EventArgs * e)
{
System::Text::StringBuilder * temp = new System::Text::StringBuilder();
temp->Remove(0, temp->Length);
temp->Append(textBox2->Text);
treeView1->SelectedNode->Tag = temp;
}
Ein anderer Knoten wird im TreeView ausgewählt ...
private: System::Void treeView1_AfterSelect(System::Object * sender, System::Windows::Forms::TreeViewEventArgs * e)
{
textBox2->Text = "";
if (treeView1->SelectedNode->Tag != 0)
{
textBox2->Text = treeView1->SelectedNode->Tag->ToString();
}
}
habe noch n bissel rumprobiert nur bekomme ich jetzt den fehler "untergeordnete liste für tb_personen kann nicht erstellt werden"
oSqlConn.Open();
string sql="SELECT id AS Id, name AS Name,vorname AS Vorname,"+
"klasse AS Klasse,klassenzusatz AS Kurs FROM tb_personen "+
"WHERE klasse="+strklasse;
//instanz der frmanzschueler erzeugen
frmanzschueler clsschueler = new frmanzschueler();
//DataAdapter für Tabelle tb_personen erstellen
tb_dapersonen = new SqlDataAdapter(sql,oSqlConn);
tb_dapersonen.MissingSchemaAction = MissingSchemaAction.AddWithKey;
//DataGrid an DataSet binden
clsschueler.dgridschueler.DataSource = dspersonen;
clsschueler.dgridschueler.DataMember = "tb_personen";
//DataSet füllen
dspersonen.Clear();
tb_dapersonen.Fill(dspersonen, "tb_personen");
Moin jungs,
so ich hab ein little problem und zwar möchte ich gerne daten aus einem dataview speichern und zwar in einen *.txt file. dies macht mein proggy auch doch nur sehr sporadisch. denn immer wenn ich auf speicher geh schreibt er mal 5 von 10 mal 3 von 10 mal 8 von 10 einträgen usw.
ich hätte doch aber gerne alle daten gespeichert. wo kann denn der fehler liegen??
so was noch is ich hab das ers mit einer foreach schleife gamcht da kamm beim speichern von merh als 2 beiträgen immer die fehlermeldung von VS "in zeil ... wurde kein eintrag gefunden" und er bricht ab nun hab ich es eben mit einer normalen for schleife lösen wollen aber jetzt geschieht eben das oben beschriebene
so hier mal der codeschnipsel der speicherprozedur (kann das auch an was anderem liegen als an der speicherprozedur???)
StreamWriter sw = new
StreamWriter(".\\textdatei.txt",false);
dataView1.RowFilter = "Export = 0";
System.Data.DataRowView DRV;
for ( int I=0; I < dataView1.Count; I++ )
{
DRV = null;
DRV = dataView1[I];
if ( DRV != null )
{
sw.Write (DRV["Nummer"].ToString());
sw.Write (DRV["Tag"].ToString());
sw.Write (DRV["Datum"].ToString() +";");
sw.Write (DRV["Veranstalltungsname"].ToString() +";");
sw.Write (DRV["Ort"].ToString() +";");
sw.Write (DRV["Extras"].ToString() +";");
sw.Write (DRV["Eintritt"].ToString() +";");
sw.Write (DRV["Veranstallter"].ToString() +";");
sw.Write (DRV["Art1"].ToString() +";");
sw.Write (DRV["Art2"].ToString() + ";");
sw.Write (DRV["Landkreis"].ToString() +";");
sw.Write (DRV["Bezirk"].ToString() +";");
sw.Write (DRV["Zahl"].ToString());
sw.Write (DRV["Musik"].ToString() + ";");
sw.Write (DRV["Benutzername"].ToString());
sw.Write (DRV["Hyperlink"].ToString() + ";");
sw.Write (DRV["Status"].ToString());
sw.Write (DRV["TopEvent"].ToString() + ";");
sw.Write (DRV["Ansprechpartner"].ToString() + ";");
sw.Write (DRV["Name"].ToString());
sw.Write (DRV["Email"].ToString() + ";");
sw.WriteLine (DRV["Telefon"].ToString() + ";");
DRV [ "Export" ] = "1";
}
}
dataView1.RowFilter = "";
sw.Close();
}
thx for help
Jover schrieb:
In C# gibt es keinen Präprozessor (also auch kein #define).
Natürlich gibt es in C# ein define, nur hat es nicht denselben Zweck wie ein C++ define.
#define TRAIL
#if TRAIL
Console.WriteLine("Das wird in der Trainigsverion kompiliert.")
#endif
Console.WriteLine("Das wird in allen Verionen kompiliert.")
Meiner Meinung nach ist das Buch "Windows Programmierung mit Visual C#" von Charles Petzold eines der schlechtesten Bücher die ich bisher zu C# in der Hand hatte aber das ist Geschmackssache. Wenns sehr ins Detail gehen soll findet man da zwar mehr als in anderen aber der schreibstill und die Erklärungen sind nicht das meine.
Ich persönlich bin von dem Buch "Visual C# Grundlagen, Programiertechniken, Windows-Programmierung" von Frank Eller und Michael Kofler total begeistert. Wenn dir das was hilft unter http://www.addison-wesley.de findet man ne Leseprobe
Ja habe ich überprüft, ich habe ja an der Db nichts geändert. Un vorher ist sie auch gegangen.
Das ist der SQl String
SELECT Main.Name, Languages.Language, [OperatingSys].OperatingSystem, Main.Applications, Main.AdditionalInfo, Main.Link "+
"FROM OperatingSys INNER JOIN (Languages INNER JOIN Main ON Languages.ID_Language=Main.Language) ON [OperatingSys].ID_OperatingSystem=Main.OperatingSystem "+
"WHERE (((Languages.Language)='German') And (([OperatingSys].OperatingSystem)='Windows 98') And ((Main.Applications) Like '%SQL Server 2000%'))";
Hi die sind schon drin, hat VS selber reingemacht, aber es hat sich erledigt, da ich das ganze jetzt in einer sehr coolen Engine programmiere. Und da läuft es flüssig ^^