Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];

Вниз

Ламерский вопрос   Найти похожие ветки 

 
Бурундук   (2002-04-03 16:48) [5]

var
theKey: TKey;

implementation
{----- TKey methods ----}

constructor TKey.Init(ACode: Integer);
begin
Scan := ACode<0;
Value := Char(Abs(ACode));
Throu := False;
end;

procedure TKey.Get;
begin
if Throu then
Throu := False
else
begin
Scan := False;
Value := ReadKey;
if Value = keyZero then
begin
Scan := True;
Value := ReadKey;
end;
end;
end;

procedure TKey.SetEqual(AKey: TKey);
begin
Scan := AKey.Scan;
Value := AKey.Value;
end;

procedure TKey.SendCode(ACode: Integer);
begin
Init(ACode);
Unget;
end;

procedure TKey.SendChar(AValue: Char);
begin
Value := AValue;
Scan := False;
Unget;
end;


function TKey.Pressed: Boolean;
begin
if KeyPressed or Throu then
begin
Pressed := True;
if not Throu then
begin
Scan := False;
Value := ReadKey;
if Value = keyZero then
begin
Scan := True;
Value := ReadKey;
end;
end else Throu := False;
end
else
Pressed := False;
end;

function TKey.FirstChar: Char;
begin
if Scan = NormalKey then
FirstChar := Value
else
FirstChar := keyZero;
end;

function TKey.Code: Integer;
begin
if Scan then
Code := - Ord(Value)
else
Code := Ord(Value);
end;

{-------------Comparison------------------}

function TKey.Is(ACode: Integer): Boolean;
begin
if ( (ACode<0)=Scan ) and ( Ord(Value)=Abs(ACode)) then
Is := True
else
Is := False;
end;

function TKey.IsChar(AValue: Char): Boolean;
begin
if (Scan = NormalKey) and(Value = AValue) then
IsChar := True
else
IsChar := False;
end;

function TKey.IsClear: Boolean;
begin
if (Scan = NormalKey) and(Value = keyZero) then
IsClear := True
else
IsClear := False;
end;

{-----------------}

function TKey.IsNumber: Boolean;
begin
if (not Scan)and(Value in["1","2","3","4","5","6","7","8","9","0",".","-"]) then
IsNumber := True
else
IsNumber := False;
end;

function TKey.IsSpec: Boolean;
begin
if (not Scan)and(Ord(Value) < 32) then
IsSpec := True
else
IsSpec := False;
end;

function TKey.IsText: Boolean;
begin
if (not Scan)and(Ord(Value)>=32)and(Ord(Value)<128) then
IsText := True
else
IsText := False;
end;

function TKey.IsLetter: Boolean;
var
O: Byte;
begin
O := Ord(Value);
if (not Scan)and
( ( (O >= 65)and(O <= 90 ) )
or ( (O >= 97)and(O <= 122) ) ) then
IsLetter := True
else
IsLetter := False;
end;

{--------------------}

function TKey.IsIn(SetOfChar: TSetOfChar): Boolean;
begin
if (not Scan)and(Value in SetOfChar) then
IsIn := True
else
IsIn := False;
end;

function TKey.IsEsc: Boolean;
begin
if not Scan and (Value = keyEsc) then
IsEsc := True
else
IsEsc := False;
end;

function TKey.IsEnter: Boolean;
begin
if not Scan and (Value = keyEnter) then
IsEnter := True
else
IsEnter := False;
end;

function TKey.IsEqual(AKey: TKey): Boolean;
begin
if (Scan = AKey.Scan)and(Value = AKey.Value) then
IsEqual := True
else
IsEqual := False;
end;

destructor TKey.Done;
begin
end;

{--------------------------------------}

function TKey.UpIs(AValue: Char): Boolean;
begin
if (Scan = NormalKey)and( Upcase(Value) = Upcase(AValue)) then
UpIs := True
else
UpIs := False;
end;

function TKey.UpIsIn(SetOfChar: TSetOfChar): Boolean;
begin
if (not Scan)and(UpCase(Value) in SetOfChar) then
UpIsIn := True
else
UpIsIn := False;
end;

function TKey.UpIsEqual(AKey: TKey): Boolean;
begin
if (Scan = AKey.Scan)and(Upcase(Value) = Upcase(AKey.Value)) then
UpIsEqual := True
else
UpIsEqual := False;
end;

procedure TKey.Unget;
begin
Throu := True;
end;

procedure TKey.Clear;
begin
{Throu := False;}
Init(kcClear);
end;


end.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
1-46406
UnDISCOvery
2002-04-01 15:44
2002.04.15
Из Дельфы - все ОК, а из Виндов - ошибка ! Из-за чего ???


1-46337
nastya_
2002-04-03 19:13
2002.04.15
www браузер


3-46264
velk
2002-03-26 07:32
2002.04.15
Поскажите пожалуйста как открыть таблицу dbf в dos формате


1-46346
ArmArt
2002-04-03 23:34
2002.04.15
Как сделать Экспорт Quick Report в Excel


1-46387
Chainik
2002-04-02 10:34
2002.04.15
Помогите с переносом данных из DBGrid в Excel :((





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский