Hexadezimalzahl aus String filtern

Für allgemeine Fragen zur Programmierung mit PureBasic.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Hexadezimalzahl aus String filtern

Beitrag von Kekskiller »

Ich habe ein enorm unangenehmes Problem, welches eigentlich aus meiner
Sicht noch unbequemer zu lösen ist. Ich möchte, wie es mit einer normalen
absoluten Zahl möglich ist, eine Hexadezimalzahl aus einem String heraus-
filtern. Leider gibt es keine Traumfunktion, die wie hier zum Beispiel:

Code: Alles auswählen

number=Int(Hex("8E3F"))
was zusammensuchen kann. Um genauer zu sein, brauche ich direkt den
Integerwert der gestringten Hexzahl. Habt ihr vielleicht eine mögliche Lösung
oder sogar Rechnung dazu parat? Das Problem ist, dass ich ohne eine solche
Rechnung mir mein kleines Progrämmchen kneifen kann, was aber darauf
angewiesen ist.

Obwohl ich sowas auch selber machen könnte, will ich aber nicht zu viel Code verbraten...
:coderselixir:
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Schau mal ins CodeArchiv, glaube NtQ hatte da mal was dafür.

Link: siehe oben rechts im Forum: PureArea.net
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
ChaOsKid
Beiträge: 66
Registriert: 29.08.2004 15:07
Wohnort: Oktoberfest

Beitrag von ChaOsKid »

Zuletzt geändert von ChaOsKid am 03.11.2004 19:46, insgesamt 1-mal geändert.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Edit: Mann, immer zu spät /:-> ...

Hey, stimmt, da habe ich garnicht dran gedacht ^^ .
Habe auch gleich was schönes gefunden:

Code: Alles auswählen

; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=1423
; Author: GPI
; Date: 19. June 2003

; Procedures for converting Binary + Hex values to Decimal

Procedure BinVal(a$) 
  a$=Trim(UCase(a$)) 
  If Asc(a$)='%' 
    a$=Trim(Mid(a$,2,Len(a$)-1)) 
  EndIf 
  result=0 
  *adr.byte=@a$ 
  For i=1 To Len(a$) 
    result<<1 
    Select *adr\B 
      Case '0' 
      Case '1':result+1 
      Default:i=Len(a$) 
    EndSelect 
    *adr+1 
  Next 
  ProcedureReturn result 
EndProcedure 
Procedure HexVal(a$) 
  a$=Trim(UCase(a$)) 
  If Asc(a$)='$' 
    a$=Trim(Mid(a$,2,Len(a$)-1)) 
  EndIf 
  result=0 
  *adr.byte=@a$ 
  For i=1 To Len(a$) 
    result<<4 
    Select *adr\B 
      Case '0' 
      Case '1':result+1 
      Case '2':result+2 
      Case '3':result+3 
      Case '4':result+4 
      Case '5':result+5 
      Case '6':result+6 
      Case '7':result+7 
      Case '8':result+8 
      Case '9':result+9 
      Case 'A':result+10 
      Case 'B':result+11 
      Case 'C':result+12 
      Case 'D':result+13 
      Case 'E':result+14 
      Case 'F':result+15 
      Default:i=Len(a$) 
    EndSelect 
    *adr+1 
  Next 
  ProcedureReturn result 
EndProcedure

;- Test
Debug BinVal("100100")
Debug HexVal("46BC")
; ExecutableFormat=Windows
; FirstLine=1
; EOF
Made by GPI ^_^ .

Edit by NicTheQuick: Code-Tags gesetzt
die waren schon gesetzt...
NicTheQuick: Nein, da waren Quote-Tags drin
Zuletzt geändert von Kekskiller am 03.11.2004 19:58, insgesamt 2-mal geändert.
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Habe auch gleich was schönes gefunden:

hat das einen Grund, warum Du den Code hier noch einmal postest, obwohl
er bereits in der PureArea vorhanden ist (zu allem Überfluss auch noch
uneingerückt)?

Grüße ... Kiffi
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Na warum nicht? Vielleicht gibt es ja Leute, die genauso blöd sind wie ich...
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Wo er recht hat ... ;-)

(glaub aber ehrlich gesagt nicht das du blöd bist, daher das Smilie, heutzutage kann ja alles missverstanden werden, selbst der kleinste Joke und dann ist man gleich unten durch :) )
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Ja, das hab ich auch schon gemerkt... Anlachen ist out, Anpampen kommt
in Mode (Muahaha). Größenwahnsinnig passt wohl eher (miam).
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Na warum nicht?

weil ein Link genügt hätte.
Antworten