ajaxii писал(а):
грубо говоря малообучающееВот так будет работать быстрее и более обучающе .
Add(InlineCode,4594040,140,105)
{
WorkPoints=#5:doSel|
EventPoints=#4:SelD|4:SelA|4:SelR|4:SelZ|
DataPoints=#3:Str|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|18: SelD:THI_Event;|18: SelA:THI_Event;|18: SelR:THI_Event;|18: SelZ:THI_Event;|17: Str:THI_Event;|48: Procedure doSel(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|28:Procedure THiAsmClass.doSel;|13:var s:string;|14: i:integer;|5:begin|77: s:=ReadString(_Data,Str,''); //читаем строку из потока или верхней точки|80: If s='' then exit; // если строка пустая, то выходим из процедуры|57: For i:=1 to Length(s) do // берём по одной букве|8: begin|54: If s[i] in['0'..'9'] then // проверка на цифры|12: begin |31: _hi_onEvent(SelD,s[i]); |17: Continue; |9: end|70: else if s[i] in['A'..'Z','a'..'z'] then // проверка на английский|12: begin |31: _hi_onEvent(SelA,s[i]); |17: Continue; |9: end|67: else if s[i] in['А'..'Я','а'..'я'] then // проверка на русский|12: begin |44: _hi_onEvent(SelR,s[i]); |17: Continue; |9: end|45: else _hi_onEvent(SelZ,s[i]); // знаки|7: end;|0:|4:end;|4:end.|
}