warum ignorierst du ständig meinen hinweis auf ein protokoll? du hast eine falsche vorstellung davon was sockets sind.
du kannst auch jedesmal nur ein byte mit Receive in einen buffer schreiben und per schleife deine nachrichten zusammenbauen (nicht effizient aber ich will den punkt verdeutlichen).
nunja ich klinke mich mal aus hier. habe nun dreimal gesagt was wesentlich ist, der rest liegt bei dir.
Du kannst SQL Server Compact verwenden. SQLlite, etc.
Du kannst ein "echtes" RDBMS verwenden. MySQL, MSSQL, Oracle
Im Grunde egal.
Gröbster Unterschied. RDBMS ist für viele Client ausgelegt. Kann auch auf anderem Server liegen. u.v.m.
Links für C# und DB hast Du ja bereits.
Alles klar. An solch eine Datenmanager Klasse hatte ich auch schon gedacht, aber in meinem konkreten Fall geht es tatsächlich nur um die IP Adresse und um die ID, also eine "IPAddress" und um einen int. Da schätze ich eine eigene Klasse eher als Overkill ein, auch wenn damit schön Seperation on Concerns erfüllt würde. Diese Klasse würde nichts anderes machen, als das Event, welches vom Server getriggert wurde, weiterzutriggern und schließlich der GUI zu sagen, dass diese nun über siedie Daten vom Server holen kann.
Wären es mehr Daten oder müssten diese noch verarbeitet werden, dann würde ich deinen Plan sofort umsetzen.
Thx a lot
Nur so als Idee:
Type.GetHashCode()
Ansonsten siehe die anderen Antworten. Die 4 Bytes pro Instanz werden dich kaum stören. Du probierst hier unnötig zu optimieren.
Grüssli
blurry333 schrieb:
Wann immer man sein eigenes Design will muss man also QT nehmen. Diese Schlussfolgerung ziehe ich.
Genau und daher verwende kein C# mehr, steige auf Qt um, trolle in einem anderen Forum und lass uns endlich in Ruhe.
Überprüf mal, ob dir Bring back DbContext.Detach() method with an extension method (EF5) oder Entity Framework Code First - No Detach() method on DbContext weiterhilft.
Also erst 'detach'en und dann dem neuen DBContext 'attach'en.
Konstruiere dir beim Erzeugen der einzelnen Nodes einfach jeweils ein Objekt einer eigenen Klasse (welche die Informationen über das Verzeichnis und/oder Datei enthält) und hänge dieses Objekt an die TreeNode.Tag-Eigenschaft, welche du dann im DrawNode-Ereignis benutzen kannst.
Noch besser ist es den TreeView dynamisch aufzubauen, d.h. nicht zu Beginn schon alle Unterverzeichnisse auszulesen, sondern zuerst nur die erste Ebene (und evtl. zweite Ebene, damit der Anwender sieht ob es darunter dann Unterverzeichnisse gibt - durch Anzeige des Plus-Icons). Durch Anlegen eines Dummy-Nodes kannst du dann beim TreeView.BeforeExpand-Ereignis entscheiden, ob der Subtree schonmal angezeigt wurde oder ob die Verzeichnis-Daten erst nachgeladen werden müssen.
Kurz und knapp gibt es unter File Explorer using Treeview controller in C# 2.0 ein ähnliches Beispielprojekt.
Hallo Communitionen!
Ich habe eine Richtextbox unter die mit der Controls (nicht Forms) mit Richtextbox.Selection und System.Windows.Document die Windows-ClipBoard zum Copy&Paste nutzt, um X-beliebigen Objekte einzuführen.
Wenn mir der Typ der Objekte bekannt waren, bekam ich die Bildung und Ansteuerung des Handle ganz gut hin zwecks Ausmessung und Analyse der Objekte.
Habe ich allerding eine unbekannte Datenstruktur - einen Mix aus Text, Bilder und Tabellen etc. - finde ich einfach keine Basisschnitte oder Methoden, um mit 'object bla' top-down zu kommen, um einen handle und Typ finden.
Habt Ihr vielleicht eine Idee oder Ansatz für mich?
Da es sowas geben muss beweist Win ja selbst.
Danke geeky
Eine Form gibt es da leider nicht, bzw lässt sich nicht so ansprechen, wie du es geschrieben hast
Das mit den Javascripts ist doch echt nervig
Das mit den Parametern hat allerdings geklappt bei einem anderen Programm, vielen Dank dafür
Habe nun nach langer Suche zufällig eine API gefunden, mit der ich dem Ziel einen guten Schritt näher gekommen bin
Habe dort jetzt zwar ebenfalls ein problem, aber versuche es erstmal selbst zu lösen (auch wenn ich denke alles schon versucht zu haben^^)
Bis dahin schöne Grüße,
Stryke
Hallo zusammen,
vielen Dank.
Es ist richtig, ich hatte gestern oder so das Problem, dass static ints nicht reinitialisiert wurden (wenn auch in einem anderen Zusammenhang) und daher musste ich eines meiner Programme umbauen.
Und es ist mir mit meiner Methoden ebenfalls passiert, dass sie beim Systemordner C:\ eine Exception geworfen hat.
Ich schaue mir also sehr gern die Beiträge in dem Link an und peppe meine Methode dementsprechend auf. Schließlich benutze ich sie ja so ungefähr bei fast jedem Programm...
Ich habe mittlerweile so viel gelesen (einiges ist tatsächlich älter und noch vom Stand 4.0) und nachgeschlagen, dass ich mich gar nicht mehr entsinnen kann, woher ich das mit der ArrayList habe.
Ich gräme mich jetzt aber nicht sehr, immerhin hat die Methode bisher funktioniert und ich habe ja alle Fäden in der Hand, diese jetzt mit moderneren Datentypen zu verbessern.
Da ich noch nicht sehr lange programmiere, versuche ich, die Probleme mit dem zu lösen was ich kenne, "IEnumerable<string>" sieht erstmal fremd aus und muss nachgeschlagen werden. Es sieht für meine Anfängeraugen viel wilder aus als
eine ArrayList.
Womöglich graben wir Anfänger daher immer wieder die ArrayList aus und man kriegt sie einfach nicht totgetreten.
Viele Grüße, Yvonne
spellsleeper schrieb:
In einer Jar Datei sind die Bibliotheken ja auch meist mit eingebunden.
Nein? Die Jar Dateien werden in Java meistens per Classpath bekannt gegeben, damit sie geladen werden können. Das bringt dir den Vorteil, dass du viel einfacher einzelne Bereiche patchen/austauschen kannst.
Wieso willst du nicht auf DLLs angewiesen sein?
Grüssli
CJens schrieb:
Mache ich das nicht mit "= new TreeNode[]"?
Ich bekomme keine Fehlermeldung... aber der komplette Code im Anschluss wird nicht mehr ausgeführt.
Nein, durch das new TreeNode[] wird nur das Array angelegt, was danach aber aus null Einträgen besteht. Die Einträge selbst musst Du auch konstruieren TVAllUser[i] = new TreeNode(...)
Wenn der Code im Anschluss nicht ausgeführt wird, wird irgendwo eine Exception stillschweigend geschluckt die bei bei TVAllUser[i].Text = ... entsteht.
/rant/ schrieb:
public class MultiMap<TKey, TValue>
{
/// <summary>
/// gets the collection for the given key
/// </summary>
/// <param name="key">the key</param>
/// <returns>the collection</returns>
public List<TValue> this[TKey key]
{
get
{
List<TValue> values = new List<TValue>();
if (!this._innerDictionary.TryGetValue(key, out values))
{
this._innerDictionary.Add(key, values);
}
return values;
}
set
{
...
}
}
}
Das ist hoffentlich nicht dein Ernst...
Abgesehen davon dass das verschwänderisch ist, ist es sogar falsch. Das fügt dir null ein wenn auf einen nicht existierenden Key zugegeiffen wird. Wobei man um das zu sehen nichtmal wissen muss was TryGetValue genau tut. TryGetValue MUSS den out Parameter überschreiben, das ist nunmal die Regel bei out Parametern.
public class MultiMap<TKey, TValue>
{
/// <summary>
/// gets the collection for the given key
/// </summary>
/// <param name="key">the key</param>
/// <returns>the collection</returns>
public List<TValue> this[TKey key]
{
get
{
List<TValue> values;
if (!this._innerDictionary.TryGetValue(key, out values))
{
values = new List<TValue>();
this._innerDictionary.Add(key, values);
}
return values;
}
set
{
...
}
}
}