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

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 202
от 07.08.2005, 17:19

Администратор:Калашников О.А.
В рассылке:Подписчиков: 222, Экспертов: 39
В номере:Вопросов: 3, Ответов: 10


Вопрос № 24367: В ComboBox имеется текст из нескольких строк Добавляю этот текст в поле Edit Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex]; {Что в ComboBox1 то и в Edit1} Как добавить другой текст в поле Edit не меняя текст в ComboBox1 При...
Вопрос № 24416: Вообще, кто-нибудь в курсе как из Canvas(Delpi) перенести изображение в Word. Я понимаю что нужно вэять VBA для начинающих и т.д. и т.п. НО всё таки может кто-то богат исходником , можно самым простым, сжальтесь киньте его мне на rdo04@bk.ru ...
Вопрос № 24426: Моя прога сворачивается в трэй при минимизации, но на деле получается что она сворачивается на панель задач а только потом исчезает. Я видел во многих программах да взять хоты бы Касперского: у него при минимизации идет сворачивание в сторону области...

Вопрос № 24.367
В ComboBox имеется текст из нескольких строк
Добавляю этот текст в поле Edit
Edit1.Text:=ComboBox1.Items.Strings[ComboBox1.ItemIndex]; {Что в ComboBox1 то и в Edit1}
Как добавить другой текст в поле Edit не меняя текст в ComboBox1
При выборе в ComboBox1 (Лес) в Edit появилось (Деревья)
При выборе в ComboBox1 (Река) в Edit появилось (Вода)
и так далее.
Спасибо!
Отправлен: 01.08.2005, 18:13
Вопрос задал: Serhik_z (статус: Посетитель)
Всего ответов отправлено: 5

Отвечает: Tsechoev Bagaudin
Здравствуйте, Serhik_z!
Создай массив строк и заполни его соответствиями строк combobox, потом при обработке события типа CloseUp или Enter присваивай Edit1.Text := StringArray[ComboBox1.ItemIndex];
Если чего-то не понял, пиши. Просто щас бежать домой, нет времени писать весь код.
Удачи!
---------
Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: Tsechoev Bagaudin (статус: 10-ый класс)
Отправлен: 01.08.2005, 18:24

Отвечает: sir henry
Здравствуйте, Serhik_z!
Что-то непонятно. Может быть вместо "из нескольких строк" Вы имели в виду "из нескольких колонок"?
Уточните пожалуйста.
Вы можете легко добавлять любую строку из ComboBox обращаясь к ней по индексу. При этом сам текст в ComboBox'e менятся не будет.
Текущая (видимая) строчка ComboBox'a:
TComboBox.Text;
Любая строчка ComboBox'a:
TComboBox.Items[Index];
Ответ отправил: sir henry (статус: Профессор)
Отправлен: 01.08.2005, 18:53

Отвечает: Werewolf
Здравствуйте, Serhik_z!
В обработчик Combobox1 OnChange прописать
case ComboBox1.ItemIndex of
0:Edit1.Text:='Деревья';
1:Edit1.Text:='Вода';
2:Edit1.Text:='Враги';
3:Edit1.Text:='Калашников';
4:Edit1.Text:='Море крови'
else Edit1.Text:='';
end;

P.S.: А в ComboBox1.Items прописать
Лес
Река
А тут
Достаю из широких штанин
Результат
Нечего бедных зайцев отстреливать =)
Ответ отправил: Werewolf (статус: 4-ый класс)
Отправлен: 01.08.2005, 20:46
Оценка за ответ: 5

Отвечает: Denisss
Здравствуйте, Serhik_z!
Способов решения Вашей задачи приходит на ум туча.
Можно, например, как уже посоветовали, создать массив, в котором номер соответсвтует индексу в Combobox1.
Можно создать объект класса TStringList, заполнить его в соответствии с Вашими нуждами (см. приложение).

PS.
Вовсе не обязательно обращаться к свойству Strings свойства Items напрямую. Т.е., вместо Items.Strings[index] можно писать Items[index]. Дело в том, что у Items свойство Strings является свойством по умолчанию.

Приложение:

Ответ отправил: Denisss (статус: Студент)
Отправлен: 01.08.2005, 22:36

Отвечает: svsrus
Здравствуйте, Serhik_z!

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
with Edit1 do
case ComboBox1.ItemIndex of
0:Text:='Вода';
1:Text:='Деревья';
// ............................
end;
end;

