Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   dezimal/string/hex/binär-umrechner (https://www.delphipraxis.net/3420-dezimal-string-hex-binaer-umrechner.html)

Jan 11. Mär 2003 22:09


dezimal/string/hex/binär-umrechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo DP,
Ich habe ein ganz kleines Tool programmiert (nicht von der Dateigröße her klein), welches beliebige, in der Überschrift genannte, Werte ineinander umrechnet. Zusätzlich kann man noch ganze Stringketten in ihre Hexwerte umrechnen lassen.
Das Programm entstand, weil Daniel B mich darauf angesprochen hatte, er hat auch Anstöße zum Grundkonzept geliefert.
Wenn noch was fehlt, oder falsch ist, MOTZEN!!!
Gruß
Jan

Snoop007 11. Mär 2003 23:33

hi,
nettes progrämmchen :dancer2:

es wäre schön wenn man dezimalzahlen > 255 eingeben könnte
und bei der umrechnung in einen string ist ein fehler (schönheitsfehler)
erst wenn der binärwert = 4 stellen hat, "darf" ein wert im stringfeld erscheinen :firejump:

dann wäre es zum :party:
jetzt noch ein kleiner wunsch :D
es wäre super wenn strg + c gehen würde

Jan 11. Mär 2003 23:59

Hallo Snoop007,

Zitat:

erst wenn der binärwert = 4 stellen hat, "darf" ein wert im stringfeld erscheinen
Warum denn das?

Zitat:

es wäre schön wenn man dezimalzahlen > 255 eingeben könnte
Das hatte ich zuerst programmiert, sogar mit Nachkommastellen, allerdings ist es dann ja nicht möglich diese Werte in String umzurechnen, aber da das ja gegeben sein soll, muss es wohl eine Begrenzung bei 255 geben.

Zitat:

es wäre super wenn strg + c gehen würde
Da man 'c' als Wert nur bei String und Hex-Zahlen eingeben darf, weiss ich nicht, wie ich strg+c erlauben soll, kannst du mir da helfen?

Zitat:

nettes progrämmchen
Danke, danke :D

Gruß
Jan

Snoop007 12. Mär 2003 10:14

ein zeichen, sprich ein byte hat 4 bit, also darf erst ein string angezeigt werden wenn 4 stellen bei binär stehen

falls ein dezimalwert über 255 geht, zeige keine strings mehr an ;)

da ich mal davon ausgehe, das du eingaben bei OnKeyPress abfängst, fügst du diese anweisung einfach in OnKeyUp ein
Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Shift = [ssCtrl]) and (Key = 67) then
  begin
    Edit1.CopyToClipboard;
  end;
end;
jetzt geht auch strg+c ;) :party:

Sharky 12. Mär 2003 11:08

Re: dezimal/string/hex/binär-umrechner
 
Hai Jan,

ich fände es übersichtlicher wenn Du Binär immer 8 Stellen ausgibst

Also 1 = 00000001

ist finde ich besser zu lesen.

Und beim Feld String würde ich den "ASCII-Code" ausgeben wenn es ein nicht darstellbares Zeichen ist.

Also bei

Dez = 2
String = STX
Dez = 8
String = BS

usw.

Chewie 12. Mär 2003 11:52

Zitat:

Zitat von Snoop007
ein zeichen, sprich ein byte hat 4 bit, also darf erst ein string angezeigt werden wenn 4 stellen bei binär stehen

Seit wenn denn das? Ein Byte hat 8 Bit, keine 4. Und es ist doch kein Problem, wenn weniger als acht Zeichen angegeben werden, das sind eben alles Nullen.

Jan 12. Mär 2003 14:19

Hallöchen,

@Snoop: Vielen Dank, klappt 1A.


@Sharky:
Zitat:

ich fände es übersichtlicher wenn Du Binär immer 8 Stellen ausgibst
ist eingebaut.

Zitat:

Und beim Feld String würde ich den "ASCII-Code" ausgeben wenn es ein nicht darstellbares Zeichen ist.
Das leuchtet ein, und das würde ich auch gerne machen, wenn du mir denn sagen könntest, wie das geht..

Zitat:

Seit wenn denn das? Ein Byte hat 8 Bit, keine 4. Und es ist doch kein Problem, wenn weniger als acht Zeichen angegeben werden, das sind eben alles Nullen.
Stimmt, und genau so hate ich mir das auch gedacht.

54687820342068656C70203220616C6C206F6620796F7521
4A616E

Sharky 12. Mär 2003 15:06

Zitat:

Zitat von Jan
.... Das leuchtet ein, und das würde ich auch gerne machen, wenn du mir denn sagen könntest, wie das geht..

Nö, wird nix verraten :lol:

Hier mal eine ASCII-Tabelle

Code:
    0   1   2   3   4   5   6   7   8   9   A  B  C  D  E  F
0  NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1  DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2   SP !   "  #   $   %   &  '  (   )  *   +   ,  -   .  /
3   0   1   2   3   4   5   6   7   8   9   :  ;  <  =  >  ?
4   @   A  B  C  D  E  F  G  H  I  J  K  L  M  N  O
5   P  Q  R  S  T  U  V  W  X  Y  Z  [   \   ]  ^   _
6   `   a  b  c  d  e  f  g  h  i  j  k  l  m  n  o
7   p  q  r  s  t  u  v  w  x  y  z  {   |   }   ~ DEL
Wie Du siehst haben alle Zeichen kleiner als $20 einen "Namen"
Du musst also nur prüfen ob der eingegebene Wert kleiner als $20 ist und dann aus einem Array den Text holen der in dem Stringfeld stehen soll.

Eventuell ist es sinnvol auch noch $20 als SP auszugeben. Ein Space sieht man in einem Edit nämlich so schlecht *gg*

Jan 12. Mär 2003 15:22

Hallo Sharky,
sieht so aus, als würde das eher nichts geben, da das Programm darauf basiert, das man von allen Feldern nach allen Feldern übersetzen kann. und genau deswegen befindet sich im Stringfeld eine Eingabebegrenzung von einem Zeichen. Wenn ich mehr Zeichen erlauben würde, dann könnte man ja mehr Zeichen eingeben, und das würde alles durcheinanderwerfen.
Aber rein interressehalber: kann man denn diese Namen nicht irgendwie aus dem rechner bekommen, ohne vorher manuell so einen array anlegen zu muessen?
Gruß
Jan

Sharky 12. Mär 2003 15:28

Zitat:

Zitat von Jan
Hallo Sharky,
sieht so aus, als würde das eher nichts geben, da das Programm darauf basiert, das man von allen Feldern nach allen Feldern übersetzen kann.

Das ist doch kein Problem. Du musst doch nur prüfen wo eine Eingabe gemacht wurde. Wenn es in: Dezimal, Binär, Hex war kannst Du den ASCII-Code ja in das Edit für den String schreiben.

Zitat:

...Aber rein interressehalber: kann man denn diese Namen nicht irgendwie aus dem rechner bekommen, ohne vorher manuell so einen array anlegen zu muessen?...
Das wäre mir neu. Aber die 32 Strings sind doch wirklich schnell getippt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz