Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9.912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Beiträge von Klotzkopp

  1. vor 1 Stunde schrieb Kackboon:

    Wenn ich dich richtig verstehe sorgt also diese diese Vererbung NICHT dafür, dass er die ListView aus der Form1 nimmt wenn ich diese verwenden möchte in der saveandload klasse? Ich dachte bislang dass man Zugriff auf die Objekte aus anderen Klassen (oder Formen) durch diese Instanziierung erhält und das man sie dann verwenden kann. Offensichtlich scheint das nicht der Fall zu sein.

    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. vor 19 Minuten schrieb Kackboon:

    Sollte doch eigentlich funktionieren soweit, oder nicht ?

    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. vor einer Stunde schrieb Kackboon:

    Dwarum zum Geier gibt er mir bei dem Prozentwert ständig nur eine " 0 " zurück statt das Ergebnis ( 9 / 11 ) als double anzuzeigen wie ich es ihm eigentlich gesagt habe^^ ?

    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.

  4. vor 3 Stunden schrieb Rienne:

    Er braucht die Energie von 100 Wh. Erbracht wird in einer halben Stunde aber eine Leistung von 50 W.

    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.

  5. vor 17 Stunden schrieb Tron_BetaVersion:

    Sie sind zwar gut, aber nicht mehr ausreichend.

    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?

     

    vor 17 Stunden schrieb Tron_BetaVersion:

    Ich benötige nur einen Ansatz. Falls du mir einen Rat geben kannst, wird er mir weiter helfen.

    Der Ansatz ist doch offensichtlich: Ändere deinen Client so, dass er sich mit einer anderen Versionsnummer beim Server anmeldet.

     

    vor 17 Stunden schrieb Tron_BetaVersion:

    Ich bin auf der Suche nach Alternativen, denn ich habe genug von stupiden Standards.

    Welche Standards sind das denn? Oder sind das nur Phrasen?

  6. vor 13 Stunden schrieb halcyon:

    Allerdings liegt das einzig und allein daran, dass eine reguläre Sprache keine Kontextfreie Grammatik besitzen darf. 

    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.

    vor 13 Stunden schrieb halcyon:

    Die Argumentation des endlichen Automaten ist nicht richtig, oder wenn, dann nur zum Teil, weil ein endlicher Automat nicht nur aus Zuständen und einem Eingabealphabet bestehen muss (siehe Turing Maschine), aber könnte. Je nach dem, mit welchem Eigenschaften man den endlichen Automaten mit einem Tupel definiert.

    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.

  7. vor 10 Minuten schrieb Gast RE: endlicher Automat:

    Darüber hab ich eine gewisse Vorstellung, ja. 

    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.

  8. vor einer Stunde schrieb Tician:

    Würde es dann in Klasse B so aussehen?

    Nein. Eigenschaft werden wie Member benutzt:

    A.Nummer = 15;
    int zahl = A.Nummer;

     

    vor einer Stunde schrieb Tician:

    Ich habe das schon öfter gesehen aber warum benutzt man das?

    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.

  9. vor 31 Minuten schrieb Crash2001:

    Hängt das nicht von der Übertragungsart ab, ob Flankenwechsel stattfinden?

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