Студентам - о программировании. RusFAQ.ru: Программирование на Delphi. Часть 3.
 
 
 
   

Студентам

Примеры задаваемых студентами вопросов. С комментариями.

 
 

RusFAQ.ru: Программирование на Delphi. Часть 3.

26.03.2010
14:02

Подборка с 01.08.2006 по 31.08.2006

Вопрос № 50.616
Здравствуйте, Эксперты!
У меня возник небольшой вопросик, но ответа я на него в интернете не нашёл из-за нехватки времени и решил спросить у вас:
Как форму отобразить поверх всех окон (даже поверх панели с Пуском)? Один раз получилось, я что-то натыкал в Инспекторе объектов, но потом опять всё вернулось на свои места.
У меня Delphi 7.
Вопрос ясен. Смотрим ответы.

Отвечает: Ерёмин Андрей
Здравствуйте, Подболотов Иван Алексеевич!
Поместить форму поверх всех окон можно, если установить для формы свойство Formstyle="fsStayOnTop." Поверх панели задач поместить форму возможно только в том случае, если это разрешено в Windows, т.е. включена соответствующая опция. Обойти это невозможно.
Вот товарищ весьма грамотный (смотрел другие ответы), а паренька наебал...

Отвечает: Bochvarov NikB
Здравствуйте, Подболотов Иван Алексеевич!
Посмотри HELP:

BOOL SetWindowPos(
   HWND hWnd, // handle of window
   HWND hWndInsertAfter, // placement-order handle
   int X, // horizontal position
   int Y, // vertical position
   int cx, // width
   int cy, // height
   UINT uFlags // window-positioning flags
);

procedure StayOnTop0(aHWnd: HWnd; flShow: boolean);
begin
   if aHWnd<>Invalid_Handle_Value then begin
      if flShow then begin
         SetWindowPos(aHWnd, HWND_TOPMOST, 0, 0, 0, 0,
	              SWP_NOMOVE Or SWP_NOSIZE{ or SWP_NOACTIVATE Or SWP_SHOWWINDOW});
      end else begin
         SetWindowPos(aHWnd, HWND_NOTOPMOST, 0, 0, 0, 0,
	              SWP_NOMOVE Or SWP_NOSIZE{ or SWP_NOACTIVATE Or SWP_SHOWWINDOW})
      end;
   end;
end;

А вот и последователь Kazakh'а :)


Вопрос № 50.778
Здравствуйте Уважаемые Эксперты! Наткнулся в интернете на подборку книг, интересующих меня языков. Подскажите пожалуйста где можно скачать книги из списка (см. приложение). Хотя бы часть из них. Заранее Спасибо.
Приложение:
Delphi. Профессиональное программирование (Дмитрий Осипов)
DirectX и Delphi. Искусство программирования (Фленов М. Е.)
Delphi. Книга рецептов. Практические примеры, трюки, секреты (Кадлец В.)
Курс Delphi для начинающих. Полигон нестандартных задач (Федотова С.В., Ремнев А.А.)
Создание новых компонентов в Delphi (Горбунов С. И.)
Основы программирования в интегрированной среде Delphi. Практикум (2-е издание) (Желонкин А.В.)
Разработка клиент-серверных приложений в Delphi (Шкрыль А.А.)
... Список на две страницы
Оказывает - все не так плохо :) Это радует.


Вопрос № 50.874
Здравствуйте Уважаемые эксперты! Как проверить наличие диска в CD приводе и скопировать все папки без каких либо вопросов пользователю. Простьба приложить рабочий исходник программы.
Отправлен: 02.08.2006, 09:35
Вопрос задал: ЖАН (статус: 3-ий класс)
Просьба пройти на хуй. За тебя, педераста, никто софт писать не будет. Мразота ленивая.

Отвечает: Савенко Вадим Иванович
Здравствуйте, ЖАН!
Функцию проверки наличия диска см. в приложении, а информацию по копированию см. на http://www.delphiworld.narod.ru/base/api_file_operations.html
Приложение:

function DiscInDrive(Drive: Char): Boolean;
var
  ErrorMode: Word;
begin
  ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
  try
    if DiskSize(Ord(Drive) - $40) = -1 then
      Result := False
    else
      Result := True;
  finally
    SetErrorMode(ErrorMode);
  end;
end;

Ответ отправил: Савенко Вадим Иванович (статус: 6-ой класс)
Ответ отправлен: 02.08.2006, 11:43
Оценка за ответ: 4
Комментарий оценки:
Спасибо! Но хотелось бы посмотреть на исходник pas файла, а ссылок я и так много видел, но вот код там написанный во многих случаях отказывается работать... (модули надо в Uses добавлять ?)
Угу. uses DirectHands. Блин, ну вот откуда такие уроды берутся? До сих пор понять не могу. Вот, допустим, продавалка. Или уборщица. На такую работу идут те, кто больше ничего не умеет и делать ничего не хочет. Это понятно. Но ведь в программеры от большой нужды, по необходимости не идут, так ведь? Т.е. программирование, теоретически, должно кроме всего прочего характеризоваться желаением делать что-то самостоятельно, работать... Или я чего-то недопонимаю?


Вопрос № 51.114
всем привет!

у меня вопрос один
кто поможет мне с ним
хочу поле я создать
чтобы бегать там играть
клетка 32 на 32
их всего десятка два
как создать такое поле
и добавить с ними свойства
чтоб реакция была
и на мышку и на клаву
всем спасибо до свида...?

Ёптыть...

Отвечает: sir henry
Здравствуйте, Lad_or_Parasite!

Есть метод довольно простой,
И им поделюсь я с тобой.
На форме нужно, чтоб играть,
Из кнопок матрицу создать.
События у кнопок есть,
OnClick, KeyDown, OnKeyPress,
И в них, в событья, прописать,
То, как захочется играть.

