Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как организовать ввод в edit


Страницы:   1 2

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 это что?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо