Código Delphi
[-]
const
RegAsm : Array[1..30] of string = ('AX','BX','CX','DX','AH','AL',
'BH','BL','BP','CH','CL','CS',
'DH','DL','DI','DS', 'GS', 'IP',
'SI','SP','SS', 'ES',
'EAX','EBP','EBX','ECX',
'EDI','EDX','EIP','ESIFE');
begin
SL := TStringList.Create;
ListBox1.Clear;
for i := 0 to Memo1.Lines.Count - 1 do
begin
AuxStr := Memo1.Lines[i];
for j := 1 to Length(AuxStr) do
begin
if (AuxStr[j] <> ' ') and (AuxStr[j] <> ',') then
Token := Token + AuxStr[j]
else
begin
SL.Add(Token);
Token := EmptyStr;
end
end;
SL.Add(Token);
Token := EmptyStr;
for j := 0 to SL.Count - 1 do
for k := Low(RegAsm) to High(RegAsm) do
if UpperCase(SL[j]) = UpperCase(RegAsm[k]) then
ListBox1.Items.Add(UpperCase(RegAsm[k]));
SL.Clear;
end;
SL.Free;
En este codigo se muestra el arreglo que les mencione y el memo y el listbox, sencillamente lo que hace este programa es que si yo pongo los registros de ensamblador como se muestra en la imagen y le doy al boton analizar comparara el memo con el arreglo y lo mostrara en el listbox llamado registros
imageshack.com/a/img845/5014/l2r0.png
A lo que me referia es cuando escribo mal algun registro o algo me me lo mande a otro listbox que se llame errores o algo asi pero... ¿Como saber cual es error y cual no?, mi idea es por ejemplo.
Código Delphi
[-]if UpperCase(SL[j]) <> UpperCase(SimAsm[k]) then
algo asi que si son diferentes los datos del memo que los del arreglo los marque como error pero no todos los datos diferentes al arreglo son errores por ejemplo si yo quiero hacer una variable me la detectaria como error, y pues esa es mi duda en si como validar ese tipo de errores, me he quebrado la cabeza pensando la vdd aun soy algo nuevo en esto, espero y me puedan ayudar y perdon por el spam.