Zum Inhalt springen

Pointerman

Mitglieder
  • Gesamte Inhalte

    516
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Pointerman

  1. Pointerman

    C potenzrechnung ?

    Ja, jede Formelsammlung und auch Wikipedia. Let me google that for you Beim Wikipediaeintrag gibt es eine schoene Tabelle! Gibt es da nicht einen Spruch in der Richtung "Gott hilft dem, der sich selbst hilft!"? Die Hemmschwelle eine Suchmaschine zu benutzen scheint immer hoeher zu werden...
  2. Da hat Frank natürlich völlig recht! Den Code habe ich mir gar nicht so genau angeschaut, wie ich zu meiner Schande gestehen muss.:old Aber jetzt habe ich mal einen Blick drauf geworfen un drate Dir, Deine Indizes anzuschauen. Sowohl bei der inneren Schleife, als auch bei der Obergrenze der inneren Schleife. Da sieht man aber auch mal wieder, dass eine sprechende Variablenbenennung helfen kann Fehler schneller zu entdecken, bzw erst garnicht zu begehen.
  3. Moin! Ich moechte Deine Frage mit einer Gegenfrage beantworten, die Dich hoffentlich auf den richtigen Weg bringt: Wo ist denn Dein Array var fertig sortiert? An dieser stelle wuerde ich dann die sortierten Elemente ausgeben.
  4. Naja, die Property "Filename" des OpenFileDialoges liefert ja Pfad und Dateinamen zurueck. Ich denke nicht, dass da jemand auf die Idee kommt und den Pfad abschneidet. Da Du ja nur im Parentform Zugriff hast, natuerlich dort. Ausserdem ergibt es sich ja schon dadurch, dass Du damit steuern willst, ob ueberhaupt ein neues Childform angelegt werden soll. Ersteinmal garnicht. Was moechtest Du denn da eintragen?
  5. Generell: Schau Dir mal in der Hilfe zum MdiParent an! Es gibt die Property MdiChildren. Die Laenge gibt an, wiviele Children vorhanden sind. Also: if (MdiChildren.Length == 0) Erstell Dir eine Liste in der Du die Dateinamen speicherst. Wenn Der Dateiname noch nicht in der Liste ist, fuegst Du den Dateinamen hinzu. Wenn er noch nicht vorhanden war, dann erstellst Du ein neues Child.
  6. Erstmal: Das Ausschneiden sieht doch schoneinmal gut aus! Zum Rest: Sehen wir uns noch einmal Deinen Ursprungscode an: Der IF-Else-Block sollte sich auch im Child befinden. Was Du bisher noch nicht machst, ist eine Ueberprufung, ob die Datei wirklich gespeichert wurde. Also evtl noch ein Rueckgabewert fuer die Oeffentlich Methode des Childforms. Das setzen des Parentformtitels und des Status muss natuerlich im Parentform geschehen, also in der menuSpeichern_Click.
  7. Klar waere dann ein Interface der richtige Weg. Alle Childforms implementieren es und man hat einen schoenen, einheitlichen Zugriff vom Parentform. Aber wie gesagt, das waere vielleicht etwas viel fuer den Anfang und ich dachte mir, dass die verlagerung der Logik in die Childforms schon ein Schritt in die richtige Richtung waere und sie sich so gleich angewoehnt, so zu arbeiten.
  8. @Mächtiger Pirat Geschmackssache. Ich denke es ist ganz praktisch, wenn man die Logik weitesgehend vom Parentform trennt. So kann man auch Childforms mit anderen Elementen/Inhalten verwenden und speichern lassen, ohne dass man jedes mal das Parentform anpassen muss. Was wären denn Argumente für das Speichern im Parentform?
  9. Die genaue Manipulation der Richtextbox hat in der Parentform nichtsmehr zu suchen! Wie gesagt, ist die Bearbeitung der Richtextbox in den Childforms zu kapseln. Du scheinst ja die Verarbeitung noch im Parentform zu haben. Schauen wir uns mal das Beispiel an: void menuSpeichern_Click(object sender, EventArgs e) { if (richTextBox1.Text.Length == 0) return; else if (this.strFile == null || this.strFile.Length == 0) this.SaveDocument(); else this.SaveToFile(); this.SetFormTitle(); toolStripStatusLabel1.Text = "Texteditor - Gespeichert"; } Im Parentform muss daraus etwas in dieser Art werden: void menuSpeichern_Click(object sender, EventArgs e) { ((Form2)ActiveMdiChild).SaveTextFile(); } Und im Childform hast Du dann die Manipulation des Richtextcontrols: public void SaveTextFile() { if (richTextBox1.Text.Length == 0) return; else richTextBox1.SaveFile(OpenFileName); } Anmerkung: in OpenFileName habe ich mir nach dem Laden des Dokuments gleich den Dateinamen gespeichert, damit ich dann beim Speichern diesen Dateinamen verwenden kann. Anmerkung2: Nach dem erzeugen des Childs in meinem vorhergehenden Posting habe ich vergessen beim Child die Property MdiParent zu setzen. Wenn dies nicht geschieht, findet das Parentform kein ActiveChild. Also nochmal der Oeffnenteil in richtig: private void OpenFile(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { string FileName = openFileDialog.FileName; if (System.IO.File.Exists(FileName)) { Form2 child = new Form2(); child.MdiParent = this; child.OpenTextFile(FileName); child.Show(); } } }
  10. Oh, sorry, da war ein uebergeben zuviel im Text, weil ich den Text zu unaufmerksam geaendert hatte. Einfach gesagt, geh vor, wie es .NETler gesagt hat. D.h. erstell Dir in Deinem Childform eine oeffentliche Methode OpenFile die als Parameter den Dateinamen nimmt: public void OpenTextFile(string Filename) { richTextBox1.LoadFile(Filename); } In der Parentform musst Du dann nur noch in OpenFile Dein Childform erstellen und dann die OpenFilemethode oeffnen: private void OpenFile(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal); openFileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*"; if (openFileDialog.ShowDialog(this) == DialogResult.OK) { string FileName = openFileDialog.FileName; if (System.IO.File.Exists(FileName)) { Form2 child = new Form2(); child.OpenTextFile(FileName); child.Show(); } } } Ist getestet und funktioniert. Bei Fragen noch einmal fragen!
  11. .NETler hat schon geschrieben was zu tun ist: Du musst Deinem Childform eine Methode hinzufuegen, die sich um das Oeffnen und Anzeigen kuemmert. Analog zu seinem SetMyTextbox benoetigst Du dann wohl eine OpenFile Methode. Das heisst, wenn Du in Deinem Parentform den OpenFileDialog ausgefuehrt hast und den Dateinamen hast, dann uebergibst fuehrst Du die oeffentliche Methode OpenFile aus und uebergibst den Dateinamen. Die restliche Logik wird dann im Childform ausgefuehrt und muss/soll das Parentform nichts angehen.
  12. Let me google that for you Oft ist es deutlich schneller seine Frage wortwörtlich bei google einzugeben, statt sie ins Forum zu stellen!
  13. Moin! Naja, eigentlich hat jedes Stück Software, das läuft die Eigenschaft auf den Arbeitsspeicher zuzugreifen. Der ICS(Internet Connection Sharing) ist nicht "irgendein" Protokoll, sondern dient dazu, die Internetverbindung eines PC anderen Geräten zugänglich zu machen. In der Regel ist dies heute nicht mehr nötig, da in der Regel die verschiedenen Rechner über einen Router ins Netz gehen. Solltest Du ICS nicht brauchen, kannst Du es also auch deaktivieren.
  14. Hast natürlich recht, an der Position rumdrehen, ohne i zu verändern ist natürlich Käse und würde Ärger verursachen. An sich war die Idee aber nicht so schlecht, weil dann die länge des Suchwortes nicht wieder neu durchsucht werden muss. Allerdings dürfte dann die Position nicht so wie im code weitergesetzt werden, weil ja das letzte gefundene (erste falsche) Zeichen ja der Beginn eines Suchworttreffers sein könnte. Das mit dem Doppeltgemoppelt habe ich aber immernoch nicht verstanden. Man läuft durch die Datei und prüft jeweils, ob das Suchwort an der Position enthalten ist. Was soll an der Überprüfung mit einer Schleife denn doppelt sein?
  15. Moin! Ich bin mir nicht sicher, ob Nature oder Science die richtigen Zeitschriften für einen neuen Algorithmus sind. Hast Du Dir außerdem mal Gedanken gemacht, wie groß die Anzahl an wissenschaftliche Veröffentlichungen pro Jahr ist und wie viele davon wirklich in den o.g. Magazinen erscheinen? Das müsste wohl schon ein echter Knüller sein, den Du da hast. Soweit ich es kenne, haben die Magazine immer eigene Vorgaben und bieten teilweise eigene Dokumente an, die Format und Gliederung vorgeben. Wenn Du Dich tatsächlich für die Nature interessierst, dann lies Dir mal folgenden Link durch: Nature: For authors and referees
  16. Eigentlich ist Dateilaenge -1 auch nicht richtig. Es muesste Dateilaenge-muster.Length-1 sein. Den Fehler an der y-Schleife kann ich immernoch nicht finden. Er sucht dann ja darin nicht bis zum Dateiende, sondern nur bis zum Ende des Suchstrings (und das nur, wenn er nicht vorher bemerkt, dass es nicht das Suchwort ist). Das sollte, nach der Anpassung der aeusseren Schleife korrekt sein. Wie ich in meiner ersten Antwort im Thread geschrieben habe, sollte er ausserdem in der aeusseren Schleife Pruefen, ob das Suchwort gefunden wurde, damit er nicht komplett durchlaufen muss.
  17. @VaNaTiC Wenn ich mich beim schnellen Schauen nicht geirrt habe diese: Boyer-Moore-Algorithmus und Algorithmus_von_Knuth-Morris-Pratt Zu Punkt 1. Deiner Anmerkungen an blubbla: Da passiert im Grunde nichts anderes, als in dem, von Dir in Punkt 5 beschriebenen Verfahren. Wenn das aktuelle Zeichen nicht mit dem Muster uebereinstimmt, wird aus der "y"-Schleife herausgeprungen, ansonsten wird weiter verglichen.
  18. Immer wieder faszinierend, wenn sich Leute im Forum anmelden und als ersten Post ein voellig Fachfremdes Thema anschneiden, bei dem sie auf eine Seite verlinken. Ich muss dann irgendwie immer an Werbung denken. Solltest Du Dich wirklich fuer das Thema interessieren, dann benutze mal die Forumssuche. Da gibt es nach kurzer Suche 5-6 Threads, in denen auch Tagesgeld vorkommt.
  19. Ich denke Du verwechselst da etwas. Nur weil Du nicht schulpflichtig bist, bedeutet das nicht, dass Du zuhause lernen darfst! Wenn Du nicht in der BS bist musst Du im Betrieb sein. Dem Bildungstraeger wuerde ich nicht unter die Nase reiben, dass Du daheim sitzt, wenn Du nicht in der BS bist. Wenn Dein Betrieb Dich zum Lernen freistellt ist es wohl fuer ihn ok, aber der Traeger koennte das anders sehen.
  20. Bubble hat schon völlig recht, dass ein anderes Suchverfahren Beschleunigung bringen könnte. Es wird ja immer wieder gerne behauptet, dass unnötiges Multithreading Programme unnötig kompliziert macht. Stimmt im Grunde auch, aber gerade bei diesem Problem, bei dem ja keine Lese-/Schreibkonflikte auftreten können, könnte man schon drüber nachdenken. Ja, ich meinte schon, dass Du die Datei ganz in den Speicher laden könntest. Der Zugriff auf einzelne Bytes ist einfach zu langsam. Bevor ich da auf Multithreading setzten würde, erstmal die Daten in größeren Blöcken laden. Ich habe mal ein Programm geschrieben, bei dem große Mengen Rohdaten anfielen und dann nach der Messung offline bearbeitet werden sollten. Da hat es sehr geholfen die Daten Blockweise einzulesen und zu verarbeiten, da es sehr viel schneller war als Byte für Byte. In Teilen und nicht ganz, weil Auslagern auch wieder kostet. Nach Nutzen/Aufwand geordnet würde ich folgendes vorschlagen: 1. Blockweise/komplettes Laden der Dateien 2. Besserer Such Algorithmus 3. Multithreading Du solltest dabei natürlich nach jedem Schritt testen, ob die Geschwindigkeit reicht. Man ist ja faul...
  21. Moin! Wenn ich mich nicht stark taeusche sollte das Lesen aus einer Datei Problemlos zeitgleich funktionieren. Warum sollte dabei auch gesperrt werden, es werden ja keine Zeichen "weggelesen". D.H. solltest Du gleichzeitig mit 2 Readern auf die Datei zugreifen koennen. Eine Vermutung ist noch, dass es schneller sein koennte, die Datei erst komplett zu Laden und dann zu verarbeiten, da das Lesen einzelner Bytes sehr langsam ist. Je nach Dateigroesse koenntest Du dann auch einfach grosse Bloecke einlesen, aber wenn es bei den 10MB bleibt solltest Du das nicht brauchen. Ausserdem solltest Du in Deiner Aeusseren Schleife, die ueber den ganzen Stream marschiert noch pruefen, ob ein Treffer gefunden wurde. Wenn naemlich im Worst Case Dein Suchwort ganz zu Anfang steht, suchst Du trotzdem fleissig weiter im restlichen Stream.
  22. Pointerman

    Freiberufler

    @King of Brain Warst Du denn als Freiberufler eingestuft, oder als freier Mitarbeiter? Der Unterschied ist, dass Du als Freiberufler keine Gewerbesteuer zahlst, bzw kein Gewerbe anmelden musst. Als Freiberufler kann sich beim Finanzamt auch nicht jeder einfach melden, sondern es muessen bestimmte anforderungen erfuellt werden. Einfachste Art der Erfuellung ist hierbei, einem der Katalogberufe Katalogberufe anzugehoeren. Dabei handelt es sich dann eben meisst um Berufe, die man studieren muss. Die urspruengliche Frage zielt aber wohl eher darauf ab, wann sich ein Fachinformatiker als Freiberufler einstufen kann. Dazu sei hier mal folgender Wikipedia-Link genannt, der ein schoender Ausgangspunkt zum Thema Freiberufler und unstudierter Programmierer ist: Freiberuf ? Wikipedia Ich weiss, dass Wikipedia nicht die Antwort auf alle Fragen ist/sein muss, aber von dort wird auch auf Gerichtsurteile verwiesen.
  23. Ergänzung: Du kannst das Problem auch mit einem OR lösen: If Not( feld = "test1" Or feld = "test2") Then ddl.Items.Add("Alle") End If [/PHP]
  24. Ich hoffe ich liege nicht voellig falsch, aber: Du entscheidest ja mit Deinem If nicht wann nicht ausgefuehrt werden soll, sondern wann ausgefuehrt werden soll. Wenn ich das Problem richtig erfasst habe, soll nur ausgefuehrt werden, wenn nicht test1 UND nicht test2 ist. Bei einem und wuerde er also auch ausfuehren, wenn eine der Bedingungen nicht zutrifft. F1 = feld <> "test1" F2 = feld <> "test2" E = F1 AND F2 Wertetabelle: F1|F2|E -------- 0 |0 |0 0 |1 |0 1 |0 |0 1 |1 |1 E ist das Ergebnis, das bestimmt, ob das Add ausgefuehrt wird. Du willst nur ausfuehren, wenn es weder "test1" noch "test2" ist.
  25. Moin! Ich wuerde jetzt mal behaupten, dass Dein OR nicht richtig ist. Es muessen ja beide Bedingungen erfuellt sein und nicht nur eine. Ausserdem wurde ich bei einem Test auf Ungleich auch den entsprechenden Operator benutzen: <> If feld <> "test1" AND feld <> "test2" Then ddl.Items.Add("Alle") End If [/PHP]

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...