![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Алек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 2.7.2004 Репутация: нет Всего: нет |
Такая ситуация: много массивов, пользователю нужно их изменять. По-началу сделал на каждый элемент массива 2 кнопки (увеличение / уменьшение). В результате кнопки закончились...
Может кто знает как обойтись минимальным колличеством кнопок. Вот кусок проги с "шапкой " Uses graph,crt;{у меня в графике} Var grDriver : Integer; grMode : Integer; ErrCode : Integer; klaw : char; {****************************} Procedure Shapka; Begin outtextxy(1+80,GetMaxY-140+10-5, '(+/-) (+/-) (+/-) (+/-) (+/-) (+/-) (+/-) (+/-)'); outtextxy(1,GetMaxY-140+10+10-2,'array1 : array6 :'); outtextxy(1+80,GetMaxY-140+10-2+20, '(t/y) (T/Y) (u/i) (U/I) (a/z) (A/Z) (s/x) (S/X) '); outtextxy(1,GetMaxY-140+10+30, 'array2 : array7 :'); outtextxy(1+80,GetMaxY-140+10+40-2, '(o/p) (O/P) ([/]) ({/}) (d/c) (D/C) (f/v) (F/V)'); outtextxy(1,GetMaxY-140+10+50, 'array3 : array8 :'); outtextxy(1+80,GetMaxY-140+10+60-2, '(;/'') (:/") (,/.) (</>) (g/b) (G/B) (h/n) (H/N)'); outtextxy(1,GetMaxY-140+10+70, 'array4 : array9 :'); outtextxy(1+80-12,GetMaxY-140+10+80-2, '(`/tab)(~/" ")(ent/baks)(\ |) (j/m) (J/M) (k/l) (K/L)'); outtextxy(1,GetMaxY-140+10+90, 'array5 : array10 :'); outtextxy(1+80-12,GetMaxY-140+10+100-2, ' (+/-) (q/w) (Q/W) (e/r) (E/R)'); End; {****************************} Procedure KLAVA; Begin IF keypressed Then Begin klaw := readkey; End; { Case ord(klaw) Of {описание всех клавиш, по-честному} End;{} End; {****************************} BEGIN grDriver := Detect; InitGraph(grDriver, grMode,''); ErrCode := GraphResult; If ErrCode = grOk then Begin { Do graphics } Shapka; Repeat klaw := '5'; KLAVA; Until klaw = #27; CloseGraph; End Else Writeln('Graphics error:', GraphErrorMsg(ErrCode)); END. |
|||
|
||||
| Underdark |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 12.7.2004 Где: Ульяновск Репутация: 1 Всего: 2 |
Напиши процедуру, в параметрах которой есть переменная "строка", и вводи командную строку с клавы, которая будет обрабатываться этой процедурой.
А в командной стороке учти ID массива, увеличение/уменьшение и на какое количество. З.Ы. Надеюсь, понятно изложился. |
|||
|
||||
| Алек |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 2.7.2004 Репутация: нет Всего: нет |
Что такое ID массива? (забыл сказать, пишу на паскале)
|
|||
|
||||
| Underdark |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 12.7.2004 Где: Ульяновск Репутация: 1 Всего: 2 |
Например, у тебя есть массив массивов, что-то типа так:
тоды, ID массива mass[1], пусть будет например 1. Командная строка будет выглядеть примерно так:
Всё это отправляется в процедуру, где строка обрабатывается, все значения извлекаются, переводятся из строкового типа в числовой и подставляются в код... Результат такой:
Пытался как можно понятнее... |
||||||
|
|||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |