AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte dezimal/string/hex/binär-umrechner

dezimal/string/hex/binär-umrechner

Ein Thema von Jan · begonnen am 11. Mär 2003 · letzter Beitrag vom 24. Mai 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte » 
Benutzerbild von Jan
Jan
Registriert seit: 24. Sep 2002
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
Angehängte Dateien
Dateityp: zip umrechner_118.zip (211,5 KB, 302x aufgerufen)
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
 
Snoop007

 
Delphi 6 Personal
 
#2
  Alt 12. Mär 2003, 00:33
hi,
nettes progrämmchen

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

dann wäre es zum
jetzt noch ein kleiner wunsch
es wäre super wenn strg + c gehen würde
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

 
Delphi 7 Enterprise
 
#3
  Alt 12. Mär 2003, 00: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

Gruß
Jan
Jan
  Mit Zitat antworten Zitat
Snoop007

 
Delphi 6 Personal
 
#4
  Alt 12. Mär 2003, 11: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
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#5
  Alt 12. Mär 2003, 12:08
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.
Stephan B.
  Mit Zitat antworten Zitat
Chewie

 
Turbo Delphi für Win32
 
#6
  Alt 12. Mär 2003, 12:52
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.
Martin Leim
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

 
Delphi 7 Enterprise
 
#7
  Alt 12. Mär 2003, 15: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
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#8
  Alt 12. Mär 2003, 16:06
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

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*
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Jan
Jan

 
Delphi 7 Enterprise
 
#9
  Alt 12. Mär 2003, 16: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
Jan
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#10
  Alt 12. Mär 2003, 16:28
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.
Stephan B.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.
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