mikrocontroller.net

Forum: PC-Programmierung Hexadezimale Darsellung in C#.NET


Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich versuche nun schon länger einen String wie z.B. "@0$%" nicht in
dieser Form, sondern in Hexadezimaler Schreibweise, d.h "0x40 0x30
0x24 0x25" in einem Textfeld anzeigen zu lassen. Allerdings finde ich
einfach nicht, wie das geht.
Mit welcher Funktion o.ä. kann man sich die hex-Werte anzeigen lassen?

Vielen Dank für eure Hilfe.

Gruß
dumpfi

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Zahlen konvertierst du einfach mit

Convert.ToString(u,16)

nach Hexadezimal. Wenn du deinen String also in einzelne Chars
zerlegst, kannst du auf diese Weise das obige erreichen.

Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Stromspannung,

danke dir für deine Antwort.
Der Hinweis mit dem zweiten Argument 16 war schon Gold wert. Ich habe
nie gesehen, daß die Funktion auch zwei Parameter akzeptiert.
(Absoluter Neuling in der Sprache.)

Aber wenn ich deinen Vorschlag versuche umzusetzen, dann beschwert sich
der Compiler mit folgender Fehlermeldung:

Argument '2': cannot convert from 'int' to
'System.IFormatProvider'.
Er scheint die 16 nicht zu akzeptieren, aber warum und was kann ich
dagegen tun?
(Ausschnitt aus meinem Source code im Anhang.)

Vielen Dank für deine Hilfe bisher.

Gruß
dumpfi

Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles klar.
Ich hab meinen Fehler gefunden. (Außerdem hatte ich meinen Anhang
vergessen seh ich grad.)

Es läuft alles so wie es soll.

Danke dir vielmals.

Gruß
dumpfi

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast wahrscheinlich das "Convert" weggelassen ;)

Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja stimmt. Respekt!

Gruß
dumpfi

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Respekt, mir kam nur die Fehlermeldung "seltsam vertraut" vor ;-)

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi nochmal,

du kannst es viel einfacher haben.

string s = String.Format("0x{0:X}", DeineZahl);

Dann hast du in s die Hex-Repräsentation der Zahl. Das ganze Spielchen
kannst du dann mit foreach für alle Chars des Strings machen.

Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke dir vielmals für deine Mühe.
Ich nehme mal an, daß {0:X} für die führende Null bei der hexadezimalen
Darstellung sorgt. Das probiere ich morgen gleich mal aus, denn meine
Lösung hierfür sieht eher seltsam aus.
(Funktioniert aber auch, Juhuu.)

Gruß
dumpfi

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, das {0:X} hat zum einen als {0} die Funktion als Platzhalter für
den Wert deiner Zahl. Also das, was in C/C++ printf das %d und Co
macht. Mit :X wird dann das Format spezifiziert, hier also Hex.


Gruß

Autor: dumpfi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay jetzt bin ich da durchgestiegen glaub ich.
Ohne den richtigen Ansatz habe ich mich schwer getan in der MSDN was
nützliches zu meinen Problemen zu finden.
Danke dir vielmals.

Gruß
dumpfi

Autor: Stromspannung (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das Leid kenne ich :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.