Vorstellung AndyNET

    • Beta
    • Open Source

    Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

      Vorstellung AndyNET

      Hallo, heute möchte ich euch bitten, mein kleines Programm zu testen, jede Fehlermeldung bringt mich weiter!

      Name:
      [AndyNET Netzwerk Tool]

      Beschreibung:
      Mit AndyNET kann man verschiedene Netzlaufwerke oder Server in Windows zentral verwalten, dazu wird die serverseitige User-Steuerung unterstützt.
      Das Programm beinhaltet auch noch einige kleine "Tools" die ich einfach mal geschrieben habe, z.b. Ein zentraler Launcher für alle bekannten Spiele Launcher, (Steam, Uplay, usw.)
      andy2002.de/user/AndyNET/ | Beschreibung und auch die Möglichkeit zum Herunterladen.
      Verwendete Programmiersprache(n) und IDE(s):
      [VB.NET]

      Systemanforderungen:
      Framework 4.8 - Full-HD-Auflösung, 50 MB Festplattenspeicher+ 1 MB unter %Appdata%/AndyNET/ Internetverbindung muss zu andy2002.de zugelassen werden

      Systemveränderungen:
      Programmeintrag in die Registry, Startmenü-Eintrag und Desktop Shortcut

      Download(s): (Direkt Download)
      andy2002.de/user/AndyNET/Locales/NetSetup.msi | 15,4 MB (16.163.840 Bytes)

      Lizenz/Weitergabe:
      Freeware

      Beitrag nach unzulässiger Leerung wiederhergestellt ~VaporiZed
      Bilder
      • 1.jpg

        65,11 kB, 758×563, 36 mal angesehen
      • 2.jpg

        127,92 kB, 1.271×567, 35 mal angesehen
      • 3.jpg

        172,49 kB, 1.528×568, 36 mal angesehen
      • 4.jpg

        137,03 kB, 1.537×518, 33 mal angesehen
      • 5.jpg

        93,82 kB, 750×565, 29 mal angesehen

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „VaporiZed“ ()

      Ein Tool welches Zugriff auf Server hat und gleichzeitig selbst Zugriff ins Internet benötigt?
      Durch welche IT-Security wird sowas denn zugelassen?
      Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
      Verstehe leider nicht was dies nun machen soll?
      Welche Daten soll ich da eingeben? Adresse des Windows Servers und dann den Admin Zugang? Was genau macht dein Tool?
      Was genau macht das Tool besser als schon der Server Manager von Windows wo ich alle meine Server hinzufügen kann?
      Einfach irgendwas in irgendeiner Struktur installieren ist sehr fragwürdig wenn hier keine Dokumentation vorliegt welche Verbindungen wann
      genau zu Stande kommen.

      Bitte einmal mehr zeigen was das Tool überhaupt macht. Kann mir grad NICHTS darunter vorstellen.
      Mach mal ein Video was genau da verwaltet wird oder am besten eine richtige Dokumentation.
      Gibt es da Source Code den man sich anschauen kann? Zwecks Sicherheit? Ohne zu wissen wie genau was für Verbindungen hergestellt werden
      wirds schwer das überhaupt irgendwo zu installieren.
      Grüße , xChRoNiKx

      Nützliche Links:
      Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen
      Also nichts für Ungut, aber das ist ein Tool, was ich niemals im Leben auf eines meiner oder meiner Kundenserver installieren würde.

      Ein Server ist nicht einfach nur ein Computer, sondern da werden Kunden- und Endkundendaten drauf verwaltet. Dein Tool funkt offenbar nach Hause, ohne dass irgendwo geklärt wird, was es genau tut.

      Optik ist natürlich Ansichtssache, aber es ist nichts, was professionell genug aussieht, damit ich einem meiner Kunden sagen könnte "Hier, dieses Tool füllt eine Lücke und das sollten wir installieren".

      Außerdem sehe ich nichts, was ich nicht auch, wie @xChRoNiKx es schon schreibt in meiner gewohnten Umgebung dafür, den Server Manager, verwalten kann.
      Was noch zu erwähnen ist, ist dass die meisten Server keinen oder einen mageren Video-Output haben.

      Außerdem:

      ​Das Programm sendet einen Ping an unseren Server zur Verbinduns Verifizierung (SSL)


      Da hast du A) einen Tippfehler und B) was geht dich das an, ob ich damit online gehe oder nicht? Was wird verifiziert?
      Wenn es hier schlicht um Updates ginge, wäre ich voll dabei und dafür. Aber eine so intransparente Angabe kann ich nicht trauen.
      Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

      Meine Firma: Procyon Systems
      Meine Privatwebseite: SimonC.eu

      Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
      Ich versuche auf euch zurückzukommen :)
      ​Abgesehen vom usecase sieht das Design aus wie Paint 1980


      Ich verstehe sowieso nicht, wie man es hinbekommt, dass ein Interface so altbacken aussieht. Macht doch wesentlich mehr Arbeit das so altbacken auszusehen als wenn man gleich die Standard Fensterrahmen verwendet. Ich rede da gar nicht von Formhintergründen oder Icons. Sondern das "sonderbare" Fenster"design".

      Wenn es ein alter Code ist, der aus dem "Jahre Schnee" stammt, dann versteht man das - früher war der Geschmack etwas anders.
      Liebe Grüße
      Roland Berghöfer

      Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
      Wo ist der Unterschied zu dem hier: AndyNET Netzwerk Tool

      Das hast 2020 schon mal vorgestellt.
      Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

      Meine Firma: Procyon Systems
      Meine Privatwebseite: SimonC.eu

      Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
      Ich versuche auf euch zurückzukommen :)
      Danke für die Kritik.
      1. Das Tool ist nicht für professionelle und gar Kundensysteme gedacht, sondern als Lösung im Heimnetzwerk.(Mit verschiedenen Benutzern, die verschiedene Rechte auf den Servern (NAS) haben.
      2. Der Anruf Nachhause ist für den Versionscheck, da wird einfach nur geschaut, ob ich etwas an der Version geändert hat. (Schlägt diese fehl, weil keine Internetverbindung verbunden ist z.b. startet das Programm nicht.)
      3. Ja die Optik, die ist halt komplett selber gemacht. Und noch lange nicht fertig. Da stecke ich viel Arbeit rein, es so zu haben, wie ich das gerne will. Am Aufbau hab ich mich übrigens bei sehr vielen "Modernen" Programmen orientiert.

      Und ja ein ähnliches Produkt hatte ich 2020 bereits mal vorgestellt, aber durch Datenverlust hab ich alles neugeschrieben, und vieles im Code gleich richtig gemacht sowie einiges verbessert.
      Noch mal zum Verständnis: Das ist nichts Professionelles, (Sonst würde ich dafür ja Bezahlt werden), sondern es ist mein Hobby, und daher entspricht es keinster weise den Üblichen gewerblichen Mist, den es so gibt.
      Wer ein Netzwerk plus NAS hat, mit Freigabe + Benutzerverwaltung, dann das gerne mal testen, alle anderen rate ich es ab. Da es eben NICHT für gewerbliche Kunden und Dienstleistungen gedacht ist!

      Edit: Es dient eigentlich dazu Laufwerke von NAS Freigaben in Windows einfach einzubinden. Beispiel wäre: User 1 hat das Recht im Netzwerk auf "Daten" zuzugreifen, man gibt dem Programm also den Pfad des NAS an und die Freigabe "Daten" (\\NAS\Daten) im Programm erstellt der Admin dann ein Benutzer namens "User1" mit dem entsprechenden Passwort, welches im NAS für die Freigabe erstellt wurde.(Dazu muss der Admin in dem NAS natürlich entsprechende Freigaben und Benutzer und Passwörter anlegen)
      User 2 hat keine Rechte an "Daten" dafür aber an "Bilder" Die Erstellung läuft im Programm wie bei User1 so haben z.b. Familienmitglieder eine einfache Verwaltung und Verknüpfung zu "Ihren" Freigabeordnern auf dem NAS.
      Der Grund warum ich das schrieb, ist das ebene Windows immer wieder die Netzwerklaufwerkverbindungen "vergisst" und man sie neu einbinden muss.
      Hoffe, es erklärt nun einiges mehr. Einige Funktionen sind Ideen von meinem Sohn, so z. B. der (Game Launcher) der zentral die meisten Spiele Clients startet.

      Ich kann sagen, seit wir es produktiv bei uns im Netzwerk nutzen, sind die Anfragen nach Hilfe verstummt.
      Was kommt noch: Gewünscht ist Zugriff auf Apple Cloud, da muss ich mal schauen, ob ich das je umsetzen kann.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Andy2002“ ()

      Neu

      Moin moin
      Auch wenn ich davon, was das Programm macht nicht viel verstehe, finde ich einiges doch hmmm... ?(

      Internetverbindung muss zu andy2002.de zugelassen werden...

      Über Geschmack lässt sich ja nicht streiten, aber wenn ich eine Verbindung zu einer Webseite zulassen muss, die einen solchen Auftritt hat, werde ich skeptisch. Sorry wenn das vielleicht etwas hart klingt, aber die Seite sieht für mich etwas "verspielt" aus.

      Das Tool ist nicht für professionelle....

      Könnt man bei der Vorstellung gleich richtig verdeutlichen, das es sich nur um eine App für den "Hausgebrauch" handelt.

      ​Schlägt diese fehl, weil keine Internetverbindung...startet das Programm nicht.

      Finde ich als User schon seltsam, das ich ein Programm nur dann nutzen kann wenn ich online bin und eine eine dauerhafte Verbindung zu einer seltsamen Webseite haben muss :!: ?(
      Einen Versioncheck kann man anders, besser realisieren.

      In diesem Sinne :)
      Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

      Neu

      Amelie schrieb:

      dass ich ein Programm nur dann nutzen kann, wenn ich online bin


      Unabhängig von Andys Programm möchte ich Amelies Kommentar aufgreifen. Die Tatsache, dass ein Programm eine Verbindung nach Hause herstellen muss, erinnert mich eher an teure, amerikanische und lizenzierte Programme wie z.B. PSpice oder Altium Designer. Bei jeder gestarteten Simulation wird erst der Server befragt, um die Gültigkeit der Lizenz des Nutzers zu überprüfen. Zumindest ist das mein Wissensstand von vor ein paar Jahren.

      Neu

      Andy2002 schrieb:

      sondern als Lösung im Heimnetzwerk.

      Explorer -> Dieser PC -> Rechtklick -> Netzlaufwerk einbinden.
      Windows führt dich durch den gesamten Prozess. Was macht dein Programm besser?

      Andy2002 schrieb:

      Der Anruf Nachhause ist für den Versionscheck

      Das Programm sendet einen Ping an unseren Server zur Verbinduns Verifizierung (SSL). Es werden keine Nutzerdaten, Verhalten oder Sonstige Daten wärend der Benutzung gesammelt.

      Aha. Riecht für mich eher nach Bs, aber gut. Sei's drum.

      Andy2002 schrieb:

      (Schlägt diese fehl, weil keine Internetverbindung verbunden ist z.b. startet das Programm nicht.)

      Und wie rechtfertigst du das? "Oh nein, ich kann nicht sehen wie viele Leute mein Programm nutzen..." oder wie?

      Damit lockst du keine Leute, sondern schreckst sie ab. Noch mehr, als mit der UI schon.

      Andy2002 schrieb:

      Da stecke ich viel Arbeit rein, es so zu haben, wie ich das gerne will. Am Aufbau hab ich mich übrigens bei sehr vielen "Modernen" Programmen orientiert.

      Das glaube ich dir, dass du da viel Arbeit reinsteckst. Dass du dich an "modernen" Programmen orientierst halte ich ebenfalls für weit hergeholt. Das Icon ist von Windows Vista.
      Das Bild mit dem grünen und gelben Pfeil gibt's bei iconfinder seit 2010. Der Icon dahinter wird (meine ich) bei einer alten Version von Gnome oder KDE verwendet.

      Eine moderne UI hast du da allerdings sicherlich nicht.

      Andy2002 schrieb:

      Und ja ein ähnliches Produkt hatte ich 2020 bereits mal vorgestellt, aber durch Datenverlust hab ich alles neugeschrieben, und vieles im Code gleich richtig gemacht sowie einiges verbessert.

      Und hast dann die UI 100% nachgebaut? Oder die Screenshots nicht aktualisiert?
      Warum hast du denn nicht einfach das Dekompilat der Binary genommen und daraus ein Projekt erstellt?

      Andy2002 schrieb:

      Das ist nichts Professionelles, (Sonst würde ich dafür ja Bezahlt werden)

      Dass das nichts professionelles ist, sieht man.
      Dafür würde ich aber auch keinen Cent bezahlen, zumal es (auch für den Heimgebrauch) keinen Mehrwert bringt. Zumindest nicht nach dem, was du hier geschrieben hast.

      Andy2002 schrieb:

      den Üblichen gewerblichen Mist, den es so gibt.

      Also ich finde eine professionelle UI mit nützlichen Tools ist kein Mist. Im Gegenteil. Der Server Manager von Windows und auch sämtliche anderen Tools finde ich sehr gelungen.
      Ebenfalls die Community Versionen von den entsprechenden Tools.

      Andy2002 schrieb:

      Da es eben NICHT für gewerbliche Kunden und Dienstleistungen gedacht ist!

      Auch für Privatpersonen würde ich da eher die Windows-eigenen Sachen eher empfehlen.
      support.microsoft.com/en-us/wi…e3-a7e2-4801-131475f9557d

      Das ist in wenigen Klicks geschafft.

      EDIT:

      Ich schaue mir das gerade im Detail an und ich habe sehr viele Fragen...




      C#-Quellcode

      1. this.DRIVE_LETTERS = new string[10]
      2. {
      3. "V:",
      4. "S:",
      5. "P:",
      6. "M:",
      7. "O:",
      8. "R:",
      9. "K:",
      10. "L:",
      11. "T:",
      12. "I:"
      13. };


      Warum erlaubst du deinen Usern, nur 10 Laufwerke einzubinden? Lies doch einfach aus, welche Pfade noch frei sind.




      Ich denke das Tool soll ein Netzwerkadmintool sein?
      Wozu dann ein Webradio? Bzw. mehrere?

      C#-Quellcode

      1. internal virtual ToolStripMenuItem RadioSenderToolStripMenuItem





      Das hier könnte ein Resultat des Dekompilierens sein, aber falls nicht:

      C#-Quellcode

      1. GC.RemoveMemoryPressure(1L);
      2. GC.Collect();


      Warum fummelst du am GC?




      C#-Quellcode

      1. private string GetDriveLetter(int index) {
      2. if (index >= 1 && index <= this.DRIVE_LETTERS.Length)
      3. return this.DRIVE_LETTERS[checked (index - 1)];
      4. throw new InvalidOperationException("Ungültiger Index für Laufwerksbuchstaben.");
      5. }


      Du schmeißt hier den falschen Exception-Typ. Das müsste ein "ArgumentOutOfRangeException" sein. learn.microsoft.com/en-us/dotn…ngeexception?view=net-8.0




      C#-Quellcode

      1. private void Login() {
      2. try {
      3. this.Rek = Registry.CurrentUser.OpenSubKey("Software\\Andy2002 Media Systems\\AndyNET\\Einstellungen", true);
      4. string str1 = Conversions.ToString(this.Rek.GetValue("benutzer"));
      5. this.Usr.AddRange((IEnumerable<string>) str1.Split(','));
      6. string str2 = Conversions.ToString(this.Rek.GetValue("passwort"));
      7. this.pws.AddRange((IEnumerable<string>) str2.Split(','));
      8. this.UsernameBox.Items.AddRange((object[]) str1.Split(','));
      9. this.PasswordBox.Items.AddRange((object[]) str2.Split(','));
      10. this.Rek.Dispose();
      11. this.Rek.Close();
      12. }
      13. catch (Exception ex) {
      14. ProjectData.SetProjectError(ex);
      15. this.UsernameBox.Items.AddRange((object[]) MySettingsProperty.Settings.benutzer.Split(','));
      16. this.PasswordBox.Items.AddRange((object[]) MySettingsProperty.Settings.passwort.Split(','));
      17. int num = (int) MessageBox.Show("Ein Fehler in der Registrierung verhindert das Laden der Benutzerdaten, es werden nun System Standart Daten geladen.");
      18. ProjectData.ClearProjectError();
      19. }
      20. }


      Du speicherst jawohl keine Userdaten als Klartext, oder?




      C#-Quellcode

      1. try {
      2. Process.Start("net.exe", string.Format("use {0} {1} /user:{2} {3}", (object) buchstaben[checked (num1 - 1)], (object) propertyValue, (object) text1, (object) text2));
      3. int num2 = (int) MessageBox.Show(string.Format("Laufwerk {0} erfolgreich verbunden!", (object) buchstaben[checked (num1 - 1)]), "Erfolg", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
      4. }
      5. catch (Exception ex) {
      6. ProjectData.SetProjectError(ex);
      7. int num3 = (int) MessageBox.Show(string.Format("Fehler beim Verbinden mit Laufwerk {0}", (object) buchstaben[checked (num1 - 1)]), "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Hand);
      8. ProjectData.ClearProjectError();
      9. }


      Hier führst du einen Befehl auf der Konsole aus, wo alle Argumente in Klartext übergeben werden.




      Spoiler anzeigen

      C#-Quellcode

      1. private void Radio_MediaChange(object sender, _WMPOCXEvents_MediaChangeEvent e) {
      2. this.LABinterpret.Text = this.Radio.currentMedia.getItemInfo("Artist") + "Verbunden: " + Conversions.ToString(this.Radio.isOnline);
      3. this.LABtitel.Text = this.Radio.currentMedia.getItemInfo("Title");
      4. this.LABinterpret.Visible = true;
      5. this.Timer1.Enabled = true;
      6. this.Timer1.Start();
      7. this.Timer1.Interval = 5000;
      8. this.LABtitel.Visible = false;
      9. GC.Collect();
      10. }
      11. private void PlayerBeendenToolStripMenuItem_Click(object sender, EventArgs e) {
      12. this.Radio.Visible = false;
      13. this.Radio.Ctlcontrols.stop();
      14. this.MenuStrip2.Visible = false;
      15. this.TextBox2.Visible = false;
      16. this.TrackBar1.Visible = false;
      17. this.Panel2.Visible = false;
      18. this.Label23.Hide();
      19. GC.Collect();
      20. }
      21. private void PlayerAusblendenToolStripMenuItem_Click(object sender, EventArgs e) {
      22. this.Radio.Visible = false;
      23. this.TextBox2.Visible = false;
      24. this.TrackBar1.Visible = false;
      25. this.Panel2.Visible = false;
      26. this.Label23.Hide();
      27. GC.Collect();
      28. this.PlayerWiederherstellenToolStripMenuItem.Visible = true;
      29. this.PlayerWiederherstellenToolStripMenuItem.Enabled = true;
      30. this.PlayerAusblendenToolStripMenuItem.Enabled = false;
      31. this.PlayerAusblendenToolStripMenuItem.Visible = false;
      32. }
      33. private void PlayerWiederherstellenToolStripMenuItem_Click(object sender, EventArgs e) {
      34. this.Radio.Visible = true;
      35. this.Panel2.Visible = true;
      36. this.TrackBar1.Visible = true;
      37. this.Label23.Show();
      38. this.TextBox2.Visible = true;
      39. GC.Collect();
      40. this.PlayerAusblendenToolStripMenuItem.Visible = true;
      41. this.PlayerAusblendenToolStripMenuItem.Enabled = true;
      42. this.PlayerWiederherstellenToolStripMenuItem.Enabled = false;
      43. this.PlayerWiederherstellenToolStripMenuItem.Visible = false;
      44. }
      45. private void EigenenStreamAbspielenToolStripMenuItem_Click(object sender, EventArgs e) {
      46. if (Operators.CompareString(this.TextBox2.Text, "", false) == 0) {
      47. int num = (int) MessageBox.Show("Bitte einen Stream einfügen");
      48. }
      49. this.Radio.URL = this.TextBox2.Text;
      50. this.LABtitel.Visible = true;
      51. GC.Collect();
      52. }
      53. private void MDRSPUTNIKRockToolStripMenuItem_Click(object sender, EventArgs e) {
      54. this.Radio.URL = "http://avw.mdr.de/streams/284331-1_mp3_high.m3u";
      55. this.LABtitel.Visible = true;
      56. GC.Collect();
      57. }
      58. private void AlternativeFMToolStripMenuItem_Click(object sender, EventArgs e) {
      59. this.Radio.URL = "http://www.alternativefm.de/afm_128.m3u";
      60. this.LABtitel.Visible = true;
      61. GC.Collect();
      62. }
      63. private void DJImpulseATGTranceToolStripMenuItem_Click(object sender, EventArgs e) {
      64. this.Radio.URL = "http://5.39.71.159:8430/streamTitle1=(#1 - 214/9999) DI Radio Digital Impulse - ATG Trance";
      65. this.LABtitel.Visible = true;
      66. GC.Collect();
      67. }
      68. private void DJImpulseMainToolStripMenuItem_Click(object sender, EventArgs e) {
      69. this.Radio.URL = "http://orion.shoutca.st:8643/stream";
      70. this.LABtitel.Visible = true;
      71. GC.Collect();
      72. }
      73. private void AndyNETRadioToolStripMenuItem_Click(object sender, EventArgs e) {
      74. this.Radio.URL = "http://tunein01.t4e.dj/main/dsl/mp3";
      75. this.LABtitel.Visible = true;
      76. GC.Collect();
      77. }
      78. private void SunshineLive90erToolStripMenuItem_Click(object sender, EventArgs e) {
      79. this.Radio.URL = "http://stream.sunshine-live.de/90er/mp3-192/Webradio-Player/";
      80. this.LABtitel.Visible = true;
      81. GC.Collect();
      82. }
      83. private void SunshineLiveEDMToolStripMenuItem_Click(object sender, EventArgs e) {
      84. this.Radio.URL = "http://stream.sunshine-live.de/edm/mp3-192/Webradio-Player/";
      85. this.LABtitel.Visible = true;
      86. GC.Collect();
      87. }
      88. private void SunshineLiveToolStripMenuItem_Click(object sender, EventArgs e) {
      89. this.Radio.URL = "http://stream.sunshine-live.de/mp3-192/Webradio-Player/";
      90. this.LABtitel.Visible = true;
      91. GC.Collect();
      92. }
      93. private void EinsLiveDigiToolStripMenuItem_Click(object sender, EventArgs e) {
      94. this.Radio.URL = "http://www.wdr.de/wdrlive/media/einslivedigi.m3u";
      95. this.LABtitel.Visible = true;
      96. GC.Collect();
      97. }
      98. private void ErHitsToolStripMenuItem_Click(object sender, EventArgs e) {
      99. this.Radio.URL = "http://listen.radionomy.com/1HITS80s.m3u";
      100. this.LABtitel.Visible = true;
      101. GC.Collect();
      102. }


      Alle Radiosender sind als Konstante eingetragen. Wie willst du damit umgehen, wenn eines davon nicht mehr existiert oder die URL ändert?



      Ehrlich gesagt habe ich danach keine Lust, mir weiter das anzuschauen.
      Einiges in dem Code kann ich durch Compileroptimierungen erkären, soweit also so gut. Daran habe ich nichts zu beanstanden.

      Aber der Rest vom Code ist wirklich Kraut und Rübe.
      Nicht nur die UI, sondern auch dass du Ressourcen wie "click.wav" hast, was sich anhört, als hätte ich in den 90ern gerade eine Flashseite aufgemacht.

      Aber wo ich wieder bei der UI gelandet bin, du hast gefühlte 30 verschiedene Icon-Styles dort eingebunden...

      Alles in allem, bin ich wirklich froh, dass ich das in einer Burner-VM heruntergeladen und geöffnet habe.




      Ich bin ja wirklich der letzte, der sich so abfällig über etwas ausdrücken will, aber das sieht aus, als wäre das ohne Sinn und Verstand programmiert worden.
      Keine Prüfung auf Usereingaben, Klartext-Userdaten, dann natürlich die "Always-On" Funktion, die völlig unnötig ist.

      Dann dass du hier falsche Angaben über mögliche Systemveränderungen machst.
      Von wegen, du legst nur einen Starteintrag in der Registry ab.

      Spoiler anzeigen

      C#-Quellcode

      1. public static void Autoload() {
      2. RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("Software\\Andy2002 Media Systems\\AndyNET\\Einstellungen", RegistryKeyPermissionCheck.Default);
      3. MyProject.Forms.AROPT.TextBox1.Text = Conversions.ToString(registryKey.GetValue("Server1Adresse"));
      4. MyProject.Forms.AROPT.TextBox11.Text = Conversions.ToString(registryKey.GetValue("Server1Name"));
      5. MyProject.Forms.AROPT.TextBox2.Text = Conversions.ToString(registryKey.GetValue("Server2Adresse"));
      6. MyProject.Forms.AROPT.TextBox12.Text = Conversions.ToString(registryKey.GetValue("Server2Name"));
      7. MyProject.Forms.AROPT.TextBox3.Text = Conversions.ToString(registryKey.GetValue("Server3Adresse"));
      8. MyProject.Forms.AROPT.TextBox13.Text = Conversions.ToString(registryKey.GetValue("Server3Name"));
      9. MyProject.Forms.AROPT.TextBox6.Text = Conversions.ToString(registryKey.GetValue("Server4Adresse"));
      10. MyProject.Forms.AROPT.TextBox16.Text = Conversions.ToString(registryKey.GetValue("Server4Name"));
      11. MyProject.Forms.AROPT.TextBox5.Text = Conversions.ToString(registryKey.GetValue("Server5Adresse"));
      12. MyProject.Forms.AROPT.TextBox15.Text = Conversions.ToString(registryKey.GetValue("Server5Name"));
      13. MyProject.Forms.AROPT.TextBox4.Text = Conversions.ToString(registryKey.GetValue("Server6Adresse"));
      14. MyProject.Forms.AROPT.TextBox14.Text = Conversions.ToString(registryKey.GetValue("Server6Name"));
      15. MyProject.Forms.AROPT.TextBox10.Text = Conversions.ToString(registryKey.GetValue("Server7Adresse"));
      16. MyProject.Forms.AROPT.TextBox19.Text = Conversions.ToString(registryKey.GetValue("Server7Name"));
      17. MyProject.Forms.AROPT.TextBox9.Text = Conversions.ToString(registryKey.GetValue("Server8Adresse"));
      18. MyProject.Forms.AROPT.TextBox18.Text = Conversions.ToString(registryKey.GetValue("Server8Name"));
      19. MyProject.Forms.AROPT.TextBox8.Text = Conversions.ToString(registryKey.GetValue("Server9Adresse"));
      20. MyProject.Forms.AROPT.TextBox17.Text = Conversions.ToString(registryKey.GetValue("Server9Name"));
      21. MyProject.Forms.AROPT.TextBox7.Text = Conversions.ToString(registryKey.GetValue("Server10Adresse"));
      22. MyProject.Forms.AROPT.TextBox20.Text = Conversions.ToString(registryKey.GetValue("Server10Name"));
      23. MyProject.Forms.AROPT.CheckBox1.Checked = Conversions.ToBoolean(registryKey.GetValue("SMB3_on"));
      24. MyProject.Forms.AROPT.CheckBox2.Checked = Conversions.ToBoolean(registryKey.GetValue("Wakeuplan_on"));
      25. MyProject.Forms.AROPT.CheckBox4.Checked = Conversions.ToBoolean(registryKey.GetValue("vlan_on"));
      26. MyProject.Forms.AROPT.CheckBox3.Checked = Conversions.ToBoolean(registryKey.GetValue("sound"));
      27. MyProject.Forms.AROPT.yourip.Text = Conversions.ToString(registryKey.GetValue("NetIP1"));
      28. MyProject.Forms.AROPT.ip2.Text = Conversions.ToString(registryKey.GetValue("NetIP2"));
      29. RegistryKey subKey = Registry.CurrentUser.CreateSubKey("Software\\Andy2002 Media Systems\\AndyNET\\Einstellungen\\Account", RegistryKeyPermissionCheck.Default);
      30. MyProject.Forms.AROPT.serlogmail.Text = Conversions.ToString(subKey.GetValue("EMailServerLogin"));
      31. MyProject.Forms.AROPT.serpwdmail.Text = Conversions.ToString(subKey.GetValue("EMailServerPwd"));
      32. }


      Du mischt willkürlich HTTP und HTTPS-Dienste.

      Spoiler anzeigen

      C#-Quellcode

      1. public static string ReturnWANIp() {
      2. using (WebClient webClient = new WebClient()
      3. {
      4. Proxy = (IWebProxy) null
      5. }) {
      6. string str;
      7. try {
      8. str = webClient.DownloadString("https://www.andy2002.de/user/AndyNET/myip.php");
      9. }
      10. catch (Exception ex) {
      11. ProjectData.SetProjectError(ex);
      12. ProjectData.ClearProjectError();
      13. }
      14. return str;
      15. }
      16. }
      17. public static void UpdaterCheck() {
      18. string Right = (string) null;
      19. using (WebClient webClient = new WebClient()
      20. {
      21. Proxy = (IWebProxy) null
      22. }) {
      23. try {
      24. Right = webClient.DownloadString("http://andy2002.de/user/AndyNET/Locales/version.txt");
      25. }
      26. catch (Exception ex) {
      27. ProjectData.SetProjectError(ex);
      28. int num = (int) MessageBox.Show("Es besteht keine Internet Verbindung. Ohne Internet Verbindung kann das Programm nicht Funktionieren.");
      29. ProjectData.ClearProjectError();
      30. }
      31. }
      32. string version = Netzwerk_Laufwerk.My.Resources.Resources.version;
      33. MyProject.Forms.Updater.Button4.Visible = Operators.CompareString(version, Right, false) != 0;
      34. MyProject.Forms.Updater.PictureBox2.Visible = Operators.CompareString(version, Right, false) != 0;
      35. MyProject.Forms.Updater.Label19.Visible = (object) version == (object) Right;
      36. MyProject.Forms.Updater.PictureBox3.Visible = (object) version == (object) Right;
      37. MyProject.Forms.Updater.Label19.Text = "Kein Update Verfügbar!";
      38. MyProject.Forms.Updater.Label3.Text = version;
      39. MyProject.Forms.Updater.Label18.Text = Right;
      40. GC.Collect();
      41. }


      Und was mich ehrlich gesagt fast schon wütend macht: Ohne Internet Verbindung kann das Programm nicht Funktionieren.
      Nein, das stimmt nicht. Du hast das nur willkürrlich festgelegt.

      Wenn ich lokal irgendwas verwalten will, brauche ich keine Internetverbindung.
      Für den fast schon ausgeschlossenen Fall, dass ich darüber ein Webradio hören will brauche ich Internet. Aber das ist auch nicht Ziel des Ganzen.
      Um ein Spiel zu starten, brauche ich auch allenfalls bedingt eine Internetverbindung.

      Es gibt da so eine Regel. Schreibe ein Programm, was seine Aufgabe gut erledigt. Das Schweizer Taschenmesser ist das Betriebssystem. Alles was darüber läuft sind nur die Zusatzteile.

      @VaporiZed Ich brauche wohl nochmal Hilfe mit den Linien. Die klappen wieder nicht :thumbsup:
      Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

      Meine Firma: Procyon Systems
      Meine Privatwebseite: SimonC.eu

      Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
      Ich versuche auf euch zurückzukommen :)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

      Neu

      Warum erlaubst du deinen Usern, nur 10 Laufwerke einzubinden? Lies doch einfach aus, welche Pfade noch frei sind.
      - Weil ich nur maximal 10 Laufwerke erstellen kann, und nicht mehr. Falls doch, wird die Liste einfach erweitert.
      Ich denke das Tool soll ein Netzwerkadmintool sein? Wozu dann ein Webradio? Bzw. mehrere?
      - Ist es auch als Hauptaufgabe, aber wie ich schrieb, kam immer mehr dazu, es sind sogar schon Sachen herausgeflogen.
      Warum fummelst du am GC?
      - Habe ich in einen Buch gelesen das man den Garbage Collector steuern kann, also hab ich es dort eingebaut. Ob es sinnig ist oder nicht spielt für mich keine Rolle.
      Du schmeißt hier den falschen Exception-Typ. Das müsste ein "ArgumentOutOfRangeException" sein. learn.microsoft.com/en-us/dotn…ngeexception?view=net-8.0
      - Danke für den Tipp, hab es bereits geändert.
      Du speicherst jawohl keine Userdaten als Klartext, oder?
      - Doch, mit verschlüsseln habe ich mich noch nicht befasst.
      Hier führst du einen Befehl auf der Konsole aus, wo alle Argumente in Klartext übergeben werden.
      - Korrekt
      Zu der Sache mit http und https, da hab ich wohl das "s" vergessen.

      -- Ich verstehe einfach nicht wie jemand wie du, deren Webseiten alleine schon nach Baukasten (WP) aussehen, mir schlechtreden will, was ich über Jahre (Angefangen 2016) gemacht habe. Ja Kritik ist gut, die Fehler, die du gefunden hast (2) hab ich behoben. Zur Kritik der zwingend erforderlichen Internetverbindung, ja das habe ich verstanden, wenn ich die aber herausnehme und starte das Programm ohne Internetverbindung hagelt es Fehler beim Versionsscheck.(Der automatisch erfolgt)
      Lustig fast alle und ich auch nutzen am meisten das Internetradio, das Feature wollte ich eigentlich schon lange herausnehmen, wurde aber umgestimmt, und hab sogar noch Wunschsender hinzugeführt. Und ja es soll eben mehre Funktionen in einem haben.
      Das mit den Icon-Styles verstehe ich nicht, Ich habe Hintergründe für Buttons drin, den Gelben und den Grünen Pfeil, ein Gif, das Netzwerk Bild, das Schließen und das Minimieren Icon. Einige nicht mehr benutzte Grafiken, mehr ist da nicht drin. O_O
      Aber gut ich verstehe, das das Forum hier wohl nur noch der Elite vorbehalten ist, der Umgang mit nicht aus der Branche kommenden Menschen ist leider Menschenunwürdig!

      Neu

      @Andy2002

      Aber gut ich verstehe, das das Forum hier wohl nur noch der Elite vorbehalten ist,

      Das ist doch quatsch :!:
      Ich bin noch sehr neu im Bereich programmieren und lerne mit jedem Projekt was ich beginne. Oft soviel, das ich komplett neu beginne mit einem Projekt.
      Aber es verbesserte jedesmal mein Code!

      starte das Programm ohne Internetverbindung hagelt es Fehler beim Versionsscheck.

      Dann weist du doch schon wo du ansetzen kann, mit den Verbesserungen.
      Ich habe auch oft, das ich bei meinen Tools welche ich schreibe, oft viele Idden entstehen aber da muss man dann halt inne halten.
      ABER, was ein "Webradio" mit einem Netzwerk-Admin-Tool zutun hat erschließt sich mir leider auch nicht.

      Das mit den Icon-Styles verstehe ich nicht

      Vielleicht erstmal auf die Funktion konzentrieren und dann das "Outfit" für das Tool erstellen. ;)
      Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

      Neu

      Man will dir nix Böses, es klingt nur schnell mal danach. Du bist von ITlern umgeben, wie kann es da anders sein?^^
      Allerdings muss man von dir auch erwarten können, dass du dich mit einem gewissen Feedback beschäftigtst.

      Andy2002 schrieb:

      Ob es sinnig ist oder nicht spielt für mich keine Rolle.
      Ich weiß nicht, ob das Sinn der Sache dieses Forums ist. Ist es doch gerade auch ein wichtiger Bestandteil hier Sinnhaftigkeit im Code umzusetzen.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Haudruferzappeltnoch“ ()

      Neu

      Andy2002 schrieb:

      Ich verstehe einfach nicht wie jemand wie du, deren Webseiten alleine schon nach Baukasten (WP) aussehen, mir schlechtreden will, was ich über Jahre (Angefangen 2016) gemacht habe.


      Ich weiß es sehr zu schätzen, dass du hier auf eine persönliche Schiene heruntergehen möchtest. Macht allerdings keinen Sinn.
      Danke für die Kritik an meiner privaten Webseite, ich weiß dass sie suboptimal aussieht ;)
      Ist ein Glück auch nicht das Maß der Dinge.

      Auch 2016 war das Design nicht modern.

      Andy2002 schrieb:

      Ja Kritik ist gut, die Fehler, die du gefunden hast (2) hab ich behoben.

      Das freut mich! Also wirklich. Aber da sind noch sehr viel mehr Fehler drin.
      Jeder fängt klein an, verstehe mich bitte nicht falsch. Aber da musst du noch sehr viel mehr Arbeit investieren.

      Andy2002 schrieb:

      Zur Kritik der zwingend erforderlichen Internetverbindung, ja das habe ich verstanden, wenn ich die aber herausnehme und starte das Programm ohne Internetverbindung hagelt es Fehler beim Versionsscheck.(Der automatisch erfolgt)

      Dann musst du deinen Code halt umbauen. Nicht in Problemen denken, sondern in Lösungen!

      Andy2002 schrieb:

      Lustig fast alle und ich auch nutzen am meisten das Internetradio, das Feature wollte ich eigentlich schon lange herausnehmen, wurde aber umgestimmt, und hab sogar noch Wunschsender hinzugeführt.

      Dann nimm das Radio heraus und pack es in eine eigene Applikation. Modularisierung ist das Stichwort!

      Andy2002 schrieb:

      Das mit den Icon-Styles verstehe ich nicht, Ich habe Hintergründe für Buttons drin, den Gelben und den Grünen Pfeil, ein Gif, das Netzwerk Bild, das Schließen und das Minimieren Icon.

      Ich dekompiliere dir das Ding nochmal und liste alle Ressourcen auf.

      Andy2002 schrieb:

      Aber gut ich verstehe, das das Forum hier wohl nur noch der Elite vorbehalten ist, der Umgang mit nicht aus der Branche kommenden Menschen ist leider Menschenunwürdig!

      Was ein Schwachsinn!
      Es tut mir ja wirklich leid, dass du dich persönlich angegriffen fühlst und dir möglicherweise noch ans Bein gepinkelt fühlst, weil ich dir ehrlichen und auch konstruktive (wenn auch zugegeben harsche) Kritik gegeben haben.

      Fakt ist aber nunmal, dass die Punkte so sind, wie sie sind. Du kannst nicht nach Kritik fragen und dann bei dem kleinsten Makel anfangen, dich angegriffen zu fühlen.
      Mit meinen Kollegen, Kunden und Partnern gehe ich noch viel härter um. Genau so auch gehen sie mit mir um. Man lernt nicht dadurch, dass man Fehler macht, sondern dadurch, dass einem seine Fehler gezeigt werden.

      Ich entwickle seit über 15 Jahren Software in diversen Sprachen. Ich habe schon so viele Fehler gemacht, wo mir gar nicht bewusst war, wie gravierend die sind, bis mich mal einer mit'm Hintern auf den Boden gesetzt hat.

      Es steht dir frei, meine Kritik zu ignorieren und weiter dein Ding zu machen - ich will dir nichts Böses. Genau wie sämtliche anderen Kollegen nicht. Ich nehme mir nur kein Blatt vor den Mund.

      Andy2002 schrieb:

      Habe ich in einen Buch gelesen das man den Garbage Collector steuern kann, also hab ich es dort eingebaut. Ob es sinnig ist oder nicht spielt für mich keine Rolle.

      Dann kannst du es auch gleich sein lassen.
      Wenn es dich nicht mal interessiert, ob das so richtig ist, brauchst du gar nicht weitermachen. Punkt.

      Andy2002 schrieb:

      Korrekt

      Und was machst du dagegen? Das ist eine riesige Sicherheitslücke.

      Andy2002 schrieb:

      Doch, mit verschlüsseln habe ich mich noch nicht befasst.

      Dann solltest du dich damit zuerst befassen, bevor du möglicherweise sensible Informationen in Klartext speicherst. Erst Recht, wenn du sie an einen dafür ungeeigneten Ort speicherst.

      Andy2002 schrieb:

      Zu der Sache mit http und https, da hab ich wohl das "s" vergessen.

      Das ist nicht der einzige Fall, wo das so ist. Auch bei den ganzen Internetradios, z.B.

      EDIT:
      Anbei noch deine Ressourcen. Wie du siehst, die haben unterschiedliche Stile, was die UX/UI kaputtmacht.
      Bilder
      • resources_minimize-icon-20.png

        6,27 kB, 64×64, 1.317 mal angesehen
      • resources_net.png

        136,86 kB, 256×256, 12 mal angesehen
      • resources_play-512.png

        27,69 kB, 512×512, 5 mal angesehen
      • resources_refresh.png

        229,55 kB, 512×512, 4 mal angesehen
      • resources_save-icon-9.png

        35,03 kB, 442×442, 4 mal angesehen
      • resources_achtung.png

        8 kB, 400×250, 4 mal angesehen
      • resources_beenden.png

        7,49 kB, 64×64, 1.317 mal angesehen
      • resources_beenden_green.png

        7,46 kB, 64×64, 1.317 mal angesehen
      • resources_button-1363297_960_720.png

        238,05 kB, 720×720, 4 mal angesehen
      • resources_connect.png

        10,38 kB, 64×64, 1.318 mal angesehen
      • resources_gear.png

        261,8 kB, 512×512, 4 mal angesehen
      • resources_hide-512.png

        46,18 kB, 512×512, 18 mal angesehen
      • resources_if_play_925900.png

        3,37 kB, 128×128, 1.311 mal angesehen
      • resources_ledgreen.png

        4,13 kB, 64×64, 1.315 mal angesehen
      • resources_ledred.png

        3,88 kB, 64×64, 1.315 mal angesehen
      Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

      Meine Firma: Procyon Systems
      Meine Privatwebseite: SimonC.eu

      Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
      Ich versuche auf euch zurückzukommen :)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „siycah“ ()

      Neu

      Hallo, es ist wohl etwas off Topic :) aber gerade wo ich diesen Post lese, sehe ich viele Parallelen zu alten Posts von mir. Ich habe damals vor ca. 10 Jahren auch vieles zu persönlich gesehen, weil ich einfach davon ausging, dass das Programm oder Projekt gut ist, weil es ja funktioniert. Heute weiß ich, dass vieles einfach nicht so gut war wie es ist und viele der alten Kritiken echt recht hatten. Leider ist es oftmals sehr schwer Kritik über das Internet richtig aufzunehmen und sicherlich gibt es auch Kritik die einfach nicht Konstruktiv ist, aber das ist nun mal das Internet und solche solltest du einfach nicht so ernst nehmen. Du bekommst hier echt viele gute Vorschläge und Ansätze die dir helfen könnten dein Projekt weiter zu entwickeln und vor allem Sicherheitslücken zu schließen.

      In diesem Sinne, nimm es dir nicht zu sehr zu Herzen, schlaf eine Nacht drüber und denke ganz objektiv ob an der Kritik womöglich etwas dran ist.

      Neu

      - Hiermit beende ich das Projekt-
      Dank der Kritik sehe ich das es für die Öffentlichkeit keinen Nutzen hat.
      Ein paar Sachen, die hier geschrieben wurden, werde ich ändern. Angefangen mit den Online Zwang. (Poppt nur ein Hinweis auf, dass einige Funktionen nicht mehr gehen, und das Programm so nicht zu 100 % nutzbar ist.)
      Die Sache mit der UI leider hab ich noch keine schöneren Icons gefunden, die man als Freeware nutzen kann und zudem auch zueinander passen. (Ist aber auch erst mal absolut Nebensache)
      -
      Ich versuche mit erst mal mit einer vernünftigen Verschlüsselung der gespeicherten Daten, das wären zum einen .ini und .xml Daten.
      Die Reste des Autoload welche in der Registry geschrieben wurden, werden nun auch als .xml Datei angelegt, (Wusste gar nicht, dass ich das überhaupt noch drin habe, benutzt wurde es eigentlich nie)
      Aber ja der code ist gruselig, weil es immer mehr wurde über die Jahre. Vielleicht sollte ich mal Putzen.
      -
      Da ich dieses Thema hier nicht löschen darf, muss das wohl so stehen bleiben, was absolut dumm ist. Ich bin der Urheber des Themas hier, warum darf ich nicht entscheiden, ob es gelöscht werden soll? - Das ist für mich gerade die größte Kritik an das Forum. Genauso dumm, dass man seinen eigenen Account nicht löschen kann.

      Neu

      Ich frag mich warum immer alle nach 3 Zeilen Kritik ihr Projekt beenden?
      Nehm dir das alles zu Herzen... Mach ein Update und poste es hier.

      Du schreibst in einem Forum für IT Leute. Das hier eventuell andere und mehr Kritik kommt als bei einem "Endanwender" sollte ja bewusst sein.
      Wenn du so schnell direkt aufgibst wirst du nicht sehr weit kommen ( um das mal so harsch zu sagen ).

      Keiner will dir hier dein Projekt "schlecht" reden noch kaputt machen. Wir wollen dir helfen. In dem Sinne poste doch einfach gerne
      im Forum Threads für einzelne Teile / Funktionen die du noch nicht kannst oder lernen willst und dir wird geholfen.
      Grüße , xChRoNiKx

      Nützliche Links:
      Visual Studio Empfohlene Einstellungen | Try-Catch heißes Eisen

      Neu

      Andy2002 schrieb:

      - Hiermit beende ich das Projekt-


      Hier kann ich @xChRoNiKx nur zustimmen. Nur weil du jetzt etwas zu hören bekommen hast, was du nicht hören wolltest, ist das kein Grund aufzuhören.
      Im Gegenteil, es müsste dich anspornen, uns allen zu zeigen wie gut du es dann doch irgendwann mal kannst.

      Fühl' dich nicht gleich angegriffen (etwas, was ich bei einigen deiner Beiträge hier schon bemerkt habe!), sonder sei offen gegenüber der Erfahrung von uns professionellen Softwareentwicklern.
      Ich hab's hier schon mal erwähnt: das ist nicht leicht. Soll es auch nicht sein.
      Andererseits muss man auch mal einsehen, wenn man Fehler gemacht hat. Das hat zumindest augenscheinlich gefruchtet.

      Dafür schon mal Hut ab und das meine ich wirklich ernst.

      Andy2002 schrieb:

      Dank der Kritik sehe ich das es für die Öffentlichkeit keinen Nutzen hat.


      Auch hier gilt: dann mach es besser!
      Setz' dich hin und überlege dir, wie du dein Produkt besser machen kannst, als die Konkurrenz (und als das Betriebssystem).
      Wenn das nicht geht, dann überlege dir was Anderes und mach damit weiter.

      Andy2002 schrieb:

      Ein paar Sachen, die hier geschrieben wurden, werde ich ändern. Angefangen mit den Online Zwang.

      Auch hier freut mich das wirklich zu hören! Wenn du dann noch dazu schreibst, welche Funktionen nimmer funktionieren, dann ist das doch fast schon perfekt.
      Deine Nutzer sind nicht (immer) dumm. Lass sie frei entscheiden, was für sie richtig ist.

      Andy2002 schrieb:

      Die Sache mit der UI leider hab ich noch keine schöneren Icons gefunden, die man als Freeware nutzen kann und zudem auch zueinander passen. (Ist aber auch erst mal absolut Nebensache)

      Du hast auch so teilweise Icons mit Schraffierung drin - für die man eigentlich bezahlen müsste.

      Es gibt mit GPT4 zahlreiche GPTs, die auch vernünftige Logos erstellen können. DALL-E 2 ist dafür absoluter Mist, mit DALL-E 3 geht das aber erschreckend gut.
      Kostet ein bisschen was (~20€/Monat), aber das ist im Vergleich zu anderen Dienstleistern doch sehr günstig.

      Andy2002 schrieb:

      Ich versuche mit erst mal mit einer vernünftigen Verschlüsselung der gespeicherten Daten, das wären zum einen .ini und .xml Daten.


      INI und XML sind Legacy-Formate. Nimm moderne alternativen, wie z.B. JSON oder BSON.

      Andy2002 schrieb:

      Aber ja der code ist gruselig, weil es immer mehr wurde über die Jahre. Vielleicht sollte ich mal Putzen.

      Jain. Der Code ist gruselig, aber nicht (nur) weil es gewachsen ist. Darin spiegelt sich einfach mangelnde Erfahrung/Ignoranz. Wie z.B. die Tatsache, dass du einfach wild den GC aufrufst, weil du es mal gelesen hast.

      Vor allem neue und unerfahrene Entwickler neigen zu einem "ooh, shiny!"-Verhalten. Nicht machen. Nutze nichts, was du nicht verstehst und nutze erst Recht nichts, wo es dich nicht mal interessiert, was es tut.
      Dein Code spiegelt einiges wieder und daran solltest du erstmal arbeiten. Dafür ist das Forum hier auch da. Wenn etwas unklar ist und du im Internet nichts findest, was du verstehst. Frag einfach nach.
      Ich behaupte die allermeisten hier werden dir gerne helfen - solange du die Hilfe auch annimmst und nicht wieder so reagierst, wie in bisherigen Posts.

      Andy2002 schrieb:

      Da ich dieses Thema hier nicht löschen darf,


      Und das hat auch einen Grund! Lass die Menschen aus deinen Fehlern lernen! Jeder stellt mal eine doofe Frage. Jeder macht Fehler und das ist auch völlig normal und menschlich.
      Genau das ist der Sinn hinter so einem Forum und glaube mir. Hier ist das Klima ein gänzlich anderes, als z.B. bei Stack Exchange. Wo meine Wenigkeit auch schon genügend dumme Fragen gestellt hat, wo ich mich im Nachhinein für schäme. Andererseits lernen hoffentlich andere aus meinen Fehlern und das ist okay. Hier und da eine doofe Frage und v.a. Fragen aus der Vergangenheit spiegeln nicht zwingend deinen aktuellen Wissenstand wider.

      Also: hinfallen, aufstehen, Krone richten, weitergehen. Ganz einfach.

      Andy2002 schrieb:

      Genauso dumm, dass man seinen eigenen Account nicht löschen kann.


      Hier ist allerdings ein Punkt, den ich gut verstehen kann. Ist glaube ich auch nicht richtig. Andererseits kann ich es teilweise nachvollziehen, da man vermeiden möchte dass Leute sich willkürlich an- und wieder abmelden. Hatten vor nicht allzu langer Zeit auch jemanden, der ähnlich reagiert hat wie du hier, auch weil er Kritik zu persönlich nahm und dachte, dass sein Programm das geilste auf der Welt sei, ohne dafür jemals ein Beleg zu präsentieren.

      Sei nicht wie er, sei besser. Lerne draus und mach weiter :)
      Quellcode lizensiert unter CC by SA 2.0 (Creative Commons Share-Alike)

      Meine Firma: Procyon Systems
      Meine Privatwebseite: SimonC.eu

      Bitte nicht wundern, wenn meine Aktivitäten im Forum etwas langsamer sind, ich baue gerade mein Nebengewerbe zum Vollgewerbe aus.
      Ich versuche auf euch zurückzukommen :)