Problem beim Ausgeben von Hexadezimalzahlen



  • Hallo,
    ich gebe in einer Listbox in einem Dialog Hexadezimalzahlen aus die als Adresse für einen Hexeditor dienen. Das funktioniert auch eiegntlich so wie ich möchte. Allerdings schleicht sich bei der Ausgabe immer ein F in die Zahlen ein und ich verstehe nicht warum. Wenn ich mir die zu ausgebenen Zahlen im Debugger anschaue, dann ist von einem F nicht´s zu sehen.

    Das ist die Ausgabe:
    000000F0
    000001F0
    000002F0
    ...
    00000FF0
    000010F0

    Hat jemand ne Idee?
    Gruß gabele



  • gabele schrieb:

    Hat jemand ne Idee?

    Ja.
    Es liegt an deinem Code.



  • Ohne den Quellcode der diese Ausgabe erzeugt? Habe leider meine Glasgoogle verlegt.... 😉



  • ah ok sorry, hab ich ganz vergessen!
    Hier der Quellcode:

    for(j=0;j<=94;j++)
    {
    
        for(i;i<rowCount;i++)
        {
            add.Format("%08X:", adressen); 
            adressen+=16; //addieren von 16
            temp.Format("%02x", datenFeldAnzeige[i]);  
            hex += temp; //Übergabe
            temp.Format("%C ", datenFeldAnzeige[i]);  
            if(temp=="") 
            {		
                temp="  ";		
            }
            txt += temp; // Übergabe
            if((i)==(rowCount-1))	//Leerzeichen einsetzten
            {							
                 add += "      ";
    	    hex += "      ";
            }
        }
    	m_list1.AddString(add + hex + txt); //Die Übergabe an die Listbox
    			hex="";
    			txt="";
    			rowCount+=16;
    }
    


  • Du darfst adressen nicht in der inneren Schleife erhöhen, und adr nicht in der inneren Schleife ermitteln.



  • achso!!!
    Ok hab´s jetzt aus der for-Schleife rausgenommen und jetzt wird es richtig ausgegeben.
    Vielen dank für deine Hilfe!!!
    Gruß Gabele


Anmelden zum Antworten