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

Вниз

Вызов процедуры   Найти похожие ветки 

 
sem   (2012-01-24 21:19) [0]

Смейтесь на здоровье, но помогите! Я ОЧЕНЬ начинающий.
Вот одна процедура:
procedure TForm1.EditorKeyPress(Sender: TObject; var Key: Char);
begin
   CharUpper(@Key);
end;
Вот другая:
procedure TForm1.HeaderClick(Sender: TObject);
begin

end;
Как из второй вызвать первую?


 
sem   (2012-01-24 21:21) [1]

Только пожалуйста конкретно напишите, а то боюсь так и не пойму.


 
Сергей М. ©   (2012-01-24 21:26) [2]

procedure TForm1.HeaderClick(Sender: TObject);
var
Key: Char;
begin
 EditorKeyPress(nil, Key);
end;


 
Inovet ©   (2012-01-24 21:27) [3]

А какой смысл в таком вызове? Что хочется получить в результате?


 
sem   (2012-01-24 21:55) [4]

У меня есть кнопка которая вызывает некий перечень настроек для удобного продолжения работы. Вообщем это будущий для меня удобный редактор для написания сценариев. Вот мне ребята подсказали как менять регистор символов. А теперь мне надо вызывать данную процедуру разными кнопками и менять в ней параметры.


 
Dimka Maslov ©   (2012-01-24 21:55) [5]

ОЧЕНЬ начинать надо с чтения книг, а не с задавания [censored] вопросов на форуме.


 
sem   (2012-01-24 21:58) [6]

Но ведь форум-то для начинающих. А читать я читаю, просто времени на это маловато да и мозги в другом направлении работать умеют. А инструмент этот очень уж хотелось бы получить.


 
Inovet ©   (2012-01-24 22:03) [7]

> [4] sem   (24.01.12 21:55)

Значит ты не понял, как работает эта процедура. Она меняет текущий вводимый символ, о чём и говорилось в той ветке. Тебе же надо, нажав некую кнопку в интерфейсе, выставить признак режима т.е. в простом случае пременной boolean типа присвоить true, а вот в той процедуре обработчике события - OnKeyPress проверять этот флаг

if CapsMode begin
 CharUpper(@Key);
end

Где разместить переменную CapsMode зависит от реализации интерфейса. Для начала сделай её членом класса формы, где находится твой RichEdit.


 
Dimka Maslov ©   (2012-01-24 22:04) [8]

100% ответов на 100% подобных вопросов находятся в общедоступной литературе (в т.ч. в электронных видах). При этом нельзя сделать что-либо вменяемое не обладая знаниями по предмету. И если таки хочешь получить "инструмент", то для этого надо вложить время и средства. С таким подходом ты ничего не получишь, только протянешь своё и чужое время. Отмазы, что это форум для начинающих не прокатывают.


 
sem   (2012-01-24 22:04) [9]

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


 
sem   (2012-01-24 22:09) [10]

Уважаемый Дмитрий Маслов! Ты столько своего драгоценного времени потратил на то, чтобы поставить меня на место! Спасибо тебе большое дорогой!
А Сергей просто написал код.


 
sem   (2012-01-24 22:12) [11]

Спасибо, Inovet! Постараюсь разобраться.


 
Dimka Maslov ©   (2012-01-24 22:16) [12]


> А Сергей просто написал код.


Который ты ни хрена не понял, как и где вызывать. Поясню - это т.н. "событие", которое возникает в момент нажатия клавиши на клавиатуре. Переопределив его можно заставить программу работать по иному. Ты собираешься вызывать это событие самостоятельно из обработчика события клика не некоторый хеадер. Ну нажмёшь ты на свой хеадер, вызвешь, любезно написанный Сергеем код. И ЧТО? Что дальше? Где будет твоё преобразование в верхний регистр?


 
Inovet ©   (2012-01-24 22:25) [13]

> [11] sem   (24.01.12 22:12)
> Постараюсь разобраться.

