Hilfe! Konverter / Umwandler HEX/DEZ/OKT/DUAL MFC-Anweisung



  • Folgendes Problem:
    Die Aufgabe ist eine MFC Anweisung zu programmieren,wo der Benutzer per Radio Button,seine eingebene Ganzzahl in ein bliebiges Zahlensystem konvertieren kann.Die Voreinstellung für den Radio Button ist das Dezimalsystem.Hier schon mal die Oberfläche.Da ich noch sehr wenig Ahnung vom Programmieren habe,bitte ich um eure Hilfe.Habe schon ds sämtliche Internet durchsucht,erfolglos.Normaler weise bin ich nicht der Fan von Foren,da meist nur sehr dürftige bis gar keine Hilfen als Antowrt folgen.

    Hier die Oberfläche:

    http://img244.imageshack.us/img244/7788/converterxp2.jpg

    Das Projekt muss bis zum 10. Dez fertig sein.Also pls help me





  • Baschtl schrieb:

    http://img294.imageshack.us/img294/1672/converterok1.jpg

    ich würde ja lieber nur 4 edit-controls nehmen und wenn sich in einem was ändert, werden die anderen 3 automatisch angepasst...



  • Wie gesagt,das Programm ist so quasi vorgegeben.Was ich benötige ist der Quellcode,am besten mit sämtlichen Variablen.Vor allem haben wir auch noch nicht mit Radio buttons gearbeitet sondern nur normale Buttons (On_click).Ich weiß es gibt mehrere Möglichkeiten es zu lösen ,auch per Array.Jedoch wurde der Tip gegeben,dass Microsoft visual Basic Funtkionen beinhaltet in andere Zahlensysteme zu konvertieren. Nur wie?



  • Baschtl schrieb:

    Was ich benötige ist der Quellcode,am besten mit sämtlichen Variablen.

    Also diesen Satz solltest du in Foren lassen, darauf gibt es hier nämlich auch keine Antwort. Hausaufgaben machen wir nicht, wir helfen maximal dabei. 👎

    dass Microsoft visual Basic Funtkionen beinhaltet in andere Zahlensysteme zu konvertieren.

    Du weißt aber, dass du in einem Visual C++ Forum bist? 😮

    Da findest du, wie man Radiobuttons benutzt: http://www.henkessoft.de/C++/MFC/mfc_einsteigerbuch_kapitel2.htm

    Das "Umrechnen" ist ziemlich einfach, jedenfalls wenn du vom Dezimalsystem ausgehst: Schau dir CString::Format an. 😉



  • Da muss ich estartu mal voll Recht geben. Dieses Forum ist für meine Begriffe eines der besten Foren auf diesem Sektor. Die Antworten kommen hier auch sehr schnell und meist kommt man damit auch weiter. Klar gibts auch Themen, wo man eben auch mal keine oder nur eingeschränkte Hilfe bekommt. Eine fertige Lösung wirst Du nirgends vorgesetzt bekommen, ist ja auch nicht Sinn und Zweck.

    Aber jetzt zu Deinem Problem. Warum ist um jedes Radioelement eine eigene Groupbox drum? Macht keinen Sinn. Wenn dann gruppiert man alle Radio-Buttons und setzt beim ersten das Group-Flag. Somit bekommt man aus der Menge der Radiobuttons den selektierten heraus.
    Außerdem musst Du dem Programm ja sagen, dass es rechnen soll. Ich würde entweder einen Button "Berechnen" nehmen oder die Variante von net verfolgen. Theoretisch geht es auch ohne Button oder Editfeld, allerdings müsstest Du dann auf irgendwelche Mausereignisse reagieren.
    Außerdem darst Du nicht die Validierung Deiner Eingabe vergessen, also immer überprüfen ob die Eingaben stimmen (Art und Werteumfang).



  • AndyDD schrieb:

    Außerdem musst Du dem Programm ja sagen, dass es rechnen soll. Ich würde entweder einen Button "Berechnen" nehmen oder die Variante von net verfolgen. Theoretisch geht es auch ohne Button oder Editfeld, allerdings müsstest Du dann auf irgendwelche Mausereignisse reagieren.

    Nene, bringt ihn nicht durcheinander!
    So wie er das hat ist schon okay - auch wenn man sich bei den Groupboxen streiten kann. 😉

    Macht mal den Windows-Taschenrechner in der wissenschaftlichen Ansicht auf.
    Na? Kommt es euch bekannt vor? 😉
    Man muss nur auf die Klicks auf die Radiobuttons reagieren und dann wissen, was vorher war und was jetzt ist und dann umrechnen.

    In der FAQ unter Casten ist ausreichend Lesestoff, dass er ziemlich weit kommen sollte und eigentlich nur noch Feinschliff nötig sein dürfte.



  • Will niemand durcheinanderbringen. Beim Windowstaschenrechner sind die Groupboxen aber um alle Radiobuttons. Annders gibt das doch keinen Sinn.
    Aber gerade als Neuling (ging mir zumindest so) fand ich es zumindest immer einfacher, bestimmte Aktionen durch Buttons auszulösen anstatt auf andere Mechanismen zurückzugreifen. Wie schlägst Du denn vor die Berechnung anzustoßen? Vielleicht sehe ja ich gerade den Wald vor lauter Bäumen nicht und denke viel zu kompliziert.



  • Also:
    Man braucht für jeden Radiobutton eine OnClick Funktion. (Man kann auch eine für alle machen, aber ich mach mal die Variante für Dummys weiter.)

    OnClickBin, OnClickOct, OnClickDez, OnClickHex
    Und eine Member wo ich mir merke, was gerade ist. Am einfachsten ist der Werte-Member für die Radiobuttons. Es ginge aber auch die Basis des jeweiligen Zahlensystems: 2, 8, 10, 16 (ist schön anschaulich)

    Standardeinstellung ist Dez, also 2.

    Wenn man jetzt klickt, muss man erst gucken, was bis eben war und sich das merken.
    Dann holt man mit UpdateData den neuen Wert - bzw. weil man ja für jeden Radiobutton ne eigene Funktion hat, kann man das auch als Konstante in der Funktion haben.

    Dann noch ne kleine switch und ein paar Umformatierungsfunktionen (man muss ja nichtmal rechnen) und fertig. 🙂



  • Und das soll einfacher sein? Damit hatte ich früher immer Probleme. Die Variante mit dem Button ist aber wesentlich dummyfreundlicher. Alle Radios gruppieren und auf das Buttonereignis reagieren. Dann brauchst Du nur noch abfragen welcher selktiert ist und führst die Berechnung (oder eben eine Formatierung oder einen Cast) durch.



  • Wo ist der Unterschied zwischen einem OnClick auf einen Button und einem OnClick auf einen Radiobutton? 😕
    Das Teil sieht nur anders aus, das wars. 😉



  • estartu schrieb:

    auch wenn man sich bei den Groupboxen streiten kann

    ähm kann man sich nicht, man muss bei den Raidobutton (sofern man sie als eine gruppe behandeln will) PEINLICH darauf achten das man ALLE Raidobutton zusammenfast. Eine gruppe wird durch ihre zugehörigkeit definiert.

    das heist wenn man im resourceneditor zB zuerst einen Radiobutton setzt danach ein gruppenfeld setzt und dann wieder zwei neue Radiobutton wird der erste obwohl er evtl. den hacken bei gruppe hat nicht zu dieser zählen.

    Das gruppenfeld + hacken Gruppe ersetzt den Hacken bei dem ersten Radiobutton und fast alle Radiobutton zusammen die untereinander stehn. wird ein Radiobutton zB durch ein weiteres Gruppenfeld von der Gruppe getrennt zählt er nicht mehr dazu.

    Und die Gruppe wird in der *.rc durch ihre zusammengehörigkeit definiert.

    GROUPBOX //Hacken Gruppe gesetzt
    IDC_RADIO1 //gruppe endet hier
    GROUPBOX
    IDC_RADIO2
    GROUPBOX
    IDC_RADIO3

    bei diesem beispiel werden die radiobutton nie zusammenarbeiten sprich Radio eins ist makiert radio zwei wird angeklickt radio eine bleibt aber makiert.

    GROUPBOX //Hacken Gruppe gesetzt
    IDC_RADIO1 
    IDC_RADIO2
    IDC_RADIO3//gruppe endet hier
    GROUPBOX //Hacken Gruppe gesetzt
    IDC_RADIO4 
    IDC_RADIO5
    IDC_RADIO6//gruppe endet hier
    

    bei diesem beispiel arbeiten Radio 1-3 & 4-6 zusammen und ändern ihr makierung entsprechen dem, welches element angeklickt wird.

    also extrem wichtig wie man die gruppierung setzt. 😉



  • LowFly schrieb:

    Hacken

    hey, du bist ja ein richtiger hacker 😉



  • LowFly schrieb:

    das heist wenn man im resourceneditor zB zuerst einen Radiobutton setzt danach ein gruppenfeld setzt und dann wieder zwei neue Radiobutton wird der erste obwohl er evtl. den hacken bei gruppe hat nicht zu dieser zählen.

    Komisch, also ich arbeite eigentlich nie mit den Groupboxen für den Zweck.

    Eine korrekte Taborder (alle DIREKT hintereinander) und beim ersten das Häkchen "Gruppe" setzen und schon klappts. 😉

    Daher bin ich der Meinung, dass diese Groupboxen nur einen optischen Nutzen haben.



  • Durch den Tabulator ordnest du sie in der *.rc wieder so das alle Radios untereinader stehn und die Groupboxen (zum optischen zweck) hinter der gruppierung kommen. aber stimmt was du sagst der hacken Gruppe bei Radios & Gruppenbox hat gar keinen sinn es müssen nur alle Radiobutton hintereinander stehn und sie gelten als gruppe.

    @net Hacker 😉



  • LowFly schrieb:

    @net Hacker 😉

    find ich lustig, hab's in meine signatur gesetzt.
    (wehe du machst da jetzt ein fickbildchen rein) 😉



  • @net
    hätt dir ja gern ne PM geschrieben aber das gibst hier ja nicht du kannst das pic gern verwenden auch von mir aus auch von meinem space solange es da liegt nur setzt die url nicht öffentlich das will ich nicht ok mach es wenn soklick mich andernfals haste da ganz schnell ein fickbildchen drauf. 😉



  • LowFly schrieb:

    du kannst das pic gern verwenden auch von mir aus auch von meinem space solange es da liegt nur setzt die url nicht öffentlich das will ich nicht ok

    okay...



  • thx 👍

    Linux ist geil! LOL so kommt das doch gleich viel besser 😉



  • Ich spiele zwar nur ungern den "großen bösen Moderator", aber hier wirds mal nötig:
    @net und LowFly: Back to Topic - please (wenn ihr Bilder austauschen wollt, sucht euch ein anderes Board dafür)


Log in to reply