Einzelnen Beitrag anzeigen

Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Inkompatible typen String und integer

  Alt 27. Aug 2007, 19:58
Hi,

muss die Zahl denn unbedingt über mehrere Edits verteilt werden? Was machst du, wenn was anderes als 0 oder 1 eingegeben wird, z. B. 123?

Für ein einzelnes Edit gibt es schon jede Menge Lösungen... Hier im Forum suchenBinToInt

Ich würde es ganz spontan so lösen... Natürlich sollte man die Meldungen der Exceptions noch überarbeiten...

Delphi-Quellcode:
function BinToInt{64}(const Bin: String): Integer {Int64};
var
  I, L: Integer;
begin
  L := Length(Bin);
  if L = 0 then
    raise EConvertError.Create('String ist leer!!');
  if L > 32 {64} then
    raise EConvertError.Create('String zu lang!');

  Result := 0;

  for I := 1 to L do
    case Bin[I] of
      '0':;
      '1': Result := Result or (1 shl (L-I));
    else
      raise EConvertError.Create('Nur Ziffern 0 und 1 erlaubt!');
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := IntToStr(BinToInt(Edit1.Text));
end;
Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat