Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Du hast eine falsche Vorstellung von Klassen und Objekten. Das kommt jetzt vermutlich überraschend: Form1 hat kein ListView. Eine Klasse ist ein Bauplan. Stell dir einen Bauplan von einem Schrank vor. Der Schrank hat laut Plan eine Tür. Wenn ich jetzt auf den Plan zeige und dich bitte, die Tür zu öffnen, wirst du berechtigterweise fragen: "Welche Tür? Die Tür von welchem Schrank?". Form1 ist der Bauplan. Jedes Objekt, das nach dem Form1-Plan erstellt wird, hat ein ListView. Das Objekt wird irgendwo im automatisch generierten Code erzeugt. Wenn du eine Klasse saveandload deklarierst und von Form1 erben lässt, hast du zunächst einmal nur einen weiteren Bauplan, der besagt, dass jedes nach diesem Plan gebaute Objekt ein Form1 ist, mit den zusätzlichen Extras, die noch in dem saveandload-Bauplan stehen. Und wenn du ein neues saveandload-Objekt erzeugst, steckt da auch ein neues Form1-Objekt drin. Und das hat natürlich auch ein neues ListView. Das ist aber das falsche ListView. Um auf das Beispiel mit dem Schrank zurückzukommen: Wenn du die Tür einen ganz bestimmten Schranks öffnen willst, bringt es nichts, wenn du einen neuen Schrank baust und dessen Tür öffnest.
  2. Ich wundere mich, dass das überhaupt übersetzt werden kann. In button1_Click erstellst du ein saveandload-Objekt, und machst nichts damit. Dann erstellst du ein Fehlermeldungen-Objekt mit den Texten deiner Form und rufst dessen add-Methode auf. Die Methode Fehlermeldungen.add hast du leider nicht gezeigt. Die Methode saveandload.add, die du gezeigt hast, rufst du nicht auf, der Aufruf ist auskommentiert. Wenn das wirklich kompiliert wird, woher hat saveandload textBox4, comboBox2, listView1 usw.? Das sind Member von Form1, die sollten in saveandload nicht bekannt sein, es sei denn, du hast da irgendeine Vererbung konstruiert oder diese Member auch zu saveandload hinzugefügt. Beides wäre Unsinn. Wenn du saveandload von Form1 abgeleitet hast, dann erzeugst du mit new saveandload() eine neues Form-Objekt, das natürlich auch sein eigenes ListView hat, das nur (noch) nicht angezeigt wird. Du kannst nicht erwarten, dass Einträge, die du in dieses neue ListView steckst, in deinem eigentlichen auf Form1 erscheinen. Wenn du die Steuerelement-Member einfach so zu saveandload hinzugefügt hast, ist das Problem dasselbe: Das saveandoad.listView1 ist nicht dasselbe wie das, das gerade in Form1 angezeigt wird. Objektorientierung bedeutet nicht, dass man Methoden in Klassen sortiert und dann nach Bedarf neue Objekte erzeugt. Das ist aber ein Anfängerproblem, das man häufiger beobachten kann. Der Unterscheid zwischen Klasse und Objekt ist noch nicht ganz klar. Irgendwann macht's dann aber Klick. In deinem konkreten Fall: Wenn eine andere Klasse irgendwas mit dem ListView auf Form1 machen soll, braucht sie eine Referenz auf die Form oder das ListView.
  3. Bei PHP wundert mich ja gar nichts mehr. Konkret ist hier wohl das Problem, dass die Zend Engine nicht damit zurecht kommt, wenn man NULL als "By-Reference"-Argument übergibt. Bei JavaScript: Zeig mal ein Beispiel.
  4. Du kannst für Variablen keine "Berechnungsvorschriften" im Code hinterlegen. Das geht einfach nicht. Unter anderem dafür gibt es Properties. Der Getter wird jedesmal ausgeführt, wenn lesend darauf zugegriffen wird.
  5. Du solltest nichts anderes ändern. Dass beim ersten Programm 0 herauskommt, liegt nämlich daran, dass du Prozent nicht neu berechnest, nicht daran, dass eine Ganzzahldivision stattfindet.
  6. Schön. Setz Global.CounterAll mal auf 5000.
  7. Unsinn. Der Divisor ist double, also ist das Ergebnis auch double.
  8. Es ist egal, wo du die Variable anlegst. Eine Variable ändert nicht automatisch ihren Wert, wenn du eine andere Variable änderst. Du kannst so ein Verhalten mit einem Property abbilden.
  9. Weil du prozent nur ein einziges Mal berechnest, zu einem Zeitpunkt, an dem counterall 0 ist. Die Variable prozent aktualisiert sich nicht automatisch mit, wenn du counterall änderst.
  10. 3.000 MBit sind 3.000.000.000 Bit, nicht 3.000.000. Die Umrechnung von Bit in MiB ist auch falsch.
  11. Wenn ein Bild 768000 Bit Speicherplatz braucht, und du 94608000 Bilder speichern musst, wie viel Platz brauchst du insgesamt?
  12. Der Server hat eine Leistungsaufnahme von 100 W, egal ob er 24 Stunden läuft (dann braucht er 100W * 24h = 2400Wh Energie, nicht Leistung), oder eine halbe Stunde (dann braucht er 100W * 0,5h = 50 Wh Energie). Wenn du unbedingt einen Zeitbezug in der Leistung haben willst, dann schreib halt Wh/h, aber wie man sieht, kürzt sich das sofort wieder raus.
  13. Es geht nicht um einen unrealistischen Wert. Es ist wirklich ein Einheitenfehler. Leistung hat die Einheit Watt, nicht Leistung pro Zeiteinheit.
  14. RC4 hast du aber vollständig verstanden?
  15. std::string::substr heißt die Methode in C++.
  16. Ein schönes Beispiel dafür, wie man Anfänger dazu bringt, sich das Loop-Switch-Antipattern anzugewöhnen.
  17. Das heißt, sie funktionieren manchmal, aber nicht immer? Sie funktionierten früher, aber jetzt nicht mehr? Was meinst du mit gut, was meinst du mit ausreichend? Der Ansatz ist doch offensichtlich: Ändere deinen Client so, dass er sich mit einer anderen Versionsnummer beim Server anmeldet. Welche Standards sind das denn? Oder sind das nur Phrasen?
  18. Das ist Unsinn. Reguläre Sprachen sind eine Untermenge der kontextfreien Sprachen. Jede reguläre Grammatik ist auch kontextfrei. Meintest du, dass eine reguläre Sprache keine nicht-kontextfreie Grammatik besitzen darf? Die beschriebene Sprache ist übrigens kontextfrei, nur eben nicht regulär. Wenn man mit formalen Sprachen hantiert, ist es nützlich, den endlichen Automaten als Turingmaschine mit bestimmten Einschränkungen zu verstehen. Siehe auch hier: https://de.wikipedia.org/wiki/Chomsky-Hierarchie#.C3.9Cbersicht Also nochmal: Eine Sprache ist genau dann regulär, wenn es einen eine Turingmaschine gibt, die die Sprache akzeptiert, und die nur lesen und sich nur in eine Richtung bewegen kann. Letzteres nenne ich einen endlichen Automaten.
  19. @halcyon Ich muss das präzisieren: Dein Automat erfordert, dass das Zeichen an der aktuellen Position der Turingmaschine Bestandteil des Eingabealphabets ist, weil deine Zustandsübergänge darauf beruhen. Es gibt keinen endlichen Automaten, der die beschriebene Sprache über dem Alphabet (a, b) akzeptiert.
  20. Ein endlicher Automat hat aber keine angeschlossene Turingmaschine.
  21. Eine Sprache ist genau dann regulär, wenn es einen endlichen Automaten gibt, der die Sprache akzeptiert. Beispiel: Eine Sprache, deren Wörter aus beliebig vielen Wiederholungen der Abfolge ab bestehen (also ab, abab, ababab usw) ist regulär. Ein einfacher Automat mit zwei Zuständen akzeptiert alle Wörter dieser Sprache. Eine Sprache, deren Wörter aus beliebig vielen Wiederholungen von a, gefolgt von genauso vielen Wiederholungen von b besteht (ab, aabb, aaabbb usw.), ist nicht regulär. Du kannst keinen endlichen Automaten dazu konstruieren, weil du dir beim Auswerten der b quasi "merken" müsstest, wieviele a in dem Wort waren.
  22. Da das ein abstraktes Konzept aus der theoretischen Informatik ist, wird es ohne ein paar Formelzeichen kaum zu erklären sein. Schon der Begriff "Sprache" hat nichts mit dem zu tun, was man sich umgangssprachlich darunter vorstellt. Weißt du, was ein endlicher Automat ist?
  23. Was waren das für gute Ratschläge, und warum haben sie für dich nicht funktioniert? Wieviel Erfahrung hast du mit Reverse Engineering?
  24. Nein. Eigenschaft werden wie Member benutzt: A.Nummer = 15; int zahl = A.Nummer; Weil es viel flexibler ist. Such mal nach String.Format, das ist die Methode, die hier eigentlich zum Einsatz kommt. WriteLine leitet das nur weiter.
  25. Natürlich. Jedes real existierende Datenübertragungssystem wird auf der physikalischen Schicht eine Codierung vornehmen, die Flankenwechsel auch dann erzeugt, wenn die Nutzdaten nur aus Dauer-0 (oder Dauer-1) bestehen. Aber wenn die hier beschriebene Codierung schon der Leitungscode sein soll, wenn man die so codierten Daten irgendwie "direkt" auf einen Draht geben würde, wäre das eine mögliche Überlegung des Lehrers. Wie gesagt, nur eine Vermutung meinerseits.

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...