Вторник, 17.10.2017, 06:42
Приветствую Вас Гость | RSS

DELPHI Report

Каталог статей Delphi Report

Главная » Статьи » Внешний вид программы

Проверка ввода числовых данных в строковую переменную. (Tedit. TStringGrid)
Для TEdit можно воспользоваться обработчиком событий OnChange. В следующем коде идет проверка на ввод числа, при этом если будет введен некорректный символ, то программа его исправит и поставит курсор  в необходимое место.

TForm2.Edit16Change(Sender: TObject);
var
F:real;
S:string;
begin
S:=trim((Sender as TEdit).Text);
if (S='')  then exit;
if (S[length(S)]=',') or (S[length(S)]='.')
then    begin
 S[length(S)]:=DecimalSeparator;
(Sender as TEdit).Text:=S;
 (Sender as TEdit).SelStart:=Length(S);
end;
try
F:=StrToFloat(S);
except
 Delete(S,length(S),1);
(Sender as TEdit).Text:=S;
(Sender as TEdit).SelStart:=Length(S);
end;
Можно так же воспользоваться val.

Для stringgrid можно попробовать он событием onGetEditMask

procedure TForm14.StringGrid1GetEditMask(Sender: TObject; ACol,
  ARow: Integer; var Value: String);
begin

  Value :=  '!099.99;1;_';

end;

или .....

function CheckNumStr(var S:string):boolean;
var
F:real;
begin
S:=trim(S);
if (S='')  then exit;
if (S[length(S)]=',') or (S[length(S)]='.')
then    begin
 S[length(S)]:=DecimalSeparator;

end;
try
F:=StrToFloat(S);
if (S[length(S)]='e') or (S[length(S)]='E')  then
 begin
   Delete(S,length(S),1);

 end;
 result:=true;
except
 Delete(S,length(S),1);
 result:=false;
end;
end;

procedure TForm14.StringGrid1SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
var
S:string;
begin
S:=value;
CheckNumStr(S);
StringGrid1.Cells[acol,arow]:=s;
SetCaretPosition(StringGrid1,Acol,Arow,Length(S));
end;


Более подробно про позиционирование смотрите в SetCaretPosition.


Категория: Внешний вид программы | Добавил: delphi (14.04.2010)
Просмотров: 3896 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Меню сайта
Google
Форма входа
Категории раздела
Общие вопросы [3]Среда Delphi [1]
Создание отчетов. Rave Reports [6]- Delphi DLL [9]
- Работа с реестром [5]Внешний вид программы [9]
Прикладные программы [1]
Здесь будут размещаться программы, файлы и по возможности описание программ прикладного характера
MS Office (MS Word, MS Excel ) [40]
Aвтоматизация отчетов с помощью средств MS Office (Word, Excel)
Построение графиков TChart, TDBChar [10]Matlab [3]
Здесь будут представлены примеры и статьи решения математических задач в среде матричных вычислений Matlab
Поиск
Друзья сайта
Статистика
Copyright MyCorp © 2017