AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Kleiner Zahlenkonvertierer
Thema durchsuchen
Ansicht
Themen-Optionen

Kleiner Zahlenkonvertierer

Ein Thema von Die Muhkuh · begonnen am 3. Jan 2008 · letzter Beitrag vom 12. Jan 2008
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von Die Muhkuh
Die Muhkuh
Registriert seit: 21. Aug 2003
Hi,

da mir vorher langweilig war, hab ich aus Spaß ein kleines Programm zum Konvertieren von Zahlensystem gebastelt. Vom 2er bis 16er-System ist alles möglich.

Vielleicht kann es ja jemand brauchen.

Kleiner Changelog
+ Längere Binär-Strings sind nun möglich
+ STRG+C, STRG+V, STRG+X funktioniert
+ Es können nur die jeweiligen Zahlen des Systems eingegeben werden
+ A...F wird nun als "Zahl" akzeptiert
Angehängte Dateien
Dateityp: exe zahlenkonverter_111.exe (426,5 KB, 43x aufgerufen)
 
Benutzerbild von rawsoul
rawsoul

 
Delphi 2005 Personal
 
#21
  Alt 11. Jan 2008, 19:05
Nettes Programm, hat allerdings für mich keinen Nutzen.

Wieso nicht noch weitere abstrakte Zahlensystem einbauen?

Mal was ganz altes aus dem Infounterricht:
Delphi-Quellcode:
function xtoy(dez,base:integer):string;
const
  num:array [0..35] of char = ('0','1','2','3','4','5','6','7','8','9',
                               'A','B','C','D','E','F','G','H','I','J',
                               'K','L','M','N','O','P','Q','R','S','T',
                               'U','V','W','X','Y','Z');
begin
  result:='';
  if (base>36) or (base<2) then
  begin
    result:='Keine gültige Basis!';
    exit;
  end;
  repeat
    result:=num[dez mod base]+result;
    dez:=dez div base;
  until dez=0;
end;
Diese Funktion arbeitet vom Binärsystem bis zum System der Basis 36

//Edit: Whoopsies, hätte vielleicht vorher mal nachdenken sollen. Diese Funktion rechnet nur Zahlen aus dem Dezimalsystem in andere um, sonst nichts. 'schuldige
Frank Dumont
  Mit Zitat antworten Zitat
Phantom1

 
Delphi 10.4 Sydney
 
#22
  Alt 12. Jan 2008, 08:25
Zitat von rawsoul:
Diese Funktion arbeitet vom Binärsystem bis zum System der Basis 36

//Edit: Whoopsies, hätte vielleicht vorher mal nachdenken sollen. Diese Funktion rechnet nur Zahlen aus dem Dezimalsystem in andere um, sonst nichts. 'schuldige
Wenn man alles in einer einzigen function haben will, müsste es in etwa so hier aussehen:
Delphi-Quellcode:
function BaseToBase(Value: string; StartBase, EndBase: byte): string;
const Digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var i: Integer; dez, j: Int64;
begin
  Result:='';
  if (StartBase<2) or (StartBase>36) or
     (EndBase<2) or (EndBase>36) then Exit;
  for i:=1 to Length(Value) do begin
    j:=Pos(Value[i], Digits);
    if (j>StartBase) or (j=0) then Exit;
  end;
  j:=1;
  dez:=0;
  for i:=Length(Value) downto 1 do begin
    dez:=dez + (Pos(Value[i], Digits)-1) * j;
    j:=j*StartBase;
  end;
  repeat
    Result:=Digits[dez mod EndBase+1] + Result;
    dez:=dez div EndBase;
  until dez=0;
end;
Damit kann man von 2er bis zum 36er System alles umrechnen lassen.
  Mit Zitat antworten Zitat
Benutzerbild von rawsoul
rawsoul

 
Delphi 2005 Personal
 
#23
  Alt 12. Jan 2008, 14:12
[ot]Danke, die werd ich mal durch meine alte in der Codeschnipsel.pas ersetzen [/ot]
Frank Dumont
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 22:52 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