Okay klappt soweit, aber
Pos
berücksichtigt die groß und kleinschreibung nicht. Wie kann man das ändern? Ist nämlich ausschlaggebend
wenn ichs jetzt so mache, damit er groß und kleinschreibung berücksichtig,
Delphi-Quellcode:
buffer:=trunc((Zahl2 - Zahl1)/ Zahl3);
Konvert:='abcdefghijklmnopq<rstuvwxyz!"§$%&/()=?*+#-_:.,;ABCDEFGHIJKLMNOPQ>RSTUVWXYZ';
buffer2:=Konvert[buffer];
kommt zumindest noch immer die ungültige gleitkomma operation obwohl die schleife bedeutend kleiner geworden ist.
Ich habde den Fehler mal im COde abgefangen. Der Fehler müsste hier liegen
Zitat:
procedure TGeheimcodeForm.BitButtonEntschluesselnClick(Sende r: TObject);
var
numbers: TIntegerDynArray;
i,i2: Integer;
s: TStrings;
x, buffer2, Konvert: string;
Zahl1, Zahl2, Zahl3: integer;
Zahl1count, Zahl2count, Zahl3count, buffer: integer;
begin
Form2.OriginalText.Text:='';
x:=GeheimcodeText.Text;
ExtractNumbers(x, numbers);
s := TStringList.Create;
for i := Low(numbers) to High(numbers) do
try
s.Add(IntToStr(numbers[i]));
showmessage(s.Text);
s.Free;
Zahl1count:=0; Zahl2count:=1; Zahl3count:=2;
except begin showmessage('Fehler im ersten Bereich'); break; end; end;
for i2:=1 to Length(numbers) div 3 do begin
Zahl1:=numbers[Zahl1count];
Zahl2:=numbers[Zahl2count];
Zahl3:=numbers[zahl3count];
buffer:=trunc((Zahl2 - Zahl1)/ Zahl3);
buffer:=trunc((Zahl2 - Zahl1)/ Zahl3);
Konvert:='abcdefghijklmnopq<rstuvwxyz!"§$%&/()=?*+#-_:.,;ABCDEFGHIJKLMNOPQ>RSTUVWXYZ';
buffer2:=Konvert[buffer];
Form2.OriginalText.Text:= Form2.OriginalText.Text + Buffer2;
Zahl1count:= Zahl1count+3;
Zahl2count:= Zahl2count+3;
Zahl3count:= Zahl3count+3;
end;
end;