Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3

Модерирует : ShIvADeSt

ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

SERGE_BLIZNUK

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
если вы про RxLibrary - не парьтесь - она уже много-много лет не развивается! (ребята, которые её делали, давно сделали себе имя и уехали в Штаты)...
 
всё (подчёркиваю - ВСЁ), что в ней было, вошло в JEDI (JVCL/JCL)

Всего записей: 2014 | Зарегистр. 12-09-2002 | Отправлено: 07:31 18-10-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maks150988
А разве *.pas - это не исходники?
В любом случае, больше у меня все равно ничего нет...

Всего записей: 3762 | Зарегистр. 19-04-2005 | Отправлено: 08:39 18-10-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymg2000

Цитата:
Если владелец по каким-то причинам Application, а не родительская форма - то  
Цитата:Application.CreateForm(Tfrm_unit2, Frm_unit2);  

тогда Frm_unit2:=Tfrm_unit2.create(Application);  
Application.CreateForm имеет смысл только если не задана главная форма приложения.

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 09:33 18-10-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А вот кто мне подскажет по работе IDE CG RAD Studio 2007:
как/что/где надо включить в настройках, чтобы при запуске IDE авто-открывался последний проект, с запомненной текущей строкой редактирования и с fold-нутыми методами/и пр. где было, т.е. так, как было при последнем выходе из IDE?
Я это к тому, что в BDS 2006 у меня все это работало по дефолту (насколько я помню), а тут приходится каждый раз при открытии последнего проекта, ЗАНОВО фолдить/анфолдить и искать место в коде, где же я остановился вчера?

Всего записей: 3762 | Зарегистр. 19-04-2005 | Отправлено: 10:15 18-10-2007
Maks150988



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SERGE_BLIZNUK
Нет, это другие модули.
relictus
Ммм... Ну все-таки удобнее когда есть файлы проекта и еще всякое... А тут надо копать... ну ладно и на том спасибо буду разбирать...
 
Может все-таки есть у кого-нибудь эта библиотечка?

Всего записей: 836 | Зарегистр. 23-12-2006 | Отправлено: 11:18 18-10-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vserd
Да, Application.CreateForm чаще всего используется при создании главной формы.
Но метод можно использовать при создании любой формы. Привожу выдержку из Тейксейра и Пачеко Подробнее... Хотя скажу, что сам я так никогда не писал (сейчас отошел от активного программирования). Здесь вопрос не в том, корректно или не корректно, а в стиле программирования. Ты предлагаешь более профессиональный стиль, согласен.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 12:52 18-10-2007
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я смотрю, на счет примера, что я дал, и где использовал Application.CreateForm развилось бурное обсуждение. Поясняю - я просто привел человеку пример кода, который использую. Данный код у меня действительно запускается до создания главной формы (из даиа модуля) в форме с запросом логина и пароля.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 14:20 18-10-2007
informesrab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал в Delphi процедуру которая ожидает несколько секунд, а потом выводит изображение.  
 
var a1,a2:integer;  
begin  
  a2:=1;  
  for a1:=1 to 5 do  
  begin  
      sllep(4500);  
      a2:=a2+1;  
      edit1.text=inttostr(a2);  
      form1.refresh;  
  end;  
end  
 
Работает она нормально, но если сернуть окно а потом развернуть то значение в edit1 не изменяеться и процедура доходит до конца,  если не сворачивать то все работает нормально. Есть ли другие функции для обновления изображения.  

Всего записей: 17 | Зарегистр. 16-06-2007 | Отправлено: 15:24 18-10-2007
RomanTim

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
informesrab
Кинь на форму TTimer и в его OnTimer пиши в едит новое значение

Всего записей: 375 | Зарегистр. 11-09-2003 | Отправлено: 15:50 18-10-2007
Aladdinych



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как из приложения, написанного на Delphi определить почтовую программу по умолчанию
 
Добавлено:
Подскажите как из приложении на Delphi создать почтовое сообщение с прикрепленным файлом используя почтовую программу по умолчанию

Всего записей: 323 | Зарегистр. 18-10-2005 | Отправлено: 16:57 18-10-2007
DmitryKz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите - надо удалить выделенный элемент (или несколько элементов) в ListView. Написал такой код:

Цитата:
procedure TfrmNewSet.CrNSRmvDictExecute(Sender: TObject);
var
  i:integer;
begin
  for i:=0 to ListDictsAttach.Items.Count-1 do
    if ListDictsAttach.Items.Item[i].Selected then ListDictsAttach.Items[i].Delete
end;

Компилируется нормально, но при исполнении выкидывает с предложением запустить отладчик. И еще такой вопрос: при выполнении процедуры Delete все элементы ListView перестроятся автоматически?
 
Добавлено:
Так, заметил, что вылета не происходит с таким кодом
if ListDictsAttach.Items[i].Selected then ListDictsAttach.Items[i].Delete
но только если удаляется последний элемент списка. При удалении из середины списка - вылет. Значит элементы не перестраиваются. Т. е. надо писать процедуру перемещения элементов?
 
