![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Доброго времени суток. Меня интересует реализация моей задачи. Допустим у меня есть кнопка и три картинки, мне нужно что бы при нажатии на кнопку картинка становились visible:=false и так при каждом нажатии на кнопку картинки по очереди становились visible:=false.
Как это можно реализовать? Заранее спасибо) |
#2
|
|||
|
|||
![]() ЭТО НЕСЛОЖНО.
делаем глобальную переменную, в которой храним индекс картинки. при каждом нажатии на кнопку индекс инкрементируем, а чтобы он не вышел за границы- применяем функцию mod Я этот трюк часто применяю Довольно удобно для пользователя и экономит площадь экрана. Код:
type Tz=array[0..2] of record CFNam, //имя файла с картинкой Cap:string; //заголовок кнопки end; const Z:Tz=((CFnam:'Pictures1.bmp';Cap:'Картинка1'), (CFnam:'Pictures2.bmp';Cap:'Картинка2'), (CFnam:'Pictures3.bmp';Cap:'Картинка3')); var Index:integer; //здесь хранится индекс картинки procedure TForm1.Button1Click(Sender: TObject); begin Index:=(Index+1) mod Length(Z); Button1.Caption:=Z[Index].Cap; Image1.Picture.LoadFromFile(Z[Index].CFnam); end; |
#3
|
||||
|
||||
![]() Спасибо большое за код он мне пригодится). Но мне нужно именно чтоб они становились не видимыми. Когда последняя картинка станет Visible:=false то у меня запланировано действие.
|
#4
|
||||
|
||||
![]() Тут большой простор для фантазии. Если вам нужно случайным образом скрывать следующую картинку, а на форме кроме ваших картинок иных нет, то можно просто пробежаться по всем контролам формы и при нахождении нужного типа контрола в видимом состоянии скрывать его. Можно ориентироваться по имени картинки, если они однотипные, то можно искать контрол по маске имени и тоже скрывать по необходимости. Можно сделать массив из указателей на ваши картинки и работать с ним и т.д.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#5
|
||||
|
||||
![]() Ну, вот говорят: поздно рыть колодец, когда хочется пить...только вчера скачал Дельфи, и...понял что за пару дней не разберусь...
Поскольку, проблема аналогична, не рискнул создавать новую тему. помогите, плиз, с кодом : необходимо сделать программку для рассчета плотности двухкомпонентной смеси с содержанием компонентов 0-100% с шагом 1, для температур -40...40 с шагом 1 , по формуле P=100/(d1/p1+(100-d1)/p2)/1000; где d1 - доля 1-го компонента, P1,P2 - массивы по 81 числу(заданные плотности для текущей температуры)... т.е. для температуры -40, производится 101 рассчет для 0-100% содержания, затем для -39 и т.д. если возможно, как-то сделать вывод результатов в виде таблицы... ![]() BENEFICIUM ACCIPERE LIBERTATEM EST VENDERE |
#6
|
||||
|
||||
![]() Можете опесать детальдно формулу, а именно что это за массивы P1, P2 и откуда они берутся? Желательно навести пример пару расчётов.
Во всяком случае я создал проект в Delphi7 которые поможет решить вашу задачу (скачать). В место i*j вам необходимо вставить вашу формулу. |
#7
|
|||
|
|||
![]() За 2 дня не осилишь. Точно говорю.
Да и не в тему по-моему... Я тут накропал кое- что Надеюсь поможет exe в прищепку не влез. Откомпилируешь сам (Delphi7) Обработку ошибок не делал! При неверном вводе повиснет! А еще смущает формула. Там деление на 1000- делить все выражение или только то что в скобках? Как я понимаю это переводной коэфф плотности (но тебе виднее) Короче внимательно посмотри скобки и внеси в мой исходник. |