Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

C++ 2010 Express Form: Anzeige von Hex Zahlen in Textbox

Sigi Saudi / 14 Antworten / Flachansicht Nickles

Hallo Gemeinde,

Ich hatte vor einigen Jahrzehnten mit Borland C++ programmiert und fand nun heraus, dass Microsoft C++ 2010 Express kostenlos abgibt. Ich hatte mir die Anwendung heruntergeladen und installiert. (Kaufen lohnt nicht, weil ich dafuer zu wenig programmiere).

Ich befasse mich mit der Lyrik Synchronisierung von MIDI Karaoke Dateien und fuege dort unter anderem an Stellen, wo es erforderlich ist, Texte wie "(instrumental)" usw. ein. Die Synchronisierung habe ich bisher immer "zu Fuss" gemacht, was in jedem Einzelfall eine fuerchterliche bitweise Rechnerei ist. Mit C++ habe ich mir eine Console-App geschrieben, die mir die Arbeit abnimmt. Die App funktioniert einwandfrei.

Nun versuchte ich, diese App in eine C++ 2010 Form zu programmieren. Die Rechnerei, z. B. mit dem bitweisen Verschieben von unsigned int Inhalten funktioniert. Das Problem ist nur die Ein- und Ausgabe, die hexadezimal erfolgen muss. Ich habe lange im Internet recherchiert, habe aber keine Methode gefunden, wie ich mit Textboxen Hex-Ein- Ausgaben machen kann. Wenn ich eine Hex-Zahl in den erforderlichen Ausgabestring fuer eine Textbox umwandle, wird das Dezimalaequivalent der Zahl angezeigt..

Weiss jemand einen Rat, wie man mit C++ 2010 Express in Textboxen auf Forms Hexadezimalzahlen ausgeben kann?

Vielen Dank und Gruss aus dem damned too hot Thailand

Sigi Saudi .

Gruesse aus Wang Nam Kiaw / Thailand
bei Antwort benachrichtigen
Borlander Sigi Saudi „Hallo Borlander, Schoen, mal wieder von Dir zu hoeren. Das Problem ist, wie so oft, Microsoft. Ich habe mir alle Methoden ...“
Optionen
aber es laeuft immer darauf hinaus, das eine Textbox nur Zahlenwerte zur Basis 10 anzeigt.Zumindest werden nur fuer diese Anwendungen Formatkonverter angeboten.

Ok. Du hast also versucht die Textbox so zu konfigurieren, dass sie nur Zahlen anzeigt? Für Hex-Darstellung wirst Du Dich am einfachsten auf das zurückbesinnen was die Textbox auch kann: Text aus- und eingeben. Das ist vom Ergebnis mindestens genau so gut wie eine Konsolenanwendung ;-)

Ich versuche mal in Pseudecode darzustellen was Du machen müsstest:

// textfeld mit Wert füllen
textbox.text := convertUIntToHexString(wert)

// wert auslesen
eingabe := textbox.text
if (isHexString(eingabe)) {
  wert := convertHexStringToUInt(eingabe)
} else {
  // fehlerbehandlung
}

Evtl. kannst Du auch eigene FilterMaske für die TextBox festlegen (bzw. kannst eine Komponente nutzen die eine solche Eigenschaft mitbringt) und mit dieser dann die Eingabe auf die Zeichen 0-9 und a-f einschränken. (Passende Regex falls unterstützt wäre hier "[0-9a-f]+")

bei Antwort benachrichtigen