Programmieren – die neusten Beiträge

Angular: Wieso wird Component zweimal aufgerufen?

Hi,

ich bin gerade dabei in Angular eine kleine Webseite zu erstellen. Einfach Just for Fun.

Kurz meine Components + Quellcode.

app-component.html

<app-toolbar></app-toolbar>


<router-outlet></router-outlet>

toolbar.component.html

<div class="head" style="background-color: darkgreen;">
    <div class="box">
            <button class="selectionButton" routerLink="/startseite">
                <div class="menuButton"></div>
                <div class="menuButton"></div>
                <div class="menuButton"></div>
            </button>
    </div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">TypeScript</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">Java</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton" routerLink="/htmluebersicht">
            <font size="5">HTML</font>
        </button>    
    </div>
    <div class="box">
        <button class="selectionButton">
            <font size="5">Cypress</font>
        </button>
    </div>
</div>

html-page.component.html

<p>html-page works!</p>

Wenn ich jetzt auf den Button HTML ("/htmluebersicht") klicke, kommt der Text "html-page works!" .... Alles gut, so solls.
Wenn ich jetzt aber wieder auf den Menü Button ("/startseite") klicke wird meine toolbar.component.html irgendwie zweimal auf der Webseite angezeigt.

Weis jemand wieso die toolbar dann zweimal angezeigt wird?

Ich hoffe es ist verständlich was ich meine.

Computer, Programm, HTML, Webseite, programmieren, Frontend, TypeScript, Angular

Speicherung von Variablen in Python, Expertenfrage?

Eine Frage zu dem Übergeben, bzw. Verknüpfen von Variablen.

Gibt es in Python etwas sowas wie Pointer, die nicht für den Nutzer verfügbar sind sondern nur innertechnisch existieren?

Das Problem: ich habe eine Objekt1 wo eine Position einer von einem anderen Objekt2, aber gleiche Klasse, übergeben wird (nur im __init__) und diese Variable in dem Obejekt1 gespeichert wird. Ich zeichne dann aus den beiden Objekten einen Punkt anhand der gespeicherten Positions-Vektoren. Nun das Problem: wenn ich die Variable des Objekt2 "ändere", "ändert" sich auch der Wert des Objekt1 obwohl ich den übergebenen Positionswert NIE mehr aktualisiert habe, somit überschneiden sich die beiden Punkte...

Nun das kuriose: wenn ich bei der Übergabe der Positionsvariable vom Objekt2 zu Objekt1 bei der SPeicherung nicht self.pos = pos SONDERN self.pos = pos+pygame.math.Vector2(0,0) sage, ändert sich dafür der Positionswert des Objekt1 NICHT MEHR... Genau das will ich ja.

Nun meine Theorie warum das so sein könnte... Wen ich self.pos = pos sage speichere ich die Speicheradresse von der Variable des Objekt2, ich referiere quasi darauf. Immer wenn er die Variable im Objekt1 braucht geht er zur Speicheradresse und zieht die Variable aus dem RAM raus. Wenn ich aber self.pos = pos+pygame.math.Vector2(0,0) sage, erzwinge ich durch +pygame.math.Vector2(0,0), dass er die Variabel speichert und nicht nur die Speicheradresse...

Ist meine Thorie richtig? Wenn ja, gibt es noch andere Wege nicht nur die Speicheradresse sondern den Variablen Wert zu speichern?

Danke an jeden der sich das durchgelesen hat xD

LG

Computer, Technik, programmieren, Informatik, Python, Technologie, Python 3

Spigot/Java ein value aus einer HachMap löschen?

Hallo ich versuche mal den code zusammenzufassen:

HashMaps:

public static HashMap<UUID, Chunk> map = new HashMap();
public static HashMap<UUID, Chunk> mapCreator = new HashMap();

Spieler:

Player player = (Player) sender;
UUID playerUUID = player.getUniqueId();

Zum erstellen der Stadt:

