if(IDC_CHECK1 == ???....



  • ???...ja was ?

    Ich habe ein Dialog, indem man User erstellen kann und ihnen Rechte zuteilen kann. Die Rechte stehen dann in der Datei..
    Wenn ich auf ADMIN klicke, werden ALLE CHECKBOX aktiviert, also musste ich nur ein String hinzufügen, mit dem Text... Dann in der Datei
    Username: xxx
    Passwoer: test

    Rechte

    Und hier stehen alle rechte!

    GEHT PROBLEMLOS!!
    Nur: Wenn man auf NORMALER USER klickt, werden alle CHECKS deaktiviert und man kann selber die anklicken, die man will.
    Da hab ich eine if Anwesiung gemacht.
    Also WENN IDC_CHECK1 angeklickt, also CHECKED, dann füge dem String user "Datei lesen" hinzu. Sonst ,,,
    ja, bei else hab ich wieder ne überprüfung! Zuletzt, wenn keins aktiviert wurde, soll er nichts erstellen.
    Nun zum PROBLEM:;

    Mein Code:

    if(IDC_CHECK == -1)
    {
    //.....
    }
    else
    (if.....
    

    Nur: Kompilieren tut er, aber in der Datei steht dann nix!
    Gibts nicht irgendeine Funktion wie: if(IDC_CHECK1 == CHECKED) ???



  • Wie wäre es mit TRUE und FALSE?;)



  • if(1 == ((CButton*)GetDlgItem(IDC_CHECK))->GetCheck())
     // ...
    

    Du solltest dir mal ein Tutorial über MFC/WinAPI anschauen...

    [ Dieser Beitrag wurde am 20.09.2002 um 09:31 Uhr von Nemesyzz editiert. ]



  • Danke!
    @BF_31: Das mit TRUE und FALSE hab ich auch schon versucht, Sinnlos!!

    if(IDC_CHECK1 == TRUE)
    .... 😉



  • Whoooops!! Geht net!
    Wenn ich die CHECKBOX IDC_CHECK1 anklicke, sollte dem String "DATEI LÖSCHEN" hinzugefügt werden!
    nur erstellt der mir trozdem nur eine Dateie, OHNE rechte drin...

    Mein Code sieht so aus:

    if(1 == ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck())
        {
            userr += "Datei lesen" + zeile;
        }
        else 
        {
    
            if(IDC_CHECK2 == -1)
            {
                userr += "Datei schreiben" + zeile;
            }
            else 
            {
                if(IDC_CHECK3 == -1)
                {
                    userr += "Datei löschen" + zeile;
                }
                else
                {
                    if(IDC_CHECK4 == -1)
                    {
                        userr += "Datei umbenennen" + zeile;
                    }
                    else
                    {
                        if(IDC_CHECK5 == -1)
                        {
                            userr += "Verzeichnise anlegen \/ kopieren" + zeile;
                        }
                        else
                        {
                            if(IDC_CHECK6 == -1)
                            {
                                userr += "Verzeichnise kopieren \/ umbenennen" + zeile;
                            }
                            else
                            {
    
                            }
                        }
    
                    }
                }
            }
        }
    

    und der beim erstellen der ganzen Sache sieht so aus:

    // TODO: Add your control notification handler code here
        UpdateData();
        if(m_ctlPasswd == m_ctlConfirm)
        {
            //USER ERSTELLEN
            CString filename;
    
            CFileDialog FileDlg( FALSE, NULL, NULL, NULL , "Abrechnung Files(*.dsp)|*.dsp||");
            //int FileDialog=FileDlg.DoModal();
        CString zeile("\r\n");
        //Hier wird der Code reingeschrieben der ausgwführt wird, wenn bei FileDlg auf Ok geklickt wird
            //if( FileDialog == IDOK )
            //{
            CreateDirectory("c:\\Abrechnung", NULL);
            CreateDirectory("c:\\Abrechnung\\User", NULL);
            CString path;
            CString text ("Userrechte: ");
            path += "c:\\Abrechnung\\User\\";
            CString save;
            UpdateData();
            save += path + m_ctlUsername;
            user += "Username: " + m_ctlUsername;
            user +=  zeile;
            user += "Passwort: " + m_ctlPasswd;
            user += zeile + zeile;
            user += "Userrechte:" + zeile;
            user += "===========" + zeile; 
            user += all + zeile;
            user += userr + zeile;
            user += zeile + "User was Createt with A-Maker2002";
            filename += save + ".usr";
            CFile file(filename, CFile::modeWrite | CFile::modeCreate);
            file.SetLength(0);
            UpdateData(TRUE);
            file.Write(user, user.GetLength());
            file.Close();
            //danach messageBox
            CString USERN;
            CString Text ("Der User \"");
            CString Texte ("\" wurde erfolgreich erstellt.");
            CString box;
            USERN+= Text + m_ctlUsername;
            box += USERN+ Texte;
            MessageBox(box, "Information", MB_ICONINFORMATION | MB_OK);
            //DANN Zum DIALOG ZURÜCKKEHEREN UND ALLE ANGABEN  ZURÜCKSETZEN
            m_ctlUsername = "";
            m_ctlPasswd = "";   
            m_ctlConfirm = "";
            UpdateData(FALSE);
            GetDlgItem(ID_NEWUSER_ERSTELLEN)->EnableWindow(FALSE);
        }
        else
        {
            MessageBox("Das wiederholte Passwort stimmt mit dem anderen nicht überein!", "Fehler", MB_ICONSTOP | MB_OK);
        }
    

    und der COde, wenn man ADMIN anklickt, dass dan ALLE RECHTE reingeschrieben werden, ist folgender: (DAS IST DAS, WAS KLAPPT...):

    void CNewUser::OnRadio2() 
    {   
        CString zeile("\r\n");
    
    UpdateData();               
    user = "";
    
                all += "Datei lesen" + zeile;
                all += "Datei schreiben" + zeile;
                all += "Datei löschen" + zeile;
                all += "Datei umbenennen \/ kopieren " + zeile;
                all += "Verzeichnise anlegen \/löschen" + zeile;
                all += "Verzeichnise kopieren \/umbennenen" + zeile;
                UpdateData(FALSE);
    // TODO: Add your control notification handler code here
        CheckDlgButton(IDC_RADIO1, TRUE);
        CheckDlgButton(IDC_CHECK1, TRUE);
        CheckDlgButton(IDC_CHECK2, TRUE);
        CheckDlgButton(IDC_CHECK3, TRUE);
        CheckDlgButton(IDC_CHECK4, TRUE);
        CheckDlgButton(IDC_CHECK5, TRUE);
        CheckDlgButton(IDC_CHECK6, TRUE);
    }
    


  • Hallo !

    Vielleicht solltest du mal die anderen falschen

    if(IDC_CHECK2 == -1)
    

    usw. auch durch

    if(1 == ((CButton*)GetDlgItem(IDC_CHECK2))->GetCheck())
    

    ersetzen...
    Warum fällt dir das nicht auf ?

    Tschüss

    [edit]
    Dein Sicherheitsprogramm wird langsam aber sicher zum OpenSource 😃
    [/edit]

    [ Dieser Beitrag wurde am 20.09.2002 um 10:11 Uhr von isabeau editiert. ]



  • Ne, geht leider immer noch net!
    So ne s******e!



  • Das ist ja wohl ne Frechheit!

    Hab mir mal dein Programm von deiner HP runtergeladen "A-Maker 2002 BETA"

    Zitat:
    "Norton Antivirus entdeckte Virus W32.Stator@mm in:
    C:\...\abrechnung.exe"

    Erklär das mal!

    [ Dieser Beitrag wurde am 20.09.2002 um 10:37 Uhr von Nemesyzz editiert. ]



  • der Virus ist auf meiner Homepage, leider erst spät festgestellt, und somit auch alle anderen, auf dem Server!
    ACHTUNG! Meine HP für ca 1 MONAT NICHT MEHR BESUCHEN! VIRENGEFAHR!!.
    und ausserdem: mein Progg ist schon lääängst VOLLVERSION!


Anmelden zum Antworten