В ComboBox'e находятся 2 строчки Река и Лес.
Ответ отправил: svsrus (статус: 1-ый класс)
Отправлен: 02.08.2005, 00:24


Вопрос № 24.416
Вообще, кто-нибудь в курсе как из Canvas(Delpi) перенести изображение в Word.
Я понимаю что нужно вэять VBA для начинающих и т.д. и т.п.
НО всё таки может кто-то богат исходником , можно самым простым, сжальтесь киньте его мне на rdo04@bk.ru или поможет советом.
Заранее благодарен.
Отправлен: 02.08.2005, 10:12
Вопрос задал: Vbhjndjhtw (статус: Посетитель)
Всего ответов отправлено: 2

Отвечает: Rusland
Здравствуйте, Vbhjndjhtw!
Из канвы сохрани в виде файла и используй WordApp.ActiveDocument.Shapes.AddPicture
Удачи.
---------
Тише едешь, дальше будешь... от того места куда едешь
Ответ отправил: Rusland (статус: 9-ый класс)
Отправлен: 02.08.2005, 12:28
Оценка за ответ: 3

Отвечает: Vadim Vitomsky
Здравствуйте, Vbhjndjhtw!
Здравствуйте, Vbhjndjhtw!
Можно попробовать следующий алгоритм:
- Скопировать изображение из Canvas в буфер обмена
- Создать обьект Word - CreateOLEObject('Word.Application');
- С помощью макросов посмотреть, как вставить обьект из буффера в Word и использовать соответствующий фрагмент в своей программе (если надо, могу прислать модуль значительно облегчающий автоматизацию Word)
Ответ отправил: Vadim Vitomsky (статус: 2-ой класс)
Отправлен: 03.08.2005, 17:51
Оценка за ответ: 3


Вопрос № 24.426
Моя прога сворачивается в трэй при минимизации, но на деле получается что она сворачивается на панель задач а только потом исчезает. Я видел во многих программах да взять хоты бы Касперского: у него при минимизации идет сворачивание в сторону области уведомлений, я даже панель задач перемещал - он как-то определяет ее место-расположение. Подскажите код с помощью которого я смогу реализовать подобное у себя!
Отправлен: 02.08.2005, 11:35
Вопрос задал: Малярчук Андрей (статус: Посетитель)
Всего ответов отправлено: 3

Отвечает: And1
Здравствуйте, Малярчук Андрей!
Как я понял нужно просто свернуть "красиво" прогу в трей. Если так, то в процедуру сворачивания вставьте следующий код:
ShowWindow (Handle, SW_HIDE);
ShowWindow (Application.Handle, SW_HIDE);
Для разворачивания из трея будет так:
ShowWindow (Handle, SW_NORMAL);
ShowWindow (Application.Handle, SW_NORMAL);
А если хотите чтобы прога сворачивалась анимированно (как бы "улетает" в трей), то нужно просто менять её координаты (формы), например в цикле, толко без задержек, а то будет эффект торможения проги, оно и так жрёт не мало ресурсов ;)
Ответ отправил: And1 (статус: 3-ий класс)
Отправлен: 02.08.2005, 14:23

Отвечает: Ddeedd
Здравствуйте, Малярчук Андрей!

Изменять координаты - это бред. Обычное сворачивание производится через DrawAnimatedRects - через ее можете сделать и свое - в трей.

BOOL WINAPI DrawAnimatedRects(HWND hwnd, int idAni, const SMALL_RECT *lprcFrom, const SMALL_RECT *lprcTo);

Задаете откуда и куда, хэндлер окна, idAni=0 - и она все рисует сама. Вам только нужно определить, куда сворачиваться - а вот это ХЗ.
Ответ отправил: Ddeedd (статус: 3-ий класс)
Отправлен: 02.08.2005, 14:53

Отвечает: Gin

Здравствуйте, Андрей!

Добавить ''иконку'' приложения в область SysTray - http://www.delphikingdom.com/asp/viewitem.asp?catalogid=29&mode=print

Так же см. приложение.

С Уважением, Gin.

Приложение:

Ответ отправил: Gin (статус: Студент)
Отправлен: 02.08.2005, 21:36


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

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

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

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

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


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


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiplus
Отписаться
Вспомнить пароль

В избранное