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

Вниз

Срочно нужна помощь!   Найти похожие ветки 

 
Adolf ©   (2006-05-22 00:58) [0]

Люди, срочна нужна помощь в Делфи!Есть к примеру 10 компонентов EDIT я в них поставил максимальную длинну строки в один символ, а теперь мне нидо написать функчию "чтото типо автотаба" чтоб при заполнении одного компонента курсор автоматом переходил на на другой компонент!Заране спасибо!


 
DevilDevil ©   (2006-05-22 01:15) [1]

попробуй:
// TEdit.OnKeyPress
begin
SendMessage(Self.Handle, WM_CHAR, 9, 0);
end;


 
Elen ©   (2006-05-22 08:37) [2]

Попробуй эти Эдиты загнать в массив, тогда их будет легко контролировать.
Создай переменку в которую будет заноситься номер текушего Эдита и ты будеш знать на какой переходить потом


 
Elen ©   (2006-05-22 09:05) [3]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   procedure FormCreate(Sender: TObject);
   procedure Edit2KeyPress(Sender: TObject; var Key: Char);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var  m:array[1..10] of tedit;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var k,i:byte;
begin k:=1;
for i :=0  to form1.ComponentCount -1   do
begin
  if form1.Components [i] is Tedit then begin
       m[k]:=tedit(form1.Components[i]);
       m[k].Tag:=k+1;
       inc(k);
  end;
end;
 m[k-1].Tag:=1;
end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
 m[tedit(sender).tag].SetFocus;
end;

end;

end.


Edit2KeyPress задаеш для всех Эдитов
По Энтеру будет выбираться следующий Эдит
С последнего Эдита будет перескок на первый


 
Adolf ©   (2006-05-22 09:21) [4]


> unit Unit1;
>
> interface
>
> uses
>  Windows, Messages, SysUtils, Variants, Classes, Graphics,
>  Controls, Forms,
>  Dialogs, ExtCtrls, StdCtrls;
>
> type
>  TForm1 = class(TForm)
>    Edit1: TEdit;
>    Edit2: TEdit;
>    Edit3: TEdit;
>    procedure FormCreate(Sender: TObject);
>    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
>
>  private
>    { Private declarations }
>  public
>    { Public declarations }
>  end;
> var  m:array[1..10] of tedit;
>  Form1: TForm1;
>
> implementation
>
> {$R *.dfm}
>
> procedure TForm1.FormCreate(Sender: TObject);
> var k,i:byte;
> begin k:=1;
> for i :=0  to form1.ComponentCount -1   do
> begin
>   if form1.Components [i] is Tedit then begin
>        m[k]:=tedit(form1.Components[i]);
>        m[k].Tag:=k+1;
>        inc(k);
>   end;
> end;
>  m[k-1].Tag:=1;
> end;
>
> procedure TForm1.Edit2KeyPress(Sender: TObject; var Key:
>  Char);
> begin
> if key=#13 then
> begin
>  m[tedit(sender).tag].SetFocus;
> end;
>
> end;
>
> end.

Не совсем то! я эотел чтоб автоматом переходило а не при нахатии на интер! это равносильно тому что я на таб жму!


 
Elen ©   (2006-05-22 09:23) [5]

Автоматом при каком условии?


 
pavel_guzhanov ©   (2006-05-22 11:41) [6]

if length(Edit(i).text)=10 then
Edit(i+1).SetFocus


 
pavel_guzhanov ©   (2006-05-22 11:47) [7]


> if length(Edit(i).text)=10 then

извиняюсь, не 10, а 1


 
Плохиш ©   (2006-05-22 11:52) [8]


> Adolf ©   (22.05.06 00:58)


procedure TForm1.Edit1Change(Sender: TObject);
begin
 if Sender is TEdit then
   if Length(TEdit(Sender).Text) = 1 then
     self.Perform(WM_NEXTDLGCTL, 0, 0);
end;


 
Adolf ©   (2006-05-22 13:23) [9]


> procedure TForm1.Edit1Change(Sender: TObject);
> begin
>  if Sender is TEdit then
>    if Length(TEdit(Sender).Text) = 1 then
>      self.Perform(WM_NEXTDLGCTL, 0, 0);
> end;
>
> <Цитата>

спасибо помогло!



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

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

Наверх





Память: 0.47 MB
Время: 0.012 c
3-1145342217
ORMADA
2006-04-18 10:36
2006.06.11
Поиск информации о концепции создания сервера БД


2-1148301897
adsdf
2006-05-22 16:44
2006.06.11
Как сохранить TStringList в Файл в сети?


11-1128113989
TamTam
2005-10-01 00:59
2006.06.11
Цвет и вид шрифта


2-1148298774
Hitkliff
2006-05-22 15:52
2006.06.11
РадиоБатоны?


3-1145275914
Сергей И
2006-04-17 16:11
2006.06.11
запись из БД в EXEL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский