Gib dem Bild (also dem img-Element) die folgende CSS Eigenschaft:
object-fit: cover;
Damit füllt das Bild die von dir vorgegebenen Maße aus, wird dafür aber zugeschnitten statt gestaucht.
Gib dem Bild (also dem img-Element) die folgende CSS Eigenschaft:
object-fit: cover;
Damit füllt das Bild die von dir vorgegebenen Maße aus, wird dafür aber zugeschnitten statt gestaucht.
Ich denke die schnellste Lösung in diesem Fall wäre einfach einen weißen Kreis hinter das Icon zu legen. Dafür könntest du ggf. ein Pseudo-Element (::before / ::after) verwenden, oder einfach ein div, das du um das <IoArrowUpCircleSharp> wrappst.
Mit `aspect-ratio: 1` oder für ältere Browser auch `padding-bottom: 100%` ist das quadratisch und mit `border-radius: 50%` ein schöner runder Kreis. Background-color geben, hinter dem Icon platzieren (falls du ein Pseudo-Element verwendest, ansonsten passt das eh schon) und dann sollte das klappen :)
Während `position: fixed` zwar funktioniert, hast du selbst schon das Problem davon gesehen: fixierte Positionierung nimmt das Element aus dem Document-flow und es nimmt keinen Platz mehr darin ein. Dadurch "rutschen" die darauf folgenden Elemente nach und die Navigationsleiste verdeckt den Anfang der Webseite.
Dieses Problem kannst du ganz einfach umgehen, indem du
position: sticky;
top: 0;
verwendest. Sticky Positionierung verhält sich zunächst ganz gewöhnlich und die Navigationsleiste nimmt ihren Platz am Anfang der Seite ein. Scrollt man allerdings runter, bleibt sie am oberen Rand (top: 0) kleben (sticky). Jetzt verhält sie sich so wie mit `position: fixed`.
Um darüber hinaus das Problem mit Sprungmarken (also Verlinkungen auf eine bestimmte Id auf der selben Seite via #id) zu lösen, kannst du
scroll-margin-top: ...;
z.B. zum entsprechenden Element mit der Id hinzufügen. "..." dabei natürlich mit der Höhe deiner Navigationsleiste ersetzen. Mehr dazu findest du hier: https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin
Die Menüleiste wirst du wahrscheinlich mithilfe von `position: sticky` oder `position: fixed` o.ä. oben platzieren. An dieser Stelle im CSS fügst du einfach noch die Zeile
z-index: 1000;
hinzu. Das sorgt dafür, dass die Menüleiste eine höhere z-Position hat, also vor den anderen Elementen mit niedrigerem z-index ist.
Es ist für ein Wirtschaft Projekt und dazu muss man keine aber sollte man eine App oder Website erstellen
(aus einem Kommentar von gestern)
Statt einer App würde ich eine Webseite empfehlen. Geht deutlich schneller und leichter zu entwickeln.
Also wäre zum einen günstiger, falls du wirklich jemanden beauftragen willst. Zum anderen könntest du das aber auch leichter selbst machen. Gibt inzwischen gute Tools um Webseiten grafisch, also ohne Programmieren, zu erstellen. Und auch ein wenig Code für eine Webseite kannst du einfacher selbst lernen und schreiben, als eine komplette App aufzusetzen.
Die einfachste Art einen POST-Request an den Server zu schicken ist mithilfe eines Formulars. z.B. so:
<form action="thenextpage.php" method="post">
<input type="text" name="yourinput"><br>
<input type="submit">
</form>
Der Grund warum ich als Ziel des Requests "thenextpage.php" angegeben habe, ist dass es vermutlich am leichtesten ist, zunächst ein PHP Backend zu bauen. Du kannst nämlich dann ganz normal HTML schreiben. Aber du kannst dazwischen auch immer kleine PHP-Code-Schnipsel verwenden. Für thenextpage.php dann zum Beispiel so:
<body>
<h1>I recieved your message:</h1>
<p><?php echo $_POST["yourinput"]; ?></p>
</body>
Hier verwendest du PHP um den Inhalt des Post-Request Parameters "yourinput" auszugeben.
Ich mein du kannst einfach das Linux PHP package installieren und damit PHP Code auf Android ausführen. Also im Terminal (bzw. per Termux App o.ä.) einfach
apt install php
Aber das mal beiseite, ich denke nicht, dass das was du da vor hast sinnvoll ist. Was genau willst du denn erreichen? Dafür muss es auch bessere Wege geben, als einen PHP Server auf Android zu hosten 😅
Ziemlich offensichtlich würde ich schwarz als Hintergrund- und grün und weiß als Primär-/Sekundärfarbe verwenden. Dann vielleicht klare Kanten ohne Abrundung, teilweise schräge Linien und große, kontrastreiche Typografie.
Was soll denn der Inhalt der Seite sein?
Während du wahrscheinlich bei vielen Tutorials noch eine Lösung mit `float: left` und dergleichen siehst, kann man inzwischen ganz einfach flex oder grid dafür verwenden.
Dazu packst du einfach die beiden Elemente in einen gemeinsamen Container und legst dann das Layout dieses Containers als flex fest. Zum Beispiel so:
<div class="outer">
<img src="https://picsum.photos/200/300">
<div class="inner">
Content
</div>
</div>
CSS:
.outer {
display: flex;
}
Hier als JSFiddle mit Resultat: https://jsfiddle.net/timlg07/qfswaezo/6/
Mit flex-base bei den Kindelementen und mit object-fit für das Bild kannst du das Layout dann noch an deine Bedürfnisse anpassen.
Das liegt daran, dass JavaScript denkt du würdest den Text (String) schon mit dem ersten Anführungszeichen beenden. Wenn du also
document.getElementById("main_div").innnerHTML = "<div id="evaluation"></div>"
schreibst, dann ließt der JS-Parser zunächst
document.getElementById("main_div").innnerHTML = "<div id="
und kann das darauf folgende evaluation nicht verarbeiten.
Um zu signalisieren, dass die Anführungszeichen bei deiner ID Teil des Strings sein sollen, kannst du diese mit einem Backslash escapen:
document.getElementById("main_div").innnerHTML = "<div id=\"evaluation\"></div>"
Alternativ kannst du übrigens Elemente auch direkt im DOM (Document Object Model) erstellen:
const mainDiv = document.getElementById("main_div")
const newDiv = document.createElement("div")
newDiv.id = "evaluation"
mainDiv.appendChild(newDiv)
Ist mMn die bessere und weniger fehleranfälligere Variante.
Ich würde dir darüber hinaus empfehlen eine anständige IDE (Entwicklungsumgebung) zu verwenden. Dann werden dir so einfache Syntax-Fehler direkt angezeigt.
Ich glaub du willst so etwas bauen, oder? https://codepen.io/ohSoupy/pen/eVMqpz
Läuft der Bot durchgehend? Dann würde ich einfach einen Timer anlegen, der nach 48h eine Funktion aufruft. Beispiel und weitere Infos: https://docs.python.org/3/library/threading.html#timer-objects
Den Code will ich sehen, ich glaube nicht, dass du in JSON die Discord API ansprichst 😅
Vermutlich meinst du JavaScript? JSON (=JavaScript Object Notation) ist nur eine Teilmenge von JS und ein reines Datenübertragungsformat.
JavaScript Code kannst du ganz einfach mit z.B. NodeJS lokal ausführen: https://nodejs.org/de/
Zufall. Zumindest meine Meinung.
Dieses Jahr zum Beispiel gibt es - wie in vielen anderen Jahren auch - 12 Tage, auf die diese Rechnung zutrifft:
Die Wahrscheinlichkeit, dass die Invasion auf so einen Tag traf, war also (wenn man annimmt, dass alle Tage gleich wahrscheinlich sind.)
Wenn du jetzt wirklich wissen willst, ob da mehr dahinter steckt, oder ob sich das stochastisch normal verhält, dann kannst du folgendes machen:
(Für die Berechnung kannst du z.B. folgendes Programm (JavaScript) verwenden:
const t0 = 2021, until = 2023, wars = [];
for (let year = t0; year <= until; year++) {
for (let month = 1; month <= 12; month++) {
for (let day = 1; day <= (month === 2 ? 29 : (month % 2 === 0) === (month < 8) ? 30 : 31); day++) {
const sum = day + month + Math.floor(year / 100) + Math.round((year / 100 - Math.floor(year / 100)) * 100);
if (sum === 68) wars.push(`${day}.${month}.${year}`);
}
}
}
console.log(wars.join('\n'))
)
Persönlich ist mir das zu viel Overhead für einen zu geringen Vorteil beim Design.
Kann dir die Razer Deathadder Essential empfehlen, funktioniert gut und hat nur etwa 30€ gekostet.
Du kannst dafür z.B. den Beep von `choice` missbrauchen, indem du statt einer Benutzereingabe einfach per Pipe eine leere Eingabe reingibst:
echo;|choice/N 2>nul
Für mehr Variation kannst du auch per run-dll folgende Funktion aufrufen:
rundll32.exe Kernel32.dll,Beep 750,300
(https://docs.microsoft.com/de-de/windows/win32/api/utilapiset/nf-utilapiset-beep)
Oder du verwendest dieses Skript hier, das einen Hybrid aus Batch und JScript darstellt:
https://raw.githubusercontent.com/npocmaka/batch.scripts/master/hybrids/.net/systemSounds.bat
Ich verstehe sehr gut, dass du hierbei wirklich den endgültigen, funktionierenden Code sehen willst. Denn die Back-slashes sind bei Regular Expressions in Java schon etwas tricky: Du musst zum einen die Back-slashes durch Doppelung für den Regex-Parser escapen und jeden davon zusätzlich noch einmal für Java escapen. Letztendlich brauchst du also 4 Back-slashes im String, um einen Back-slash zu repräsentieren:
String filePath = "C:\\Users\\administrator\\Desktop\\files";
String directoryPath = filePath.replaceFirst("\\\\[^\\\\]*$", "");
System.out.println(directoryPath);
[^\\\\] -- Dieser Teil repräsentiert jedes Zeichen außer Back-slashes und durch den darauf folgenden Stern * eben beliebig viele (auch 0) dieser Zeichen. So wird garantiert nur der letzte Teil abgeschnitten.
Output:
C:\Users\administrator\Desktop
Edit: Übrigens, ob du `replaceAll` oder `replaceFirst` verwendest, macht für das Resultat hier keinen Unterschied, da du eh maximal einen Match haben wirst.
Du kannst einfach den Wert in der registry setzen:
set "file=D:\Bilder\Beispiel.png"
REG ADD "HKCU\Control Panel\Desktop" /V Wallpaper /T REG_SZ /F /D "%file%" >nul
RUNDLL32 USER32.DLL UpdatePerUserSystemParameters 1 True
Allerdings funktioniert das Update nicht immer zuverlässig:
https://www.gutefrage.net/frage/nach-regedit-updateperusersystemparameters-funktioniert-nicht-zuverlaessig
Wenn das Hintergrundbild nicht allzu oft geändert werden soll, könnte man stattdessen aber das Neustarten des explorers (per cmd) in Betracht ziehen.
Mit dem Befehl
sqlcmd -S %ComputerName%\%instanz% -E
startest du sqlcmd und wartest dann auf die Beendigung des commands, also bis sqlcmd fertig ist.
Wenn du dieses Verhalten ändern möchtest, also die anderen Befehle parallel zu sqlcmd ausgeführt werden sollen, dann kannst du start verwenden. Hier sollte es genügen, einfach nur start vorne ranzustellen:
start sqlcmd -S %ComputerName%\%instanz% -E
Eventuell musst du das auch mit anderen Befehlen in deiner Batch machen, da ich diese aber nicht kenne, musst du das selber ausprobieren :)