Кликом кнопки будет неудобно пользоваться, ибо не видно в каком режиме работает программа. Надо делать визуализацию режима, например галка в CheckBox или кнопка после нажатия остаётся утопленной на тулбаре, или в пункте меню калка ставится. А лучше воспользоваться стандартными возможностями Action и тогда и проверять состояние не переменной а этих элементов.

if ChekBoxCaps.Checked

Интерфейс надо для начала продумать.

И не проще ли это сделать в том же Word.


 
sem   (2012-01-24 22:34) [14]

Да раньше работал только в wordе, потом в специальном Final Drafte, но ведь всегда тянет к лучшему. Вот и пробую как уж получается. Спасибо за понимание.


 
Inovet ©   (2012-01-24 22:40) [15]

> [14] sem   (24.01.12 22:34)

В Word есть язык программирования VBA для доступа ко всему его огромному уже готовому функционалу.


 
Dimka Maslov ©   (2012-01-24 22:44) [16]

Лучше и удобнее ворда или специального финал-драфта не получится. Никогда. Это надо понять и принять как должное. У многих возникают порывы. "Вот щаз сделаю круче чем ворд! круче чем фотошоп! круче чем виндовс!" Не надейтесь. На разработку подобных программ уходят годы работы квалифицированных постановщиков задач, архитекторов, программистов, а не одного, который не знает, как вызывать процедуры.


 
sem   (2012-01-24 22:45) [17]

Дернулся я в эту сторону, но потом подумал, что в будущем вдруг получится такое написать, что в wordе VBA-ем не получится. Пишущие люди они очень капризные, все что-то мешает.


 
sem   (2012-01-24 22:49) [18]

Дорогу осилит идущий!


 
Dimka Maslov ©   (2012-01-24 22:57) [19]


> Дорогу осилит идущий!


Караван не всегда может оказаться попутным и в нём может не оказаться свободного верблюда. Сразу советую бросить это дело. Лучше написать хороший сценарий. Больше будет пользы.


 
sem   (2012-01-24 23:06) [20]

Хорошо. Я все так и сделаю. Спасибо.


 
Anatoly Podgoretsky ©   (2012-01-25 10:21) [21]


> Уважаемый Дмитрий Маслов! Ты столько своего драгоценного
> времени потратил на то, чтобы поставить меня на место! Спасибо
> тебе большое дорогой!

Э, так ведь

1. Бешеной собаке семь километров не крюк.

2. Ты думаешь это мне дали срок, это нам дали срок.

3. Собака на волк - это не надо.


 
Anatoly Podgoretsky ©   (2012-01-25 10:23) [22]

Забыл сказать,
Дмитрий Маслов поступает верно, а уважаемый Серега гад последний.


 
ктрый незнат,кк взывть прцдуры   (2012-01-26 14:08) [23]


> Dimka Maslov ©   (24.01.12 22:44) [16]
> Лучше и удобнее ворда или специального финал-драфта не получится.
>  Никогда. Это надо понять и принять как должное. У многих
> возникают порывы. "Вот щаз сделаю круче чем ворд! круче
> чем фотошоп! круче чем виндовс!" Не надейтесь. На разработку
> подобных программ уходят годы работы квалифицированных постановщиков
> задач, архитекторов, программистов, а не одного, который
> не знает, как вызывать процедуры.

Это смотря с какой стороны посмотреть. Иногда просто TEdit на много круче и удобнее и быстрее и понятнее и еще как нибудь лучше Word"а.


 
Сергей М. ©   (2012-01-26 14:19) [24]


> Серега гад последний


Каюсь, лучше бы я жевал)



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

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

Наверх





Память: 0.5 MB
Время: 0.004 c
2-1327074466
jacksotnik
2012-01-20 19:47
2012.05.27
Ширина колонки


2-1326976052
gvozdkoff
2012-01-19 16:27
2012.05.27
google maps - трек по координатам


2-1327317793
Alex_C
2012-01-23 15:23
2012.05.27
TADOCommand - узнать последнюю добавленную запись


3-1276053430
O.O
2010-06-09 07:17
2012.05.27
Замена алгоритма в вычисляемое поле Firebird


2-1327310580
i2e
2012-01-23 13:23
2012.05.27
Изменение размеров Image





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