Нет слов :) Аплодисменты :)


Вопрос № 51.321
Добрый день, уважаемые Эксперты!!!
Вопрос такой: Как узнать на каком из компонентов был произведен щелчек правой кнопкой мыши при вызове popupmenu? Поясню: на форме несколько TImage и popupmenu с обработчиком "убрать изображение" как в обработчике узнать какой image очищать?
Первый класс, вторя четверть...

Отвечает: din
Здравствуйте, Дмитрий Александрович!
Если у вас к каждому элементу TImage привязана отдельное PopupMenu, то это делается просто, в данном случае получим имя компонента:
1. Объявляем глобальную переменную, например ACtiveImageName типа String
2. Объявляем в классе формы и создаем процедуру:

procedure TForm1.ImageContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
begin
   ActiveImageName:=(Sender as TImage).Name;
end;

3. Переопределяем всем TImage обработчик OnContextPopUp:

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
   for i := 0 to Form1.ControlCount -1 do
   begin
     if (Form1.Controls[i] is TImage) then
        (Form1.Controls[i] as TImage).OnContextPopup := ImageContextPopup;
   end;
end;

теперь переменная ActiveImageName перед вызовом PopupMenu будет получать имя текущего компонента класса TImage; Удачи!
P.S. При желании можно все создавать динамически, код будет выглядеть более красиво и компактно.
И как говорил Kazakh - не надо ничего лишнего. PopupComponent - не наш выбор.


Вопрос № 51.382
Здравствуйте Уважаемые! Приложите пожалуйста исходник, как скопировать данные (папки и файлы) с CD диска без каких либо вопросов к пользователю. Проверить надичие диска в приводе я уже могу. (читай - за меня уже написали, см. выше вопрос 50.874)
Отправлен: 07.08.2006, 11:54
Вопрос задал: ЖАН (статус: 3-ий класс)
Ну откуда такие недоёбки берутся?!!


Вопрос № 51.532
Здравствуйте!
Вот такой вопрос возник:как из делфи можно вызвать свой-во обозревателя Windows? Через WINAPI или ShellAPI?
Cпасибо!
Сам-то понял, что спросил? "Я знаю кун-фу, ушу, карате и еще много страшных слов"


Вопрос № 51.554
Можно ли по Handle компонента обращаться к его свойствам?

Отвечает: DeVampir
Здравствуйте, Bcd! У компонентов нет Handle. Handle есть у окон Windows. Их можно создать, например, компонентами-наследниками TWinControl. При выполнении программы эти объекты будут окнами, но доступа к их свойствам уже не будет. Однако, окну можно посылать сообщения, позволяющие получить и изменить некоторые из его свойств, такие как заголовок окна, свернутость, видимость, доступность и другие.
Комментарий оценки:
Handle есть например у Button, CheckBox. Фактически это окна, но Handle обладают. задача такая: Есть Handle формы. Нужно изменить свойство "Align" этой формы.
Читаем книжку "Delphi для слаборазвитых. Том 8. Чем компонент от контрола отличается".


Вопрос № 51.617
Уважаемые Эксперты !!!!!
Почему при установке Windows xp sp-1 не поддерживается FAT 32 или я может что не так делаю я включаю в биосе загрузку с CD но при запросе форматирования диска FAT 32 не появляется а только NTFS
Moderatorial [+]. Оффтопик, сука!
Самое то место для вопроса :)


Вопрос № 51.810
Здравствуйте.
Такой вопрос как найти все компьютеры в одной сети. Хотелось бы увидеть работающий пример, что бы выводил список всех найденных.
Гугл нам не друг.


Вопрос № 51.982
Уважаемый товарищи эксперты!Подскажите пожайлуста:как,что и с каким параметром нужно открыть, чтобы появился проводник, открывший попку в директории запускного файла.
Заранее благодарен.
Упал со стула!!! ACHTUNG! Пидоры-фетишисты!!!!!! Виндофилы на линии!!!


Вопрос № 52.725
Добрый день, уважаемые Эксперты!
Подскажите, пожалуйста, а существует ли в природе компонент, типа TLabel с совершенно прозрачным фоном. Надо сделать надпись поверх TImage.
Ламеры в атаке

Комментарии

?
24.09.2009, 22:36:08
Ответить #1
photoshop

Оставить коммент

Представьтесь
Вве4ите три ци96ы
Комментарий:
 
Карта сайта
Новое
Бесплатные утилиты
FDate
01.09.2010 12:12
Раскладываем файлы

Бытовуха
Кошмар на улице Авиаторов
30.08.2010 20:24
 
Бытовуха
Не туда попали
30.08.2010 20:19
 
Бытовуха
С особым удовольствием
06.08.2010 07:25
 
Бытовуха
Мама папу пырнула
06.08.2010 07:25
 
Бытовуха
«Брата зарезал!»
06.08.2010 07:23
 
Бытовуха
«Мы ментуру не вызывали!»
06.08.2010 07:22
 
Поиск по сайту
Март 2010
01.08.2010 12:35
Занятные поисковые запросы, приведшие в марте 2010 на наш сайт

Братва
Глава 8
01.08.2010 11:35
 
Братва
Глава 7
01.08.2010 11:33
 
Счетчики
Картинки

Гей-парад

Зайчег

Отличный конкурс
Все картинки »
 
Потрясающие фото животных и птиц | Купить беговую дорожку - тренажеры для дома! от Фотомага. | Обувь и аксессуары магазин женской одежды доставка товаров недорого. | Хотите в сауну Екатеринбурга? Ждем Вас на кемпинге. | jura impressa | N-POWER: стабилизаторы напряжения: стабилизаторы напряжения бытовые. Стабилизатор напряжения.