Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 704
от 11.01.2007, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 420, Экспертов: 56
В номере:Вопросов: 4, Ответов: 5


Вопрос № 69704: Уважаемые Эксперты подскажите как реализовать подобное ниже написанному, но не для всей строки а для каждого символа строки. т.е. в результате получить слово у которого все символы раскрашены разными цветами. procedure TForm1.Edit1KeyDown(Sen...
Вопрос № 69716: Подскажите пожалуйста как можно реализовать эту процедуру более компактно? Спасибо....
Вопрос № 69732: Подскажите пожалуйста - что за формат хранения картинки в DFM файле? Спасибо...
Вопрос № 69784: Здравствуйте! С Рождеством, Христиане! Я делаю калькулятор и мне нужна процедура остановки расчета (при очень долгих вычислениях, т.к. длины числел могут перевалить за 2 миллиарда). Т.е. если прога начинает усиленно думать, то при нажатии кнопки ...

Вопрос № 69.704
Уважаемые Эксперты подскажите как реализовать подобное ниже написанному, но не для всей строки а для каждого символа строки.
т.е. в результате получить слово у которого все символы раскрашены разными цветами.
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i:integer;
begin
randomize;
i:= random(5);
case i of
1:Edit1.Font.Color:= clred;
2:Edit1.Font.Color:= clBlue;
3:Edit1.Font.Color:= clLime;
4:Edit1.Font.Color:= clYellow;
end;
end;
Отправлен: 05.01.2007, 22:29
Вопрос задал: MIXAIL (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, MIXAIL!
Для обычного Edit-а у вас это не получится сделать. Надо взять RichEdit и сделать его однострочным (Например, удалять все символы перевода строки при нажатии клавиши Enter)
А далее код наподобие того, что я написал.

Приложение:

---------
Не узнаешь - не попробуешь.

Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 05.01.2007, 23:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Попробую.

Отвечает: Ivanich
Здравствуйте, MIXAIL!
Именно для TEdit!
Это невозможно, разве что рисовать вручную. Для остальных компонентов существует CustomDraw!
Ответ отправил: Ivanich (статус: 6-ой класс)
Ответ отправлен: 07.01.2007, 00:22
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Попробую с др компонентами


Вопрос № 69.716
Подскажите пожалуйста как можно реализовать эту процедуру более компактно?
Спасибо.

Приложение:

Отправлен: 06.01.2007, 00:29
Вопрос задал: Волков А.А. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ivanich
Здравствуйте, Волков А.А.!
Первое:
Попробуйте выбросить строки типа d:=now; а строки типа editXXX.text:= Floattostr(d); заменить на editЧЧЧ.text:= Floattostr(now);
Второе:
Попробуйте обойтись без приведения к строковому виду, а сразу хранить все в числовом. Так вы сэкономите уйму времени на преобразование типов!
Третье:
Если же в результате вам надо отсортировать массив из ListBox1, то попробуйте воспользоваться услугой CustomSort данного компанента!
Ответ отправил: Ivanich (статус: 6-ой класс)
Ответ отправлен: 07.01.2007, 00:19
Оценка за ответ: 5


Вопрос № 69.732
Подскажите пожалуйста - что за формат хранения картинки в DFM файле?
Спасибо
Отправлен: 06.01.2007, 07:57
Вопрос задал: PostM (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: monah
Здравствуйте, PostM!
данный файл не содержит рисунков. Только описание формы и компонентов на ней с настройками непоумолчанию. Для делфи 7 это текстовый файл, его можно посмотреть в блокноте Виндовс.
---------
festina lente
Ответ отправил: monah (статус: Студент)
Ответ отправлен: 06.01.2007, 10:01
Оценка за ответ: 1
Комментарий оценки:
Вы не в курсе этого вопроса: картинки стандартных компонентов хранятся в DFM файле (и в текстовой форме).


Вопрос № 69.784
Здравствуйте! С Рождеством, Христиане!
Я делаю калькулятор и мне нужна процедура остановки расчета (при очень долгих вычислениях, т.к. длины числел могут перевалить за 2 миллиарда). Т.е. если прога начинает усиленно думать, то при нажатии кнопки она прекращала все свои действия и просто ждала новых заданий. Как это можно осуществить?
Отправлен: 06.01.2007, 20:30
Вопрос задал: Troyan (статус: 4-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ivanich
Здравствуйте, Troyan!
С рождеством.
Возможно тебе следует использовать ветви.
Например так:

type
TWorkThread = class(TThread)
private
protected
procedure Execute;
end;

var
WorkThread:TWorkThread;

implementation

procedure TWorkThread.Execute;
begin
{Your job here}
end;

procedure startjob(...);
begin
WorkThread:=TWorkThread.Create(False);
end;

procedure pausejob;
begin
WorkThread.Suspend;
end;

procedure stopjob;
begin
WorkThread.Terminate;
end;

procedure resumejob;
begin
WorkThread.Resume;
end;
Ответ отправил: Ivanich (статус: 6-ой класс)
Ответ отправлен: 07.01.2007, 00:10


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное