Problem z napisaniem szyfratora.

0

Oto fragment kodu źródłowego mojego programu(odpowiadającego za dekodowanie) ma on za zadanie szyfrować liczby(takie ćwiczonko) i przy dekodowaniu pojawia się błąd ` is not valid integer value, nie wiem mi się wydaje, że wszystko jest o.k i nie wiem co można zrobić, a co wy o tym sądzicie??

rocedure TForm1.Button2Click(Sender: TObject);
var
Z : Integer;
V : Integer;
Tablica : array[0..9] of string;
Tabela : array[121..973 ] of String;
D : String;
X : String;
O : String;
L : String;
begin
Edit1.Clear;

tabela[513] := '0';
tabela[190] := '1';
tabela[450] := '2';
tabela[973] := '3';
tabela[228] := '4';
tabela[668] := '5';
tabela[443] := '6';
tabela[200] := '7';
tabela[121] := '8';
tabela[776] := '9';

tablica[0] := '0';
tablica[1] := '1';
tablica[2] := '2';
tablica[3] := '3';
tablica[4] := '4';
tablica[5] := '5';
tablica[6] := '6';
tablica[7] := '7';
tablica[8] := '8';
tablica[9] := '9';

Z :=1;
repeat
D := Edit2.Text[Z];
X := Edit2.Text[Z + 1];
O := Edit2.Text[Z + 2];
V := (StrToInt(D) * 100 + StrToInt(X) *10 + StrToInt(O));
L := Tabela[V];
Edit1.Text := Edit1.Text + Tablica[StrToInt(L)];
Inc(Z);
Inc(Z);
Inc(Z);
until Edit2.Text[Z + 3] = ' ';

0

nie wgłębiając sie w sens i działanie tego, po błędzie wnioskuje, ze gdzies próbujesz zamienic pusty string na liczbe czyli przed StrToInt najlepiej sprawdzaj czy JakisTamString[Index]<>'' (znak pusty :) ) i jesli nie to JakisTamString[index]:='0';
To jest rozumowanie prowadzące do usunięcia tego błedu :> ale czy to bedzie dzialac tak jak powinno to nie wiem :P

0

po pierwsze to chyba
until Edit2.Text[Z]='';
a po drugie to zamiast 3xInc(Z);
możesz dać: Inc(Z,3);
a po trzecie po co dorzucasz tablicę drugą i robisz jakieś StrToInt jak całą tablice tablica możesz wypieprzyć i dać:
Edit1.Text := Edit1.Text + L;
a po czwarte to ta procedura jest bez sensu / znaczy się z sensem bo coś robi ale ktoś ręcznie wyedytuje zakodowany plik i już się procedura sypie a to chyba umie kodować/rozkodować tylko cyfry i każda cyfra zajmuje niepotrzebnie 3 bajty

1 użytkowników online, w tym zalogowanych: 0, gości: 1