halte es auch für eher unwahrscheinlich dass du das ding fängst... Erstens sind die sehr sehr schnell und zweitens sind sie durch ihre durchaus interessante fortbewegungsart sehr schwer für das auge zu verfolgen.
Habe zu hause hinundwieder selbst schlangen, war auch schon eine kreuzotter dabei. Da aber meine geheimwaffe eine Katze ist seh ich die meistens erst nachdem sie getötet wurden :P.
Kann dir nur auch empfehlen mal ne Katze von nem Nachbarn für ne Woche auszuborgen und das Problem erledigt sich von selbst ;)
All jenen welche mal was anspruchsvolles ohne viel Action und Animationen sehen wollen kann ich nur sehr Man from earth ans herz legen, eine der besten Dialoge die ich kenne!
backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
abonierst du das Event zum Wiederholten mal. Mit += wird eine Callbackmethode einer Liste entsprechend dem EventWe hinzugefügt. Wenn das Event jetzt auslöst wird jede Callbackmethode aufgerufen (Du legst deine Methoden immer wieder auf die Liste)
zu deinem Problem wie du das einlesen mehrfacher gleicher Zahlen verhinderst schlage ich vor dass in deiner klasse zahlenErfassen zu machen. Erstelle dort einer Methode "NaechstenTippAbgeben(int Tipp)" welche intern die 6 Tipps als liste oder array verwaltet (Die reihenfolge beim lotto ist ja egal. In dieser Mehode kannst du dann auch prüfen ob ein eintrag doppelt vorkommt durch durchgehen und vergleichen der bereits getippten einträge.
Es fehlt dir dann auch leichter zu prüfen wie veiele eingaben mit der ziehung üereinstimmen.
dann musst du den string durchlaufen jeden buchstaben auf int casten und addieren
genau so ist es, wobei du die Groß - Klein Buchstaben beachten musst, am besten wandelst du deinen Text mit der entsorechenden String Methode in Kleinbuchstaben um. Zum Wert deines Strings s an der Stelle i kommst du dann einfach mit:
Das Interface InterB wiederrum hat eine Eigenschaft vom Typen BasisA im Weiterem nur Prop genannt.
in den beiden Klassen B1 & B2 hab ich die Eigenschaft vom Typ BasisA angelegt. Jedoch verwende ich nicht den Typen BasisA sonder in der Klasse B1 den Typen A1 und in der Klasse B2 den Typen A2.
der Einfachheithalber in Codeform:
class BasisA
{ }
class A1 : BasisA
{ }
class A2 : BasisA
{ }
interface InterB
{
BasisA Prop { get; set; }
}
class B1 : InterB
{
public A1 Prop { get; set; }
}
class B2 : InterB
{
public A2 Prop { get; set; }
}
Bei dieser Architektur meldet der Kompiler wie folgt (Klassennamen durch die Pseudonyme ersetzt):
Zitat
"B1" implementiert den Schnittstellenmember "InterB.Prop" nicht. "B1.Prop" hat nicht den entsprechenden Rückgabetyp "BasisA" und kann "InterB.Prop" daher nicht implementieren.
und
Zitat
"B2" implementiert den Schnittstellenmember "InterB.Prop" nicht. "B2.Prop" hat nicht den entsprechenden Rückgabetyp "BasisA" und kann "InterB.Prop" daher nicht implementieren.
was das heißt ist mir leider nicht ganz klar. Da ja im Grunde ein impliziter Cast erfolgen sollte.
WinForms wird es noch Jahre geben, eine Adaptierung von WPF geht nicht so schnell. Nichts desto trotz ist es wesentlich schon jetzt auf die noch junge Technologie WPF zu setze. Persönlich hakte ich WPF für sehr vielversprechend und zielführender in der GUI erstellung als WinForms.
erstell dir von jeder Zeile einen Hashcode,diesen Speicherst du dann in einem dictionary mit <index, hashcode> lässt dir das dictionary nach den hashcodes sortieren und gehst anschliessend das selbige durch, wenn 2 mal hintereinander der leiche hash kommt weißtdu anahnd des indexes welche zeile gelöscht werden muss.
hoffe das war einigermasen verständlich, war ein langer tag.
mfg Markus
PS: bei 800MB wird es aber trotzdem eine Zeit brauchen, du könntest dich mal mit multithreading auseinander setzen. Sortieren oder auch suchen kann man beispielsweiße gut auf threads aufteilen.
ich hab meinen Programmiereinstieg mit VB6 gehabt. Warum vergleichst du bzw. warum wird immer wieder VB mit C++ gemessen? Die beiden Sprachen decken doch unterschiedliche interessens Gebiete ab. Man vergleicht ja auch nicht Äpfel und Birnen auf ihre Schönheit...
Meiner Meinung war VB eine gute Einsteigersprache, heutzutage macht es aber wenig sinn erste Erfahrungen in VB zu sammeln wenn es VB.net oder ohnehin C# gibt. Fortgeschrittene wissen nach einer Zeit ohnehin in welcher Sprache sie welche Aspekte nutzen können und worauf sie sich spezialisieren sollen.
Ein paar kleine relativierungen:
Zitat
Kein strukturierter Code. (meiner Meinung nach eher Geschmackssache als Nachteil)
Verstehe nicht wie du das meinst? Es gibt auch in VB sogennate Module bzw. Klassen.
Zitat
Braucht Runtime-Packages. Keine eigenständige Anwendung.
Auch C++ braucht eine Runtime Library
Zitat
VB-Code ist langsam.
Diese Aussage halte ihc für sehr allgemein gehalten.
Zitat
In C++ hab ich ja quasi die volle Kontrolle und wenn ich weiss was ich tue, kann ich alles mögliche damit machen.
So einfach gehts nun auch nicht auf Speicher fremder Anwendungen zu schrieben
Bei deiner Frage kann ich dir gezielt nicht weiter helfen, glaube aber nicht dass das trivial ist. Machbar ist vieles, wenn es aber geht wäre es ein ziemliches Sicherheitsleck.
Also wenn ich versuche einen String mit "SetText" in das Clipboard zu schreiben bekomme ich den Fehler:
Zitat
Für den aktuellen Thread muss der STA-Modus (Single Thread Apartment) festgelegt werden, bevor OLE-Aufrufe ausgeführt werden können. Stellen Sie sicher, dass die Hauptfunktion mit STAThreadAttribute gekennzeichnet ist.
wenn ich das befolge und die Main Routine umschreibe ergibt sich ja,
Du hast die Möglichkeit mehrere Projekte in einer Projektmappe zu vereinen, dadurch bist du im Prinzip autonom zwischen den Projekten hast es jedoch schön übersichtlich in VS.
Hatte es bisher noch nie als Methodenaufruf gesehen klingt aber schlüssig. Ich fülle mich ohnehin nicht gestört von diesem Syntax, im Gegenteil schreibe gern in 'C' Sprachen, wollte nur wissen warum man sowas macht (beschäftige mich gerade mit dem Parsen und Compilerbau)