Добавлено:
Ребята, кажись понял - надо было цикл не с нуля начинать. Так ошибок нет - в общем, я прав или нет?

Всего записей: 3145 | Зарегистр. 29-09-2005 | Отправлено: 20:23 18-10-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DmitryKz
Так, по старой памяти:
Попробуй цикл
 for i:= ListDictsAttach.Items.Count-1 downto 0 do  
................
А при твоей конструкции цикла ты вообще-то должен получать Exception
о выходе за пределы диапазона.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 20:58 18-10-2007
DmitryKz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ymg2000
Да, я уже разобрался с этим.
toALL
А вот такой вопрос. Написал процедуру сдвига элементов ListView вверх и вниз. Проблема в том, что при нажатии кнопки, фокус с ListView теряется и соответственно теряется визуально выделение элементов. Нельзя ли как-нить сделать, чтобы выделение было видимо всегда и перемещалось вслед за перемещаемыми элементами?

Всего записей: 3145 | Зарегистр. 29-09-2005 | Отправлено: 22:14 18-10-2007
OdesitVadim



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
всегда видимое - hideselection = false
что бы выделение оставалось правильным - корректируй самостоятельно

----------
Press any key to continue or any other key to exit
Пишите так, чтобы не было стыдно за нобелевскую премию.

Всего записей: 1568 | Зарегистр. 19-09-2003 | Отправлено: 00:04 19-10-2007
relictus

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DmitryKz
ymg2000
Вообще-то, правильно удаление делать так:

Код:
 i := 0;
while i < ListDictsAttach.Items.Count do
    if ListDictsAttach.Items.Item[i].Selected then ListDictsAttach.Items[i].Delete

 
PS По-моему вопросу (чуть выше) никто ничего не подскажет?

Всего записей: 3762 | Зарегистр. 19-04-2005 | Отправлено: 08:45 19-10-2007
vserd

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
informesrab
  form1.refresh;  
  Application.ProcessMessages;
end;

Всего записей: 2065 | Зарегистр. 08-05-2002 | Отправлено: 09:10 19-10-2007
DmitryKz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь видел готовый код для перемещения элементов ListView? Я имею в виду, что перемещение осуществляется как обмен соседних значений - с этим сложности нет. Проблема в том, что если выделены, скажем, элементы 1, 3, 4, то при перемещении она становятся 0, 2, 3, а при очередном перемещении что должно происходить? Ведь первый элемент достиг начала списка. Выходить из процедуры, или продолжать двигать второй и третий элементы? Но тогда получается надо устанавливать дополнительные проверки и вводить новые переменные, и код получается, как мне кажется, утяжеленным. Посоветуйте что-нить или скиньте код - я у себя в примерах ничего не нашел.

Всего записей: 3145 | Зарегистр. 29-09-2005 | Отправлено: 09:43 19-10-2007
ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
relictus
Можно удаление (даже элегантнее) делать через While, но тогда нужно не забывать инкрементировать переменную управления циклом:
 i := 0;  
while i < ListDictsAttach.Items.Count do  
    if ListDictsAttach.Items.Item[i].Selected then ListDictsAttach.Items[i].Delete
    else inc(i);  
По твоему вопросу ничего, Студию только установил недавно.
Совет DmitryKz
При удалении/вставке эл-тов списка в ListView (и в многих др. контролах со списками) обрамляй тело цикла BeginUpdate и EndUpdate, т.е. схематично так:
try
   ListView.Items.BeginUpdate;
    тело цикла
   ............................
finally
   ListView.Items.EndUpdate;
end;
В этом случае перерисовка произойдет после отработки всего цикла, а на многократно после удалении/вставки элемента.

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 09:50 19-10-2007
informesrab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
С вопросом о обновлении я уже разобрался, спасибо за помощь, однако возник другой вопрос. Нужно получать страницу которую динамически формирует сервер. Взял стандартный пример HTTP из Delphi для получения страницы, пытался зайти на тестовую страницу по порту 80, в результате загружается совсем  другая страница из другого домена. Повторил попытку убив Cookie, результат неизменился. Из Explorera  моя страничка загружается нормально. Что я неправильно делаю, или может есть другие примеры. У меня стоит Delphi 6.

Всего записей: 17 | Зарегистр. 16-06-2007 | Отправлено: 12:15 19-10-2007
DmitryKz

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите, вот в TListView существует событие OnSelectItem. А как быть, если нужен обратный эффект - когда выделение теряется при щелчке вне списка элементов в ListView. Например, я хочу сделать недоступными определенные кнопки на форме, если ни один элемент не выделен.

Всего записей: 3145 | Зарегистр. 29-09-2005 | Отправлено: 15:01 19-10-2007
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 3
ShIvADeSt (07-04-2008 02:27): продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=9383


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru