Neue Forum durch Variable öffnen

  • C#

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Quadsoft.

    Neue Forum durch Variable öffnen

    Hallo

    gerne würde ich meinen launcher nutzern die möglichkeit geben das sie ihre update methode entscheiden können.
    nur wenn ich jetzt folgendes versuche funktioniert das irgendwie nicht


    C#-Quellcode

    1. if (aktulleversion.Contains($"{text}"))
    2. {
    3. lbl_systemstatus1.Text = "Deine Public Altis.pbo Ist Akktuell ";
    4. }
    5. else
    6. {
    7. INIFile updatepopup = new INIFile("settings.ini", true);
    8. string popup = updatepopup.GetValue("popup-settings", "popup");
    9. lbl_systemstatus1.Text = "Deine Public Altis.pbo Ist nicht Akktuell ";
    10. publicupdate frm = new publicupdate();
    11. frm.Show();
    12. }


    wie schaffe ich es das er die popup_variable lesen kann. ?
    Clan Launcher: 99%

    Übungs & Prüfungstool: 1%

    Hallo @EaranMaleasi

    Also mit der settings.ini hab ich kein problem

    Mein problem ist die variable weiter zu geben so das sich die gewünsche form vom benutzer öffnent ich sehe gerade das ich oben denn falschen code gepostet habe.

    dieser sollte so sein.

    C#-Quellcode

    1. if (aktulleversion.Contains($"{text}"))
    2. {
    3. lbl_systemstatus1.Text = "Deine Public Altis.pbo Ist Akktuell ";
    4. }
    5. else
    6. {
    7. INIFile updatepopup = new INIFile("settings.ini", true);
    8. string popup = updatepopup.GetValue("popup-settings", "popup");
    9. lbl_systemstatus1.Text = "Deine Public Altis.pbo Ist nicht Akktuell ";
    10. {popup} frm = new {popup}();
    11. frm.Show();
    12. }


    ja aber diese sind für mich nicht ausschluss reif.

    Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand

    Fehler CS1002 ; erwartet.
    Fehler CS0103 Der Name "frm" ist im aktuellen Kontext nicht vorhanden.
    Fehler CS0149 Methodenname erwartet.
    Fehler CS0103 Der Name "frm" ist im aktuellen Kontext nicht vorhanden.
    Clan Launcher: 99%

    Übungs & Prüfungstool: 1%

    enter9991 schrieb:

    Mein problem ist die variable weiter zu geben so das sich die gewünsche form vom benutzer öffnent
    welche Variable meinst du?
    Und welchen Datentyp hat diese Variable?

    Und diese Syntax

    enter9991 schrieb:

    C#-Quellcode

    1. {popup} frm = new {popup}();
    .
    ist in c# gänzlich unbekannt.
    Anstelle von {popup} müsste auf beiden Seiten ein Datentyp angegeben sein.
    {popup} ist aber kein Datentyp, sondern einfach nur ungültig.
    Hallo @ErfinderDesRades

    Also ich habe das so eingestellt

    der benutzer hat unter settings 3 Check Boxen. dort kann er seine update variante wählen

    Jedoch kann er nur eine update variante wählen.

    Public Server Datein ( Form 1 ) wird in der settings.in also form1 gespeichert.
    Developer Server Datein ( Form 2 ) wird in der settings.in also form2 gespeichert.
    beides ( Form 3 ) wird in der settings.in also form3 gespeichert.

    denn ensprechenden wert lese ich dann so aus der settings.ini aus.

    C#-Quellcode

    1. INIFile updatepopup = new INIFile("settings.ini", true);
    2. string popup = updatepopup.GetValue("popup-settings", "popup");


    in diesem fall ist die variable dann popup

    und dies möchte ich eigendlich übergeben wie stelle ich das denn am besten an.

    in die ini wird halt der form name geschreiben die er dann mit der variable wieder auslesen sollte.

    Clan Launcher: 99%

    Übungs & Prüfungstool: 1%

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

    enter9991 schrieb:

    der wert der in der ini gespeichert ist wieder ausgegeben wird
    Den Wert von popup ausgeben geht so:

    VB.NET-Quellcode

    1. Messgebox.Show(popup)
    So und nicht anders. Probier das bitte aus, ums dir deutlich genug vor Augen zu stellen.

    Wie gesagt: Es ist ein armseliger String, also ein paar Zeichen, sonst nix (und schon gar kein Form).
    na das das keine form ist ist mir schon bewust :)

    aber ich dache das ich mit dem wert die entsprechende form öffnen kann.

    weil ich denn form name ja in der ini gespeichert habe.

    beispiel:

    Der Benutzer setzt sein hacken in die checkbox ( Public Server update Popup )
    dann wird der wert frm_publicserverupdate in der ini gespeichert.

    dieser wert wird dann bei einem vorhandenen update abgerufen.
    und öffnet die frm_publicserverupdate

    entscheidet sie der benutzer jetzt aber für ( Test Server update Popup )
    dann wird der wert in der ini überschreiben zu frm_testserverupdate
    und dann soll er diese entsprechende form anzeigen. wenn es ein update gibt.


    Edit/.....

    alles klar :)

    C#-Quellcode

    1. if (aktullepublicserverversion.Contains($"{Publicserver_update}"))
    2. {
    3. lbl_systemstatus1.Text = "Public Altis.pbo Aktuell ";
    4. }
    5. else
    6. {
    7. if (publicserverpopup.Checked)
    8. {
    9. publicupdate frm_publicupdate = new publicupdate();
    10. frm_publicupdate.Show();
    11. }
    12. else if (developerserverpopup.Checked)
    13. {
    14. developerupdate frm_developerupdate = new developerupdate();
    15. frm_developerupdate.Show();
    16. }
    17. else if (publicunddeveloperupdate.Checked)
    18. {
    19. publicunddeveloperupdate frm_publicunddeveloperupdate = new publicunddeveloperupdate();
    20. frm_publicunddeveloperupdate.Show();
    21. }
    22. }


    ich denke so sollte es gehen
    Clan Launcher: 99%

    Übungs & Prüfungstool: 1%

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

    Das ist auf jeden Fall viel besser, schon weil das Arbeiten mit Ini-Dateien aus dem letzten Jahrtausend ist.
    HIer noch eine kleine Vereinfachung, interessant vlt., weil sie Polymorphie benutzt:

    C#-Quellcode

    1. if (aktullepublicserverversion.Contains($"{Publicserver_update}"))
    2. {
    3. lbl_systemstatus1.Text = "Public Altis.pbo Aktuell ";
    4. }
    5. else
    6. {
    7. Form frm = null;
    8. if (publicserverpopup.Checked) frm = new publicupdate();
    9. else if (developerserverpopup.Checked) frm = new developerupdate();
    10. else if (publicunddeveloperupdate.Checked) frm = new publicunddeveloperupdate();
    11. else return;
    12. frm.Show();
    13. }
    die Variable frm vom Datentyp Form kann Werte verschiedenerlei Datentypen aufnehmen: (new) publicupdate, developerupdate, publicunddeveloperupdate,... - wenn diese von der Basisklasse Form erben.

    Aber eigentlich darfst du garnet fragen. Gib den Begriff bei Wikipedia ein, und lasses dir richtig erklären.
    Oder lies ein gut Buch nach - mein Erklär-Versuch-Gestoppel darf nicht Grundlage deines Wissens sein.

    enter9991 schrieb:


    C#-Quellcode

    1. if (aktullepublicserverversion.Contains($"{Publicserver_update}"))


    Es ergibt wenig Sinn, Stringinterpolation zu verwenden, wenn das einzige, was am Ende herauskommt, die zu interpolierende Variable ist. Mach einfach:

    C#-Quellcode

    1. if (aktullepublicserverversion.Contains(Publicserver_update))