Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Delphi Вычислить значение выражения Приветствую форумчане. Нужно вычислить значение выражения в Delphi, т.е чтобы при вводе какого-либо числа выводился результат. (с проверкой val) y=(3{x}^{3}+18{x}^{2})*x+12{x}^{2}-5 https://www.cyberforum.ru/ delphi-beginners/ thread1585298.html Однооконный интерфейс в Borland Delphi 7 Delphi
Как собрать все окна в Borland Delphi 7 в одно?
Delphi Быки и коровы Доброго времени суток. Не могу реализовать человеческий поиск коров в Delphi. Имеется массив цифр загаданного 4-значного числа и массив цифр введенного пользователем числа. При проверке всех элементов (например, числа 1111) записывает лишнее кол-во коров при повторениях (если, например, цифра 1 присутствует в загаданном числе). Как можно реализовать поиск коров, чтобы он не реагировал на... https://www.cyberforum.ru/ delphi-beginners/ thread1585268.html Delphi Парсинг HTML страницы с сохранением выбранных данных в файл https://www.cyberforum.ru/ delphi-beginners/ thread1585245.html
Здравствуйте, подскажите, пожалуйста, как реализовать с помощью Delphi 7 следующую задумку: Имеется таблица с данными: Имеется ее html код: <table class="adm-list-table" id="t_ticket_list"> <thead> <tr class="adm-list-table-header"> <td class="adm-list-table-cell adm-list-table-checkbox" onclick="this.firstChild.firstChild.click(); return BX.PreventDefault(event);"><div...
Delphi Предотвратить обращение к форме из потока
Правильно ли я сделал ? Было: if Form1.sComboBox1.Text='HTTP(S)' then begin http.ProxyHost:=Copy(Proxyonli,1,Pos(':',Proxyonli)-1); http.ProxyPort:=Copy(Proxyonli,Pos(':',Proxyonli)+1,Length(Proxyonli)); end; if Form1.sComboBox1.Text='SOCKS 4/5' then begin http.Sock.SocksIP:=Copy(Proxyonli,1,Pos(':',Proxyonli)-1);
Delphi Смена иконки у программы находящейся на компьютере https://www.cyberforum.ru/ delphi-beginners/ thread1585177.html
Здравствуйте, можно ли сделать замену иконки запущенного процесса? или же программы которая находится на компьютере
Delphi Добавить текст в memo к тексту, который уже есть Привет! В memo у меня есть текст "Привет!" и я хочу добавить к нему еще текст(продолжение) с edit1 "Как дела?" при нажатии на button Memo1.Lines.Add(edit1.Text); добавляет новую строку Memo1.Text:=Memo1.Text + edit1.Text; тоже не подходит. Получается вот так "Привет!Привет!Как дела?" В общем надо чтоб получилось вот так "Привет!Как дела?" Добавлено через 24 минуты Нашел решение)... https://www.cyberforum.ru/ delphi-beginners/ thread1585162.html Delphi Работа с 2мя ListBox
a) Количество символов первой строки ListBox1 записать в первую строку ListBox2. b) Количество символов последней строки ListBox1 записать во вторую строку ListBox2. Для а) код ListBox2.Items := IntToStr(Length(ListBox1.Items)); не работает, b) не знаю как обратиться к последней строке. Помогите пожалуйста разобраться.
Delphi Подсчет каждой строки в StringGrid https://www.cyberforum.ru/ delphi-beginners/ thread1585131.html
Всем здравствуйте,помогите с подсчетом каждой строки.Мне нужна сумма всех месяцев так чтобы она выводилась в последнем столбике 'Сумма'и еще помогите сделать рейтинг так чтобы у того кого будет больше всего денег ставился первым и дальше на убывание.Заранее спасибо
Delphi Графы. Ребра. Расстояние между ребрами https://www.cyberforum.ru/ delphi-beginners/ thread1585125.html
У меня такая проблема,мне нужно чтоб из одной вершины(города) в другую шли два ребра(дороги),и чтобы эти дороги друг от друга на определенном расстоянии были(не важно каком ,лижбы не сливались и расстояние везде одинаковое было). Но у меня не получается это сделать.По началу(допустим из 1 во 2) все нормально идет,дороги не сливаются,все прекрасно видно,но потом,когда я выбираю допустим из 1 в...
Компоненты для создания приложения Delphi
Доброго времени Всем форумчанам и администраторам! Я только начал изучать язык программирования Delphi и забегая вперед хочу узнать очень полезную информацию для меня, а именно какие компоненты Borland Delphi 7 нужны для создания приложения, так скажем OPC сервера для работы с микроконтроллером по протоколу TCPI/IP, а именно подключаться к микроконтроллеру в локальной сети по IP адресу (например...
Delphi Деактивация кнопок При запуске формы , 2-4-5 кнопки деактивируются. После нажатия на 1ую кнопку , 2-4-5 кнопки активируются. Но выходит так : при запуске формы я всё равно могу нажать на 2 кнопку. Помогите исправить https://www.cyberforum.ru/ delphi-beginners/ thread1585066.html
0 / 0 / 1
Регистрация: 17.04.2016
Сообщений: 77
28.03.2017, 22:57 0

Вызов процедуры OnClick из модуля без формы - Delphi - Ответ 10269426

28.03.2017, 22:57. Показов 3755. Ответов 12
Метки (Все метки)

Ответ

Коллеги, добрый день.
Есть форма с таблицей TStringGrid. Нужно, что бы по нажатию Ins вызывалась процедура добавления новых строк, а по нажатию Del вызывалась процедуру удаления строк.
Не понимаю, но почему-то по нажатию данных клавиш процедуры не вызываются. Полагаю, что проблема именно в синтаксисе вызова процедур TForm1.Button1Click и Form1.ButClearRowClick. Попробовал разные варианты, но положительного результата не добился. В чем ошибка?
Ниже синтаксис ключевых процедур. В конце обработка нажатия клавиш Ins (45) и Del (46):

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
procedure TForm1.ButClearRowClick(Sender: TObject);
var
  I : Integer;
  Z : byte;
begin
    Z:=0;
    for I := 1 to FGrid.RowCount-1 do
    begin
      If ChIn[I]=1 then
      begin
          ChIn[I]:=0;
          DeleteARow(FGrid, I);
          Z :=1;
      end;
    end;
    ChIn[0]:= 0;
    SetLength(ChIn,FGrid.RowCount);
    if Z=1 then
    begin
      If (High(ChIn)>0) then FGrid.Row := 1
      else FGrid.Row := 0;
      FGrid.Repaint;
    end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
  openDialog : TOpenDialog;    // Open dialog variable
  i, z: Integer;
  c : byte;
  sz64 : Int64;
  Fname : String;
begin
   //form2 := TForm2.Create(Application);
   //form2.showmodal;
    openDialog := TOpenDialog.Create(self);
    openDialog.InitialDir := GetCurrentDir;
    openDialog.Options := [ofAllowMultiSelect];
    if not openDialog.Execute
    then ShowMessage('Open file was cancelled')
    else
    begin
      For I := 0 to openDialog.Files.Count-1 do
      Begin
         c := 0;
         if FGrid.RowCount=1 then
         Begin
            FGrid.RowCount := FGrid.RowCount+1;
            FGrid.FixedRows := 1;
            SetLength(ChIn,FGrid.RowCount);
            ChIn[FGrid.RowCount-1]:=0;
            FGrid.Cells[1,FGrid.RowCount-1] := openDialog.Files[i];
            FName := openDialog.Files[i];
            GetBFileSize(FName, sz64);
            FGrid.Cells[2,FGrid.RowCount-1] := IntToStr(sz64 div 1024);
            FGrid.Cells[3,FGrid.RowCount-1] := DateToStr(FileDateToDateTime(FileAge(FName)));
         End
         else
         Begin
            For Z := 1 to FGrid.RowCount-1 do
            Begin
              if openDialog.Files[i]=FGrid.Cells[1,Z] then c := 1;
            End;
            if c = 0 then
            Begin
                FGrid.RowCount := FGrid.RowCount+1;
                FGrid.FixedRows := 1;
                SetLength(ChIn,FGrid.RowCount);
                ChIn[FGrid.RowCount-1]:=0;
                FGrid.Cells[1,FGrid.RowCount-1] := openDialog.Files[i];
                FName := openDialog.Files[i];
                GetBFileSize(FName, sz64);
                FGrid.Cells[2,FGrid.RowCount-1] := IntToStr(sz64 div 1024);
                FGrid.Cells[3,FGrid.RowCount-1] := DateToStr(FileDateToDateTime(FileAge(FName)));
            End;
         End;
      End;
    end;
    openDialog.Free;
end;
 
procedure TForm1.FGridKeyPress(Sender: TObject; var Key: Char);
var
  Z, I : Integer;
begin
   if (key=#32) then
   Begin
      Z := FGrid.Selection.Bottom - FGrid.Selection.Top + 1;
      for I := 1 to Z do
      begin
          if ChIn[FGrid.Selection.Top+I-1] = 1 then
          begin
            ChIn[FGrid.Selection.Top+I-1] := 0;
            ChIn[0] :=0;
          end
          else ChIn[FGrid.Selection.Top+I-1] := 1;
      end;
      if (FGrid.Selection.Bottom +1) > (FGrid.RowCount -1) then  FGrid.Row := 1
      else FGrid.Row := FGrid.Selection.Bottom +1;
      FGrid.Repaint;
   End;
   if (key=#45) then Button1.Click;
   if (key=#46) then Form1.ButClearRowClick(FGrid);
end;


Вернуться к обсуждению:
Вызов процедуры OnClick из модуля без формы Delphi
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2017, 22:57
Готовые ответы и решения:

Вызов процедуры из другого модуля
Помогите пожалуйста, нужно вызвать свою процедуру из другого модуля, что надо для этого написать в...

Вызов процедуры из другого модуля
Доброго времени суток! Имеется форма с компонентами Stringgrid, Memo, Checkbox и т.п. Код сильно...

Вызов процедуры из другого модуля
Подскажите, что я сделал не так, хочу вынести подпрограммы в отдельный модуль, но как-то не...

Вызов процедуры-члена объекта из другого модуля
Следующий код вызывает ошибку &quot;Access (ошибка доступа к памяти)&quot;: Модуль...

12
28.03.2017, 22:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2017, 22:57
Помогаю со студенческими работами здесь

Вызов процедуры из другой формы
Всех приветствую! На одной форме у меня описана процедура Color_click; в ней выполняются действия...

Вызов процедуры с другой формы
Было 3 лабы, нужно их объединить с помощью MainMenu в один проект. Сделала все, но при компиляции...

Вызов процедуры при закрытии формы
Ребят привет! Такая ситуация, есть форма 1 из нее показывается форма 2 вот так Form2.Showmodal в...

Вызов собственной процедуры с другой формы
Есть несколько форм, на 1-й процедура виду: procedure adddd; Begin End; На второй...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru