tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
2602
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Caith Caith ist offline Rookie
    Registriert seit
    Sep 2007
    Beiträge
    8
    Also hallo erstmal,
    Ich habe mir mal ein Programm gemacht um die Hex Zahlen für 0-255 rauszukriegen.
    das Programm läuft ja auch so ganz gut, ABER wenn der Hexwert kleiner als 10 ist gibt er mir die Zahlen immer nur so aus

    Code :
    1
    
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

    statt so:
    Code :
    1
    
    00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F

    Quelltext (etwas lang in der Unit2 | Button1.OnClick)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    
    VAR
     a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q:integer;
     a2,b2,c2,d2,e2,f2,g2,h2,i2,j2,k2,l2,m2,n2,o2,p2,q2:string;
    begin
    Label1.Show;
    Edit1.Show;
    Edit1.Text:='';
    Label2.Show;
    Edit2.Show;
    Edit2.Text:='';
     
    { Umrechnung in Hex }
     
    a:=StrToInt(LabeledEdit1.Text);
    a2:='';
    a2:=IntToHex(a,0);
    b:=StrToInt(LabeledEdit2.Text);
    b2:='';
    b2:=IntToHex(b,0);
    c:=StrToInt(LabeledEdit3.Text);
    c2:='';
    c2:=IntToHex(c,0);
    d:=StrToInt(LabeledEdit4.Text);
    d2:='';
    d2:=IntToHex(d,0);
    e:=StrToInt(LabeledEdit5.Text);
    e2:='';
    e2:=IntToHex(e,0);
    f:=StrToInt(LabeledEdit6.Text);
    f2:='';
    f2:=IntToHex(f,0);
    g:=StrToInt(LabeledEdit7.Text);
    g2:='';
    g2:=IntToHex(g,0);
    h:=StrToInt(LabeledEdit8.Text);
    h2:='';
    h2:=IntToHex(h,0);
    i:=StrToInt(LabeledEdit9.Text);
    i2:='';
    i2:=IntToHex(i,0);
    j:=StrToInt(LabeledEdit10.Text);
    j2:='';
    j2:=IntToHex(j,0);
    k:=StrToInt(LabeledEdit11.Text);
    k2:='';
    k2:=IntToHex(k,0);
    l:=StrToInt(LabeledEdit12.Text);
    l2:='';
    l2:=IntToHex(l,0);
    m:=StrToInt(LabeledEdit13.Text);
    m2:='';
    m2:=IntToHex(m,0);
    n:=StrToInt(LabeledEdit14.Text);
    n2:='';
    n2:=IntToHex(n,0);
    o:=StrToInt(LabeledEdit15.Text);
    o2:='';
    o2:=IntToHex(o,0);
    p:=StrToInt(LabeledEdit16.Text);
    p2:='';
    p2:=IntToHex(p,0);
    q:=StrToInt(LabeledEdit17.Text);
    q2:='';
    q2:=IntToHex(q,0);
    if (a > -1) AND (a < 256) AND (b > -1) AND (b < 256) AND (c > -1) AND (c < 256) AND (d > -1) AND (d < 256) AND (e > -1) AND (e < 256) AND (f > -1) AND (f < 256) AND (g > -1) AND (g < 256) AND (h > -1) AND (h < 256) AND (i > -1) AND (i < 256) AND (j > -1) AND (j < 256) AND (k > -1) AND (k < 256) AND (l > -1) AND (l < 256) AND (m > -1) AND (m < 256) AND (n > -1) AND (n < 256) AND (o > -1) AND (o < 256) AND (p > -1) AND (p < 256) AND (q > -1) AND (q < 256) Then
    begin
    Edit1.Text:=a2+' 00 '+b2+' 00 '+c2+' 00 '+d2+' 00 '+e2+' 00 '+f2+' 00 '+g2+' 00 '+h2+' 00 '+i2+' 00 '+j2+' 00 '+k2+' 00 '+l2+' 00 '+m2+' 00 '+n2+' 00 '+o2+' 00 '+p2+' 00 '+q2+' 00';
    Edit2.Text:='FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00 FF 00';
    end
     
    { Falls unzulässige eingabe }
     
    else
    begin
    Edit1.Text:='';
    Edit2.Text:='';
    end;
    end;
     
    procedure TRinge.Zurck1Click(Sender: TObject);
    begin
    close;
    end;
     
    end.
    Geändert von Caith (20.09.07 um 11:38 Uhr)
     

  2. #2
    rzwanziger rzwanziger ist offline Rookie
    Registriert seit
    Sep 2007
    Ort
    Fürth (Bayern)
    Beiträge
    5
    Hmm, findest du das nicht reichlich viel Code, um eine Zahl umzuwandeln? Versuch's mal so:

    Code :
    1
    2
    3
    4
    
    function TForm1.GetHex(i: Integer):string;
    begin
      result := IntToHex(i, 2);
    end;
     

  3. #3
    Tobias Köhler Tutorials.de Gastzugang
    na sowas finde ich mal cool von 85 zeilen runter auf 4

    PS: hätt genau denselben Vorschlag gepostet paar minuten zu spät
     

  4. #4
    Caith Caith ist offline Rookie
    Registriert seit
    Sep 2007
    Beiträge
    8
    Danke rzwanziger hat an der ,2 inna Klammer gelegen.

    ~done~
     

  5. #5
    rzwanziger rzwanziger ist offline Rookie
    Registriert seit
    Sep 2007
    Ort
    Fürth (Bayern)
    Beiträge
    5
    die 2 legt die Anzahl der Stellen fest, die der Ergebnisstring hat. Alternativ kannst Du natürlich auch ne Schleife von Length(Ergebnis) bis zur gewünschten Länge machen und bei jedem Lauf vorn ne 0 anfügen.

    Ciao
    Ralf
     

  6. #6
    Caith Caith ist offline Rookie
    Registriert seit
    Sep 2007
    Beiträge
    8
    naja ist ja jetz ferti das tool hier mal ein screen (Tool ist für Spellforce zum Ch..Leichter machen *hehe*)

    http://filesupload.fi.funpic.de/inco...009341TEST.png
     

Ähnliche Themen

  1. einlesen ganzer zahlen ausgabe getrennt
    Von Prenses im Forum Java
    Antworten: 2
    Letzter Beitrag: 25.11.10, 08:41
  2. Ausgabe von Zahlen
    Von son gohan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 25.03.06, 12:10
  3. Problem Access2000 und Delphi
    Von Scarejojo im Forum Delphi, Kylix, Pascal
    Antworten: 4
    Letzter Beitrag: 19.08.04, 11:22
  4. Zahlen in Delphi
    Von Chronix im Forum Delphi, Kylix, Pascal
    Antworten: 14
    Letzter Beitrag: 20.07.04, 02:50
  5. Problem mit Delphi...
    Von Alphatronix im Forum Delphi, Kylix, Pascal
    Antworten: 6
    Letzter Beitrag: 19.10.02, 11:52