Delphi-PRAXiS

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.

Jan 12. Mär 2003 15:44

Zitat:

Aber die 32 Strings sind doch wirklich schnell getippt.
es gibt noch um einige mehr, wenn man in den bereich von 120 oder sowas geht..

Gruß
Jan

Sharky 12. Mär 2003 15:54

[quote="Jan ...
es gibt noch um einige mehr, wenn man in den bereich von 120 oder sowas geht..[/quote]

Nicht wirklich.

$7F ist ein BackSpace. Was Du meinst sind die Zeichen oberhalb von $7F. Diese sind von der Ländereinstellung abhängig. Der "original" ASCII-Zeichensatz ist ja nur 7 Bit gross. Und bis $20 sind die Kürzel genormt.

Ein
02 -> STX bedeutet StartText
03 -> ETX bedeutet EndOfText
06 -> ACK bedeutet .. ähm "Commando vertanden
usw.

sakura 12. Mär 2003 15:58

Hier mal noch ein paar Infos zum Thema: http://www.delphipraxis.net/viewtopi...start=15#18789

...:cat:...

Jan 12. Mär 2003 18:25

Copy und Paste sind jetzt in der neuesten Version Integriert.
Ihr könnt jetzt also alle durch copy + paste diesen Satz entschlüsseln:

Code:
48616C6C6F2044502C207669656C20537061DF206D6974206D65696E657220536F667477617265203A5D205669656C656E2044616E6B2066FC7220657572652048696C6665210D0A477275DF0D0A4A616E

Daniel B 12. Mär 2003 19:21

Hallo Jan,
Zitat:

Zitat von Jan
Copy und Paste sind jetzt in der neuesten Version Integriert.
Ihr könnt jetzt also alle durch copy + paste diesen Satz entschlüsseln:
[Mega Text gesnippt]

Hmm, bei mir sieht es nicht umbedingt nach c&p aus, den Strg+v geht nicht! Nur übers Kontextmenü der Maus und dann einfügen, aber das ist ja "langweilig". ;)

Grüsse, Daniel :hi:

Jan 13. Mär 2003 13:00

Liste der Anhänge anzeigen (Anzahl: 1)
*grml* da hab ich wohl die falsche version upgeloaded.
Da ich meinen Post nichtmehr bearbeiten darf hier die neueste version.
Gruß
Jan

MrHammer 14. Jul 2005 11:04

Re: dezimal/string/hex/binär-umrechner
 
Hallo! Nettes Programm! Kennt hier jemand ein Programm zum Umrechnen von Binärzahlen in Hexzahlen in großen mengen: also ne das man ne ganze datei mit zahlen umrechnen lassen kann.

marabu 14. Jul 2005 12:56

Re: dezimal/string/hex/binär-umrechner
 
Kommt darauf an, wie die Eingabedatei aussieht - oder meinst du einfach einen file of byte?

Grüße vom marabu

MrHammer 14. Jul 2005 15:22

Re: dezimal/string/hex/binär-umrechner
 
Zitat:

Zitat von marabu
Kommt darauf an, wie die Eingabedatei aussieht - oder meinst du einfach einen file of byte?

Grüße vom marabu

ja ich meinte eingabe einfach txt file und ausgabe auch sowas

hab hier ne txt file mit nem ausschnitt:
Delphi-Quellcode:
11001100
01101100
00000100
10001100
10001100
10101100
00000100
10001100
00001100
10001100
00000100
10001100
10001100
00001100
00000100
10001100
00001100
00001100
00000100
10011100
10101100
00000100
10001100
00001100
00101100
00000100
10001100
00001100
10001100
00000100
10011100
11101100
00000100
10001100
00001100
00001100
00000100
10001100
00001100
10001100
00000100
10001100
10001100
00101100
00000100
01101100
10001100
00000100
11001100
10011100
00000100
10001100
00001100
00101100
00000100
10001100
00001100
10001100
00000100
10011100
11101100
00000100
10001100
00001100
00001100
00000100
10001100
00001100
10001100
00000100
10001100
10001100
00101100
00000100
00101100
00001100
00000100
11001100
00101100
00000100
01101100
11101100
00000100
10001100
10001100
10001100
00000100
10001100
10001100
00001100
00000100
10001100
10001100
01101100
00000100
10001100
00001100
10001100
00000100
10001100
10001100
00001100
00000100
10001100
10001100
01101100
00000100
00101100
10101100
00000100
01101100
00011100
00000100
10001100
das geht noch ewig weiter und ich versuche die binärcode als hexadezimal code in den hexeditor in Zahlen oder Buchstaben umzuwandeln.. nur jede zahl einzelnübersetzen is übel

[edit=flomei]Delphi-Tags gesetzt um es zusammen falten zu können. Nächstes mal so etwas bitte anhängen... Mfg, flomei[/edit]

Ultimator 14. Jul 2005 15:28

Re: dezimal/string/hex/binär-umrechner
 
@MrHammer:
Ist doch schnell programmiet, wenn es nur Binär nach Dezimal konvertieren soll.
Hier ist ein Code dafür: http://www.delphipraxis.net/internal...ect.php?t=4419

Das ganze musst du halt noch mit der Datei machen (entweder AsssignFile oder TFileStream oder auch TStringList) und in ner Schleife alle Werte konvertieren und ggf. in eine andere Datei schreiben. ;)

MrHammer 14. Jul 2005 15:31

Re: dezimal/string/hex/binär-umrechner
 
Zitat:

Zitat von Ultimator
@MrHammer:
Ist doch schnell programmiet, wenn es nur Binär nach Dezimal konvertieren soll.
Hier ist ein Code dafür: http://www.delphipraxis.net/internal...ect.php?t=4419

Das ganze musst du halt noch mit der Datei machen (entweder AsssignFile oder TFileStream oder auch TStringList) und in ner Schleife alle Werte konvertieren und ggf. in eine andere Datei schreiben. ;)

Hehe das is ja alles schön und gut, aber ich kan keine Richtigen Programmiersprachen.. aber ich dachte hier werden sie geholfen ... naja aber sieht sich sehr interessant aus.. also vielleicht sollte ich mich doch mal mit der materie mal vertraut machen. Wäre aber trotzdem froh wenn mir derweil jemand weiterhelfen könnte :)

greez mrhammer

marabu 14. Jul 2005 16:09

Re: dezimal/string/hex/binär-umrechner
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo MrHammer,

das Programm im Anhang kannst du anpassen und kompilieren. Als Muster deiner Eingabedaten genügen zwei Zeilen - den Rest kannst du gerne löschen.

marabu

und herzlich willkommen noch im Forum...

Stresemann 23. Mai 2006 15:46

Re: dezimal/string/hex/binär-umrechner
 
Hallo zusammen! Ich brauche dringend hilfe, da ich für die Schule eine Verschlüsselung von Texten erstellen wollte.
Dazu brauche ich allerdings erstmal eine nette function wie ich von string auf dezimalzahlen komme.
Gibt es da eine leichte Lösung? Kann mir jemand mit wuelltext helfen?
Am besten schnell! THX! :lol:

Stresemann 23. Mai 2006 17:08

Re: dezimal/string/hex/binär-umrechner
 
Zitat:

Zitat von Stresemann
Kann mir jemand mit wuelltext helfen?

Ich meine natürlich Quelltexte! :stupid:

Daniel G 23. Mai 2006 17:12

Re: dezimal/string/hex/binär-umrechner
 
Delphi-Referenz durchsuchenOrd() liefert dir von einem Zeichen den ASCII - Code. Somit hast du einen Dezimalwert. Einen String kannst du Zeichenweise z.B. so durchgehen:

Delphi-Quellcode:
var
i,n: integer;
Satz: String;
begin
for i := 0 to (length(Satz)-1) do
n := Ord(Satz[i]);
end;
nicht getestet...

Stresemann 23. Mai 2006 18:59

Re: dezimal/string/hex/binär-umrechner
 
Jo, danke! Ist nur ein kleiner Fehler!
Code:
for i := 0 to (length(Satz)) do
n := Ord(Satz[i]);

Daniel G 23. Mai 2006 19:08

Re: dezimal/string/hex/binär-umrechner
 
ah, ok... ich war mir bei length nicht mehr ganz sicher... :zwinker:

Stresemann 23. Mai 2006 19:17

Re: dezimal/string/hex/binär-umrechner
 
Jetzt fehlt mir nur noch eins :roll: ...
Das umgekehrte von Ord().. Ich brauch was, womit ich aus
Dezimalzahlen wieder String bekomme.. Wär toll wenn du das auch wüsstest.. :hello:

Daniel G 23. Mai 2006 19:19

Re: dezimal/string/hex/binär-umrechner
 
Delphi-Referenz durchsuchenChr()

:wink:

Stresemann 23. Mai 2006 19:20

Re: dezimal/string/hex/binär-umrechner
 
Primaa! Danke! :lol:

Stresemann 23. Mai 2006 20:00

Re: dezimal/string/hex/binär-umrechner
 
Delphi-Quellcode:
var i,n: integer;
Satz, int: String;

for i := 1 to length(satz) do
begin
int := chr(strtoint(satz[i]));
Mhh.. Was ist denn da oben jetzt bei dem Quelltext falsch?! Anders
rum mit Ord() hat es funktioniert..:

Delphi-Quellcode:
var i,n: integer;
Satz, int: String;

for i := 1 to (length(Satz)) do
begin
n := Ord(Satz[i]);
Álso, bei Ord() spuckt er z.B. bei A 65 raus. Dies is ja richtig..
Aber bei dem Quelltext mit chr() spuckt er bei 65 nicht A sondern  raus..
 spuckt er auch bei jeder anderen Zahl aus.. Weiß gerade nicht weiter..
Brauche schon wieder Hilfe.. :pale:

Daniel G 23. Mai 2006 20:21

Re: dezimal/string/hex/binär-umrechner
 
Hi,
imho solltest du dir langsam Gedanken machen, einen neuen Thread zu eröffnen. Es ist doch irgendwie arg OT, immerhin handelt es sich nicht um Dinge, die zu diesem hier vorgestellten Programm gehören. :wink:

Stresemann 24. Mai 2006 13:11

Re: dezimal/string/hex/binär-umrechner
 
jo, das ist eine gute Idee.. Hab ich gemacht..
Brauche nur möglichst schnelle Hilfe :coder2:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 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