Вопрос № 33941: Уважаемые Эксперты!
Как сделать так чтобы окно появлялось вовремя загрузки основной программы, а затем изчезала с прогрессбаром. прогрессбар показывает процесс загрузки.
Заранее благодарен с/у Ерканат
...Вопрос № 33989: Решил освоить дельфу. Решил написать для своей локальной сети, свою программу для чата. Возникло несколько вопросов. Какой протокол лучше всего использовать. Надо чтобы без отдельного сервера работала.
И как сделать чтобы например как аська. Если...Вопрос № 33998: Как сделать приложение, которое всегда имело бы XP-подобный стиль элементов управления и самой формы, даже при выполнении в Win98, например. Я видел такие проги, так завидно......Вопрос № 34002: Здравствуйте уважаемые эксперты.
Есть некий массив PRD[i, j] содержащий "1" и "0" например:
Y
A
|00000000000000000000000000000
|00000011111111111110000011110
|00011111111111111111111111000
|00...Вопрос № 34006: Здравстуйте уважеамые эксперты. Интересует такой вопрос. Можно ли средствами Delphi заблокировать по сети мышку и клавиатуру пользователя или заблокировать компьютер, наподобие программы WinLock? Задумка такая, пользователь полез куда не нужно, блоки...Вопрос № 34014: Здравствуйте уважаемые эксперты. Нужна помощь в следующем:
есть база данных нужно чтобы при нажатии на кнопку для каждой записи создавалась своя форма...Вопрос № 34015: Здравствуйте увважаемые эксперты. Нужна помощь в следующем:
есть база данных нужно чтобы при клике по некой кнопке для текущей
записи должна создаваться отдельная форма с возможностью редактирования. Заранее спасибо....Вопрос № 34024: уважаемые эксперты подскажите , на делфи 7 с помощью wmi собираю данные о железе компьютера и записываю их в striggrid , каким образом их можно передать в БД под управлением sql 2000 ????(сейчас там тестовая БД,пока она не нормализована, из нее получ...Вопрос № 34028: Здравствуйте, Уважаемые эксперты!
У меня к вам 2 вопроса:
1. Как при нажатии на кнопку в програме, написанной на Delphi запустить аплет панели управления TimeDate.cpl
(использование WinExec не предлагать) .
2. Как программно сменить ...
Вопрос № 33.941
Уважаемые Эксперты!
Как сделать так чтобы окно появлялось вовремя загрузки основной программы, а затем изчезала с прогрессбаром. прогрессбар показывает процесс загрузки.
Заранее благодарен с/у Ерканат
Отправлен: 24.01.2006, 08:16
Вопрос задал: ERA (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Ujin Antikvar
Здравствуйте, ERA!
Сделать это проще простого.
Создаешь дополнительную форму (у меня она Form2 у тебя она может быть любой другой), которая будет появляться во время загрузки основной программы кидаешь на нее ProgressBar и Timer.
Далее в основной форме в событии OnCreate пишешь следующее
procedure TForm1.FormCreate(Sender: TObject); //событие OnCreate основной (главной) формы
begin
Form2:=TForm2.Create(Application); //Делаем форму заставки главной
Form2.ShowModal; //Показываем ее
Form2.Free; //И в конце уничтожаем
end;
Затем на форме заставки (та которая должна появляться во время загрузки основной проги) в Timer'e в событии OnTimer пишешь следующее
procedure TForm2.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
if ProgressBar1.Position=100 then
Close;
end;
Вот собственно и все. Полный код см. в приложении.
И не забудь подключить в uses эту форму к основной и основную к форме заставки
Приложение:
--------- "Будущее принадлежит тем, кто верен своей мечте" - Элеонора Рузвельт
Ответ отправил: Ujin Antikvar (статус: 5-ый класс)
Отправлен: 24.01.2006, 11:38 Оценка за ответ: 4 Комментарий оценки: Мне нужно чтобы форма с прогресс-баром была запущена в параллельно, в данном случае оно не так работает
Отвечает: Злоумышленник
Здравствуйте, ERA! Шлю пример в приложении, почитай. А вот от меня модификация, заточенная под прогресбар из твоего вопроса:
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2},
Unit3 in 'Unit3.pas' {Form3},
Unit4 in 'Unit4.pas' {Form4},
Unit5 in 'Unit5.pas' {Form5},
SysUtils;
Ответ отправил: Злоумышленник (статус: 2-ой класс)
Отправлен: 24.01.2006, 19:44 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Отвечает: Меркулов Алексей
Здравствуйте, ERA! Если вы имеете ввиду сплаш-скрин, то см приложение
Приложение:
Ответ отправил: Меркулов Алексей (статус: 4-ый класс)
Отправлен: 24.01.2006, 22:34 Оценка за ответ: 5 Комментарий оценки: Спасибо!
Вопрос № 33.989
Решил освоить дельфу. Решил написать для своей локальной сети, свою программу для чата. Возникло несколько вопросов. Какой протокол лучше всего использовать. Надо чтобы без отдельного сервера работала.
И как сделать чтобы например как аська. Если ты сидел под одним рабочим сталом и потом другой человек сел за комп и переключился на свой рабочий стоит. В старом программа незакрываласьи продалжала работать, а в новом она еще раз открывалась.
Если можно еще ссылочки почитать доку по этому. Как вообще примерно организовать все это.
Отправлен: 24.01.2006, 18:10
Вопрос задал: Kostya (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Злоумышленник
Здравствуйте, Kostya! Могу посоветовать книжку скачать, М. Флёнов "Программирование в Delphi глазами хакера", там статья 4.6. Чат для локальной сети, стр. 162
Ответ отправил: Злоумышленник (статус: 2-ой класс)
Отправлен: 24.01.2006, 20:00 Оценка за ответ: 4
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Kostya!
Чаще всего используют протокол TCP/IP. С выделенным сервером ваш продукт будет работать или без него - как вы сами реализуете... Всеравно в этой иерархии будет так называемый сервер (принимающий запросы) и клиент (инициирующий запросы). Причем Одна и та же машина одновременно может быть и тем и другим.
Насчет разделения настроек согласно учетным записям:
В реестре есть ветка для конкретной учетной записи. Просто пишете настройки и параметры автозапуска в нее и проблема будет решена.
Ссылка хорошей литературы: ponteley.al.ru
Много интересных статей можно найти по адресу rsdn.ru
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 01:53 Оценка за ответ: 5
Вопрос № 33.998
Как сделать приложение, которое всегда имело бы XP-подобный стиль элементов управления и самой формы, даже при выполнении в Win98, например. Я видел такие проги, так завидно...
Отвечает: Dushin Igor
Здравствуйте, One!
Для этого надо юзать дополнительные компоненты, посмотрите эти, может понравится;)
http://www.freeware32.ru/program.php?id=85
http://soft.mail.ru/program_page.php?grp=14394
или ищи какие-нибудь другие:)
--------- Глюк без причины - признак вирусины!
Ответ отправил: Dushin Igor (статус: 3-ий класс)
Отправлен: 24.01.2006, 20:40 Оценка за ответ: 5
Отвечает: Меркулов Алексей
Здравствуйте, One! Используй компоненты типа SkinForm и т.д.
Ответ отправил: Меркулов Алексей (статус: 4-ый класс)
Отправлен: 24.01.2006, 22:44 Оценка за ответ: 5
Отвечает: REFERI
Здравствуйте, One!
Для этого нужно использовать компоненты интервейса не зависящие от манифеста XP - например PDJXPPack или xpctrls - таких компонентов в интернете достаточно - всякие батоны, контролы и прочее - ссылок на эти компоненты я не храню, потому что найти их не сложно. (если конечно руки есть и голова) :)
Удачи!
--------- Не судите, да не судимы будете...
Ответ отправил: REFERI (статус: Студент)
Отправлен: 24.01.2006, 23:10 Оценка за ответ: 5
Отвечает: Лучников Юрий Владимирович
Здравствуйте, One!
Для этого используют технологию скинов или сторонние компоненты...
Попробуйте поискать подобное на torry.net
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 01:56 Оценка за ответ: 5
Отвечает: Diman_A
Здравствуйте, One!
Я использую Suipack - отличный пакет компонентов для работы со скинами. Не помню, откуда из брал, давно это было, но можешь поискать на torry.net или их сайте http://www.sunisoft.com/
Ответ отправил: Diman_A (статус: 4-ый класс)
Отправлен: 25.01.2006, 05:45 Оценка за ответ: 5
Отвечает: Schmak
Здравствуйте, One!
Можно использовать сторонние компоненты. А в приципе если вы умеете хрошо рисовать, то можно нарисовать кнопки, полосы прокруткиб фон формы и т.п. например, в Corel Draw, а затем прорисовывать их на форме.
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 25.01.2006, 07:38 Оценка за ответ: 3 Комментарий оценки: Срочно начинаю учиться рисовать кнопки, полосы прокруткиб фон формы и т.п. например, в Corel Draw.
Отвечает: D.M.
Здравствуйте, One!
Данный пакет предназначен для Delphi 5.
Все нижеописанные компоненты выглядят как в
Windows XP на любых версиях Windows.
Ниже ссылка,где есть описание и ссылка на скачку....Сам пользуюсь.....
Приложение:
--------- Зёзики руллллят :)
Ответ отправил: D.M. (статус: 2-ой класс)
Отправлен: 25.01.2006, 10:58 Оценка за ответ: 5 Комментарий оценки: А тебе ОСОБОЕ ОГРОМНОЕ СПАСИБО
Вопрос № 34.002
Здравствуйте уважаемые эксперты.
Есть некий массив PRD[i, j] содержащий "1" и "0" например:
Y
A
|00000000000000000000000000000
|00000011111111111110000011110
|00011111111111111111111111000
|00000001111111111111110000000
|00000000000110000111111110000
|00000000000000000001111111000
|00000000011111111111111110000
|00000000000111111111000000000
|00000000000001111000000000000
|00000000000000000000000000000
------------------------------->X
Впрос: Нужно найти массив координат границы области заданной "1",
причем чтобы эти координаты были последовательными, в конечном итоге нужно обрисовать эту область
ф-ей Polygon или Polyline, т.е. если координаты не будут упорядочены то изображение области получается
многкратно перечеркнуто.
Отвечает: Schmak
Здравствуйте, Юрий Смирнов!
В приложении я привожу приложение. Из input.txt в массив A считываются необходимые данные. В массив и выводится оболочка области. Я думаю нет необходимости упорядочивать координаты точек. Достаточно пробежаться по массиву b один раз (за n квадрат) и если соответствующий элемент массива равен 8 (число можно конечно же поменять), то окрасить точку в необходимый цвет (напрмер в чёрный: Canvas.Pixels[i,j]:=clblack). Это будет легче, чем искать координаты в порядке их следования в оболочке.
Если всё таки необходимо строить Polyline то можете поискать в поисковиках алгоритм построения выпуклой оболочки.
Приложение:
--------- Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 25.01.2006, 07:41 Оценка за ответ: 4 Комментарий оценки: Большое спасибо за ответ, но к сажелению он мне не подходит.
Дело в том, что сама задача много сложнее чем очертить область заданную "1". И этот многоугольник в большинстве случаев не выпуклый. Можно конечно разбить его на выпуклые многоугольники, и отсортировать вершин по углу. Но затем возникает задача склейки, то же не совсем тривиальная.
Вопрос № 34.006
Здравстуйте уважеамые эксперты. Интересует такой вопрос. Можно ли средствами Delphi заблокировать по сети мышку и клавиатуру пользователя или заблокировать компьютер, наподобие программы WinLock? Задумка такая, пользователь полез куда не нужно, блокирую комп. и вешаю перед носом табличку с предупреждением. Если можно приведите хоть какой нибудь код на эту тему. Заранее благодарен!
Отвечает: Slava
Здравствуйте, Кузнецов С.Н.!
На счет сети не скажу но вот процедура для блокировки мышки и клавиатуры:
procedure LockPC;
var OldValue: LongBool;
begin
SystemParametersInfo(97, Word(Bool), @OldValue, 0);
WinExec(PChar('rundll32 mouse,disable'), SW_SHOW);
WinExec(PChar('rundll32 keyboard,disable'), SW_SHOW);
end
Ответ отправил: Slava (статус: 8-ой класс)
Отправлен: 24.01.2006, 21:43 Оценка за ответ: 5 Комментарий оценки: Спасибо, остальное может быть сам додумаю.
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Кузнецов С.Н.!
Для этого нужно написать сервер, который постоянно будт висеть на компьютере пользователя и прослушивать определенный порт для внешних соединений и клиента, с помощью которого вы будете подключаться к нужному компьютеру и отдавать команды серверу заблокировать, выдать предупреждение и т.д.
Соответственно сервер должен содержать в своем арсенале нужные функции.
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 02:00 Оценка за ответ: 3 Комментарий оценки: Это и так понятно! Вопрос был о блокировке клав. и мыши или самого компьютера. А также о возможном коде.
Вопрос № 34.014
Здравствуйте уважаемые эксперты. Нужна помощь в следующем:
есть база данных нужно чтобы при нажатии на кнопку для каждой записи создавалась своя форма
Отвечает: Архангельский Андрей Германович
Здравствуйте, Меркулов Алексей!
А зачем? Если у тебя 10 млн. записей, то ты будешь создавать 10 млн. форм?
На самом деле тебе нужно построить DataSet с необходимым запросом, и на форму посадить поля типа DB_Edit. Я использую компоненты IBObjects - в этом случае это IB_Edit, IB_Memo и т.п.
В результате при переходе от записи к записи у тебя будут показываться и редактироваться поля соответствующей записи
Отвечает: Bochvarov NikB
Здравствуйте, Меркулов Алексей!
Делаеш 3 процедури:
1. Собитие "нажатие на кнопку"
2. Ходит по всех записах таблицьи
3. Для один запис делает форму.
И все!
Ответ отправил: Bochvarov NikB (статус: 5-ый класс)
Отправлен: 24.01.2006, 22:45 Оценка за ответ: 3
Отвечает: nimoid
Здравствуйте, Меркулов Алексей!
А может тебе подойдет MDI? Открыть там будет можно много форм - для каждой записи...
--------- Пишем баги на любые патчи :-]
Ответ отправил: nimoid (статус: 7-ой класс)
Отправлен: 25.01.2006, 03:20 Оценка за ответ: 3
Вопрос № 34.015
Здравствуйте увважаемые эксперты. Нужна помощь в следующем:
есть база данных нужно чтобы при клике по некой кнопке для текущей
записи должна создаваться отдельная форма с возможностью редактирования. Заранее спасибо.
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Меркулов Алексей!
Создаете в проекте дополнительную форму, кидаете на нее Edit компоненты, кнопочки типа Сохранить, Отмена...
При вызове формы извлекаете выбранную запись и передаете данные этой записи в форму + ID нужной записи (чтобы знать какую из них перезаписать).
Будет выглядеть примерно так:
Form2.Edit1.Text := CurrRec.Name;
Form2.Edit2.Text := CurrRec.Age; и т.д.
Успехов!
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 02:08 Оценка за ответ: 4
Отвечает: LanK
Здравствуйте, Меркулов Алексей!
Не совсем понятен вопрос... попробуем его "разложить":
----Имеем:
1. Из Ваших слов допускаем, что собственно доступ к базе у Вас уже организован.
2. Допустим через компоненты TQuery (Q) и TDataset + DBEdit на Form1
----Решаем:
3. Создаем по нажатию кнопки форму Form2.Show (если она у Вас создается автоматически). И к нашему Query посылаем команду Q.Edit
4. У нее (Form2) должен быть в uses Form1
5. Тогда у F2 можно разместить компоненты DBEdit, которые "привязаны" к TDataset'у F1, но в отличии от F1 они разрешают менять содержимое.
6. Собственно пользователь меняет и нажимает сохранить, мы посылаем F1.Q.Post
Собственно можно даже кнопку сохранить в таком варианте не делать :) а на закрытие формы повесить F1.Q.Post, только тогда в п.3 поставьте Form2.ShowModal чтобы пользователь обязательно закончил работу с этой записью.
--------- Пусть все будет хорошо! Давайте жить дружно! :) И будет жить еще лучше!
Ответ отправил: LanK (статус: 4-ый класс)
Отправлен: 25.01.2006, 09:28 Оценка за ответ: 4
Вопрос № 34.024
уважаемые эксперты подскажите , на делфи 7 с помощью wmi собираю данные о железе компьютера и записываю их в striggrid , каким образом их можно передать в БД под управлением sql 2000 ????(сейчас там тестовая БД,пока она не нормализована, из нее получаю данные с помощью ADO), добавить данные в DBGrid (также как в striggrid)как я понял не получитися т.к. этот компонент орентирован только на получениие информации из БД с которой он связан через строку подключения. как выйти из этого положения???
Отправлен: 25.01.2006, 00:41
Вопрос задал: Asani (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Jadd
Здравствуйте, Asani!
Очень просто. Нужно писать сразу в БД, а DBGrid отобразит записаное. Если не хочешь так, тогда можно сначала грузануть в какой-нить массив, а потом кинуть и в БД, и в сетку(Grid), но тогда ты должен будешь заморачиваться насчет обновления содержимого сетки. ИМХО, проще первый вариант.
--------- Если в сердце дверь закрыта, нужно в печень постучаться
Ответ отправил: Jadd (статус: Специалист)
Отправлен: 25.01.2006, 09:26
Вопрос № 34.028
Здравствуйте, Уважаемые эксперты!
У меня к вам 2 вопроса:
1. Как при нажатии на кнопку в програме, написанной на Delphi запустить аплет панели управления TimeDate.cpl
(использование WinExec не предлагать) .
2. Как программно сменить системное время Windows XP из программы, написанной на Delphi.
Отправлен: 25.01.2006, 02:14
Вопрос задал: Solovej (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лучников Юрий Владимирович
Здравствуйте, Solovej!
1. В таком случае можно воспользоваться API-функцией CreateProcess. Описание данной функции вы можете найти в MSDN...
2. Воспользуйтесь API-функцией SetSystemTime()
Описание функции (выдержки из MSDN) в приложении...
Успехов!!!
Приложение:
Ответ отправил: Лучников Юрий Владимирович (статус: Студент)
Отправлен: 25.01.2006, 02:55 Оценка за ответ: 4 Комментарий оценки: Жаль, что в приложении не пример использования функции, а выдержка из MSDN.
Отвечает: Diman_A
Здравствуйте, Solovej!
Функция Settime устанавливает системную дату и время.
Дата и время задаются в формате Tdatetime так: целая часть числа - число дней, которое прошло с 30.12.1899. Например:
35065 - 1 января 1996 г.
38718 - 1 января 2006 г.
Дробной частью числа задается часть суток, которая прошла. Например:
38718.5 - 12 часов дня 1 января 2006 г.
Саму функцию и пример использования смотри в приложении.
Приложение:
Ответ отправил: Diman_A (статус: 4-ый класс)
Отправлен: 25.01.2006, 05:41 Оценка за ответ: 5 Комментарий оценки: Не совсем так как мне надо, но все равно спасибо за ответ.