![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как организовать ввод в edit
skilful © (2010-04-27 20:20:00)всем привет.
как организовать контроль ввода данных в edit - необходимо вводить HEX число
я делаю в
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
if not (Key in [ #8,#127, '0'..'9', 'a'..'f', 'A'..'F']) then
key := #0;
но в этом случае невозможно в edit вставлять значение из буфера обмена (по ctrl + v). Как это победить?
Демо (2010-04-30 09:06:00) [1]
> Германн © (30.04.10 02:07) [31]
>
> > Это ещё что...
>
> Похоже "текущий проект" тебя не очень радует. :)
Ass - сокращение от слова Associate.
Германн (2010-04-30 02:07:00) [2]
> Это ещё что...
Похоже "текущий проект" тебя не очень радует. :)
Демо (2010-04-30 01:49:00) [3]
> Игорь Шевченко © (30.04.10 00:46) [28]
> Демо © (29.04.10 23:51) [27] > pz: Integer;стесняюсь
> спросить, от какого слова образовано сокращенное имя идентификатора.
> ..
Это ещё что...
Вот функции из текущего проекта:
procedure DBAssDropAndCreateTable(const TableName: String; const Fields: array of String);
procedure DBAssInsert(const TableName: String;List: TStringList); overload;
procedure DBAssInsert(const TableName: String;AAss: TAssArray); overload;
//function CreateAssArray
function QStr(const Src: String): String;
function Ass(const Key,Value: String): TAss;
function AssValueOf(AAss: TAssArray; const Key: String): String;
function AssIndexOf(AAss: TAssArray; const Key: String): Integer; overload;
function AssIndexOf(const Str: array of String; const Key: String): Integer; overload;
procedure AddAss(var AAss: TAssArray; Ass: TAss);
function DBAssSelect(const TableName: String; const Fields: array of String; sWhere: TAssArray; sOrder: array of String): TSQliteTable;
Германн (2010-04-30 01:23:00) [4]
> стесняюсь спросить, от какого слова образовано сокращенное
> имя идентификатора...
)))
Игорь Шевченко (2010-04-30 00:46:00) [5]Демо © (29.04.10 23:51) [27]
> pz: Integer;
стесняюсь спросить, от какого слова образовано сокращенное имя идентификатора...
Демо (2010-04-29 23:51:00) [6]
procedure TForm1.Edit1Change(Sender: TObject);
var
i: Integer;
s: String;
pz: Integer;
begin
s := Edit1.Text;
for i := Length(s) downto 1 do
begin
if not (s[i] in ['0'..'9','a'..'f','A'..'F']) then Delete(s,i,1);
end;
Edit1.Text := s;
Edit1.SelStart := pz;
end;
Гость (2010-04-29 20:45:00) [7]тест
Евгений Ц. (2010-04-29 20:04:00) [8]Если уж вешать на OnChange то можно и так
function OnlyHexInString(const S: string): string;
var
I:Integer;
begin
Result := '';
if Trim(S)='' then Exit;
for I:=1 To Length(S) do
if S[I] in ['0'..'9','A'..'F','a'..'f'] then Result := Result + S[I];
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.Text:= OnlyHexInString(Edit1.Text);
Edit1.SelStart:= Length(Edit1.Text);
end;
Не лучший вариант конечно вешать это на OnChange (((
SergeyIT (2010-04-28 01:26:00) [9]Давно писал подобное (D5) - ввод имени файла с запретом некоторых символов и русского
type
TLetters = #32..#255;
TLetSet = set of TLetters;
var
_FileChars: TLetSet = [ #32..#127] -
['!','@','#','$','%','^','&','*','+','`','~','|',
'\','/','?','>','
Anatoly Podgoretsky (2010-04-27 22:50:00) [10]
> turbouser © (27.04.10 22:17) [20]
Забей (#13)
oleg1963lora (2010-04-27 22:35:00) [11]Удалено модератором
Примечание: Правила читаем и уважаем
Leonid Troyanovsky (2010-04-27 22:17:00) [12]
> oleg1963lora (27.04.10 22:06) [17]
> а вы вдаетесь в тему насколько это человеку нужно!
Золотые слова, и вовремя сказаны.
Не всегда, правда, этот человек оное осознает.
--
Regards, LVT.
turbouser (2010-04-27 22:17:00) [13]
> turbouser © (27.04.10 22:05) [16]
>
>
а.. не прав, сорри :) мозг кипит :)
Игорь Шевченко (2010-04-27 22:15:00) [14]oleg1963lora (27.04.10 22:06) [17]
> Я полгода не вылезаю с Вашего форума
Помочь вылезти ? Запросто.
> и не вижу от Вас реальной помощи!
ты заплатил реальные деньги или спутал форум с техподдержкой ?
Lyonux (2010-04-27 22:15:00) [15]Как ему сделать эти "качели и мячик" (возможность использования ctrl+v), если он спилил дерево и понатыкал гвоздей (if not (Key in [ #8,#127, '0'..'9', 'a'..'f', 'A'..'F']) then key := #0;) ?)
Мы вроде предложили все возможные варианты:
1) использовать другое сочетание клавиш - Shift+Insert;
2)пользоваться попап меню;
3)добавить исключение для символа 'v' в условие процедуры.
oleg1963lora (2010-04-27 22:06:00) [16]Уважаемые Мастера! Вы вдаетесь в очень высокие проболемы. Я полгода не вылезаю с Вашего форума и не вижу от Вас реальной помощи! Человеку нужны "качели и мячик", т.е. элементарщиина, а вы вдаетесь в тему насколько это человеку нужно!
turbouser (2010-04-27 22:05:00) [17]
> oleg1963lora (27.04.10 21:41) [15]
То есть Tab
а то, что ты обозвал забоем - #13 и, вообще-то, это CR, а не забой :)
oleg1963lora (2010-04-27 21:41:00) [18]То есть забой??? сорри, подзабыл ;))
Lyonux (2010-04-27 21:33:00) [19]
> oleg1963lora (27.04.10 21:32) [13]
> Здравствуйте господа! Ачто означает символ #8? Я неплохо
> писал на асме и знаю, что символ табуляции #9. А #8 это
> что?
#8 - бэкспейс
oleg1963lora (2010-04-27 21:32:00) [20]Здравствуйте господа! Ачто означает символ #8? Я неплохо писал на асме и знаю, что символ табуляции #9. А #8 это что?