if (args[0].equalsIgnoreCase("create")) {
    if (!(Main.mapCreator.containsKey(playerBOSS)) && !(Main.map.containsKey(playerBOSS))) {
        if (args.length == 1) {
            Chunk town = player.getLocation().getChunk();
            Main.mapCreator.put(playerBOSS, town);
            Main.map.put(playerBOSS, town);
            player.sendMessage("Du hast eine Stadt erstellt!");
        }

dann kann man jemanden einladen und dann kann der mit /town accept annehmen

und wird mit:

Main.map.put(playerUUID, town);

hinzugefügt.

Und jetzt will ich das ich die Stadt löschen kann und nur der der auch die stadt erstellt hat, also jemand der in der map mapCreator ist und das value von dem key (seine UUID) gleich dem Chunk entspricht in dessen value der ist also sowas wie:

if (Main.map.get(playerUUID) == town) das habe ich auch so aufgeschrieben

so das er halt die town "meint" in dessen map/value der ist.

Ich bin mir nicht sicher ob das klappt aber jetzt kommt erst mein richtiges problem...

Wenn mehrere in meiner town sind gibt es ja mehrere keys zu einem value und die muss ich ja irgendwie auflisten können um sie alle auf einmal zu löschen, weil dann das value nicht mehr exestert ODER gibt es eine möglichkeit ein value aus einer hashmap zu löschen? im internett habe ich sowas wie: for (Map.Entry<UUID, Chunk> entry : Main.map.entrySet()) {
    UUID k = entry.getKey();
    Chunk v = entry.getValue();
    System.out.println("Key: " + k + ", Value: " + v);
    Main.map.remove(k);
}
Main.map.forEach((k, v) -> {
    System.out.println("Key: " + k + ", Value: " + v);
    Main.map.remove(k);
});

gefunden aber da kamen fehlercodes und es hat ncht wirklich funktioniert...

Kann mir jemand sagen wie ich den delete teil machen kann?

Computer, Technik, programmieren, Java, Minecraft, Technologie, Spiele und Gaming

Wie kann man mit Batch aus einer Textdatei ein Wort suchen und ein 2. Wort, was in der gleichen Zeile in Anführungszeichen steht, als Variable definieren?

Ich habe eine Textdatei (config.txt) mit folgenden Inhalt:

alpha = "Das ist der 1. Wert"
beta = "Das ist der 2. Wert"
gamma = "Das ist der 3. Wert"

Nun möchte ich mit meiner Batch-Datei (search.bat) nach dem Wort beta suchen, anschließend den Wert in den Anführungszeichen als Variable output speichern und am Ende mit echo %output% in der Batch-Datei ausgeben.

Wichtig anzumerken ist, dass das die Variable output (und damit auch die Ausgabe) ohne Anführungszeichen ist. Der Wert output entspricht demnach:

Das ist der 2. Wert

In der Batch-Datei sollen dabei folgende Bedingungen erfüllt werden:

1)

  • Das zu suchende Wort soll mit der Variable target beschrieben werden.
  • Außerdem soll der Pfad der Textdatei mit der Variable path beschrieben werden.

Am besten definiert man das ganz am Anfang.

set target=beta
set path="C:\Users\Timo\Documents\Wort-Suche mit BAT\config.txt"

2) Der Suchvorgang soll auch einwandfrei funktionieren...

  • ... wenn in der Textdatei keine Leerzeichen um das Gleichheitszeichen sind.
  • ... wenn in der Textdatei ganz viele Leerzeichen um das Gleichheitszeichen sind.
  • ... wenn ganz am Anfang der Zeile ein oder mehrere Leerzeichen sind.

Außerdem

Beispiel:

alpha="Das ist der 1. Wert"
beta   =   "Das ist der 2. Wert"
   gamma = "Das ist der 3. Wert"

Somit soll der Suchvorgang die Leerzeichen, die um das Gleichheitszeichen und vor den Variablen-Namen sind, komplett ignorieren.

Er soll sich nur anhand des Suchworts (beta) und den Anführungszeichen orientieren.

Ich habe mehrere Stunden versucht mein Problem selbständig zu lösen. Einige Forumsbeiträge schienen mir interessant, aber ich bin trotzdem zu keinem Ergebnis gekommen.

Hier sind die Links zu den beiden Beiträgen, die vermutlich bei der Lösung helfen.

Hallo, wie kann ich aus einer Textdatei über batch ein Wort suchen lassen und ein anderes was in der gleichen Zeile in Klammern steht ausgeben lassen ?

Wie verwende ich ein "(Anführungszeichen) als FOR / F-Trennzeichen in CMD.exe unter Windows 7?

Vielen Dank für eure Hilfe

Timo

Computer, Technik, programmieren, Batch, cmd, Technologie, Windows 10

Warum sind viele DLLs, die Windows zur Verfügung stellt, Bibliotheken, die nur von C / C++ gelesen werden können?

Ich probiere gerade alles mit statischen / dynamischen Bibliotheken zu verstehen (wir haben das in der Vorlesung nur kurz überflogen) und frage mich jetzt, warum die DLL-Dateien, die man auf Windows findet, überwiegend für C / C++ geschrieben sind.

Den Sinn hinter DLLs habe ich kapiert. Das sind im Prinzip Programmteile, auf die viele verschiedene Programme zugreifen können. Anstatt dass jedes Programm immer wieder seine Bibliotheken selbst mitbringt und dann lädt, kann man darüber eine Bibliothek von Windows aus laden und im Programm strenggenommen nur einen Pointer verwenden, um auf Funktionen der Fall zuzugreifen. Das spart dann eine Menge Speicherplatz.

Jedoch verstehe ich nicht so ganz, warum all diese Bibliotheken C- / C++-DLLs sind, die also ohne weiteres nur von diesen zwei Sprachen benutzt werden können. Ich habe jetzt schon viel gelesen, wo Leute z.B. in Java oder Python einige Windows-Bibliotheken (wie z.B. zipfldr.dll, was die Anweisung enthält, wie man in ZIP-Pakete, ohne sie zu entpacken, hineinschauen kann) nutzen wollten und das aber nur über Umwege funktioniert hat (wo im Übrigen auch C- / C++-Code benutzt werden musste).

Warum ist das so?

Ist das nicht ziemlich unpraktisch? Ich meine, dann müssten doch quasi alle Programme, die nicht in C oder C++ geschrieben wurden, entweder immer ihre eigenen DLLs beim Download mitbringen, was sehr speicherintensiv wäre oder man müsste, wenn man eine Windows-DLL z.B. in Java nutzen möchte, für jede Funktion, die man aus dieser nutzen wollte, sich in C eine Konvertierungsmöglichkeit zusammenbasteln. Und C / C++ wird zwar für viel Anwendungsprogrammierung verwendet, aber andere Sprachen sind doch weiter verbreitet, oder?

Ich hätte nur ein paar Ideen, warum das so ist:

  1. Windows wurde selbst zu großen Teilen in C(++) programmiert und bringt die DLL-Dateien nur mit, weil es die selber braucht.
  2. C(++) ist die bekanntere Sprache, die sehr hardwarenah noch vor Assembler funktioniert.
  3. C(++) wird mit Abstand am meisten für Anwendungsprogrammierung verwendet und die meisten Programme die man installiert sind somit in C(++) erstellt worden. Python z.B. nutzt man ja eher für Dinge wie KI oder Data Science, weil Python nicht so schnell ist.

Aber was ist der richtige Grund? Und gäbe es nicht eine Möglichkeit, dass alle Programme irgendwie auf die System-DLLs von Windows zugreifen könnten?

Computer, Technik, programmieren, Informatik, Technologie

Kennt einer von euch ein technisches Studienfach,welches AUCH für fleißige Mädels geeignet sein könnte,die nicht zu den hellsten Kerzen auf der Torte zählen,..?

… bzw. nur einen (Gesamt-) „IQ“ von 85 beispielsweise besitzen, jedoch eine längst abgeschlossene schulische Ausbildung aus einem eher technischen Bereich mit einem zusätzlichen vollen Abitur in der Tasche haben. Dieses Vollabi wurde jedoch angenommen aufgrund einer katastrophalen Erfahrung mit „Begabungsanalysen“ (bei EINER ganz bestimmten Studien- und Berufsberaterin) und der daraus entstandenen deutlich verschlechterten Arbeitshaltung sowie einer extrem unregelmäßigen Erledigung von Hausübungen mit einem eher schlechten 3er-Abi-Schnitt (2,9) leider erzielt… 🌩 🚫

Also… nochmal: 1.) Welches von „den“ technischen bzw. ingenieurwissenschaftlichen Studiengängen (Elektrotechnik, Bauingenieurwesen usw. usw.) würdet ihr einer vom rein Kognitiven her eher „dummen“ oder zumindest einer etwas weniger intelligenten Person am ehesten zutrauen? 2.) Und glaubt ihr außerdem, dass das Fach Elektrotechnik für einen „solchen“ Menschen einigermaßen machbar wäre, sobald dieser sich z.B. um ein Bestehen von Prüfungen generell extrem bemüht sowie ein mehr oder weniger großes Interesse für diesen Beruf entwickelt?

Computer, Arbeit, Beruf, Wissen, Lernen, Studium, Schule, Mathematik, Technik, Elektronik, IT, Menschen, programmieren, Noten, Berufswahl, Frauen, Talent, Gehirn, Kommunikation, Elektrotechnik, Wissenschaft, Intelligenz, Erfolg, Abitur, Bauingenieur, Bauingenieurwesen, Begabung, Fleiss, Informatik, Ingenieur, Ingenieurwesen, IQ, Logisches Denken, Schaltung, Theorie, Verständnis, Wille, Ziele, Fähigkeiten, Muehe, Ausbildung und Studium, Beruf und Büro

Meistgelesene Beiträge zum Thema Programmieren