Ok, hier nochmal



  • Hallo zusammen,

    bräuchte mal eure Hilfe. Es geht um folgenden unten angeführten Quellecode:

    Im ersten if(...) soll überprüft werden, ob die Startfrequenz größer oder
    gleich der Endfrequenz ist. Ist dies der Fall, soll die Meldung der MsgBox
    ausgegeben werden. Derzeit wird die meldung immer ausgegeben! In der
    for-Schleife soll omega und z (vom Typ double)berechnet werden. Diese
    Ergebnisse sollen in einen String umgewandelt werden und in einen Textbox
    eingetragen werden. Die Textbox soll zwei Spalten haben. Eine für omega und
    eine für z. Nach jedem Schleifendurchgang sollen die neuen Werte zeilenweise
    in die Textbox hinzugefügt werden. Ich habe allerdings noch keinen Schimmer,
    wie ich das machen soll. Ich hoffe, von euch kann mir jemand helfen!!!

    Danke schon mal

    void CRLCDlg::OnBerechnen() 
    
    { 
    
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung 
    hier einfügen 
    
    if(m_start>=m_ende) 
    
    { 
    
    MessageBox("Anfangswert muß kleiner als der Endwert sein!"); 
    
    return; 
    
    } 
    
    for(f= m_start; f<=m_ende; f=f+m_schritt) 
    
    { 
    
    omega= 2*PI*f; 
    
    z=sqrt(m_wi*m_wi+pow(omega*m_induk-1/(omega*m_kapa),2)); 
    
    UpdateData(false); 
    
    } 
    
    }
    

    bitte code tags verwenden



  • Gib doch mal in der Messagebox m_start und m_ende aus, oder
    setze einen Breakpoint auf die Messagebox und schau die die Werte im Debugger an.
    😃 Man nennt das auch das kleine 1*1 des Debuggens, schauen was wirklich ist und nicht denken was sein sollte 😃

    Für das Zweite würde ich einen Listview empfehlen
    Anhalte findest du bei folgenden Funktionen

    [cpp]
    *hListView = CreateWindowEx(WS_EX_CLIENTEDGE, WC_LISTVIEW, ....
    ListView_InsertColumn (*hListView,1,&col);
    ListView_InsertItem(hListView,&item);
    ListView_SetItemText(hListView,item.iItem,1,szBuffer1);

    [/cpp]

    😋 🙂 🙂



  • Ich habe das jetzt mal mit dem Debugger gemacht und m_start und m_ende haben die Werte 0.0. Aber warum? Ich habe doch Werte eingetragen und die Felder sind auch mit den Member-Variablenverküpft!



  • Ich würde ein UpdateData(); vorschlagen, bevor du auf die Variablen m_start und m_ende zugreifst. Damit werden erst die Werte aus dem Dialog in die Variablen übernommen.



  • Was machst du an der Stelle wo du TODO: schreibst um die Werte m_start und m_ende zu bekommen?? 🤡

    void CRLCDlg::OnBerechnen() 
    { 
    
    // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung 
    hier einfügen 
    
    if(m_start>=m_ende)
    

    😋



  • Da hab ich jetzt UpdateData() reingeschrieben und es geht! Danke!!! 🙂
    Das andere hab ich noch nicht geschaut. Werde ich aber gleich machen!!
    Ich melde mich dann nochmal. Sieht aber nicht ganz einfach aus, was du mir da vorgeschlagen hast. "Bin doch Anfänger!!!"


Anmelden zum Antworten