Что нужно сделать, чтобы форму приложения нельзя было свернуть никаким образом, кроме как по желанию самой программы.
Варианты:
Код:
procedure TMainForm.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean); begin if not CanMinimize then begin SetWindowPos(MainForm.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE+SWP_NOSIZE); MainForm.Repaint; end; end;
procedure TmainForm.WMSysCommand(var Msg: TWMSysCommand); begin if Msg.CmdType = SC_MINIMIZE then MainForm.Show else inherited; end;
не предлагать, тк первый работает через раз, а при установке Done = false забирает 50% процессорного времени. второй вариант отлавливает только на нажатие кнопки свернуть (которой нет тк стиль окна bsNone + fsAlwaysOnTop) Добавлено спустя 2 часа, 12 минут, 17 секунд И еще вопрос, программа создает иконку в трее, по событию WM_RBUTTONDOWN выполняеется код: GetCursorPos(P); PopupMenu.Popup(P.X,P.Y); нужно сделать так, чтобы PopupMenu убиралось если произошел клик мышкой не по нему. Добавлено спустя 3 часа, 38 минут, 49 секунд Выяснил когда работает код в событии OnIdle, если свернуть приложение через значок в панели задач, и так же его развернуть, то сворачиваться не будет. Как это влияет на собитие onIdle, я без понятия, пробовал выолнить команды:
Member
Статус: Не в сети Регистрация: 08.01.2003 Откуда: Россия, Иркутск
Delphi+Excel вообщем подскажите как лучше сделать пренос данных из одной ячейки книги Excel в другую книгу
Имеется пачка однотипных книг Excel нужно из каждой извлечь определённые данные и пренести их в одну книгу.
_________________ Если ты не смотрел Evangelion - ты не жил
Ричи Блэкмор - Бог!
Member
Статус: Не в сети Регистрация: 01.07.2006 Откуда: Челябинск
HELP Надо написать программу для измерения температуры с датчиков DS1820 и им подобных через COM или LPT
если кто знает кинте ссылки на сайты с описанием принципа передачи данных датчиком
http://tempkeeper.narod.ru/downloads.html вот ссылка с описанием на англиском яз
Забанен
Статус: Не в сети Регистрация: 27.08.2004 Откуда: BY, Pltsk-Minsk
Читаю одну хорошую статейку
Цитата:
Прежде всего, Вы должны поместить во время дизайна на форму объект TTable и указать, с какой таблицей хотите работать. Для этого нужно заполнить в Инспекторе объектов свойства DatabaseName и TableName. В DatabaseName можно либо указать директорию, в которой лежат таблицы в формате dBase или Paradox (например, C:\DELPHI\DEMOS\DATA), либо выбрать из списка псевдоним базы данных (DBDEMOS). Псевдоним базы данных (Alias) определяется в утилите Database Engine Configuration. Теперь, если свойство Active установить в True, то при запуске приложения таблица будет открываться автоматически.
1) Откуда взять непосредственно таблицы в формате dBase или Paradox?
2) В Database Engine Configuration нужно самому создавать таблицу ?
_________________ Подставлю ладони - их болью своей наполни,
Наполни печалью, страхом гулкой темноты...
Откуда взять непосредственно таблицы в формате dBase или Paradox?
Да самому создать из кода.
Вот набросал, как пример, думаю, покатит. К uses ессно добавить DB и DBTables.
Код:
function CreateTbl: Boolean; resourcestring DBName = 'DB'; var DataSource: TDataSource; Table: TTable; begin Result:= False; if not DirectoryExists(ExtractFilePath(Application.ExeName) + DBName) then if not CreateDir(ExtractFilePath(Application.ExeName) + DBName) then Exit; DataSource:= TDataSource.Create(nil); try Table:= TTable.Create(nil); try DataSource.DataSet:= Table; with Table do begin DatabaseName:= '.\' + DBName; TableType:= ttParadox; TableName:= 'Events'; with FieldDefs do begin Clear; Add('Name', ftString, 40, True); Add('Time', ftDateTime, 0, True); Add('Note', ftString, 40, False); end; with IndexDefs do begin Clear; Add('NameIndex', 'Name', [ixPrimary]); end; CreateTable; Result:= True; end; finally Table.Free; end; finally DataSource.Free; end; end;
Member
Статус: Не в сети Регистрация: 16.10.2005 Откуда: Кемерово
Очень хочу научится программировать на Delphi серьёзно. Имею навыки начальной работы и в Делфи и в Паскале.
Подскажите пожалуйта Какой-нибудь ресурс где бы можно было скачать книжку например или статьи посмотреть.
Очень прошу.
procedure ClickKey(Key: char); begin Keybd_event(ord(Key),VkKeyScan(Key),0,0); sleep(100); Keybd_event(ord(Key),VkKeyScan(Key),KEYEVENTF_KEYUP,0); end;
Если нужно только caps,num,scroll lock то подставляй VK_CAPITAL,VK_SCROLL,VK_NUMLOCK вместо функции получения скан кода. В таком случае можно обойтись только одной процедурой
Код:
Keybd_event(VK_NUMLOCK,0,0,0);
Последний раз редактировалось Kerner 17.07.2006 8:32, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 05.01.2003 Откуда: Москва Фото: 2
To all Есть такая задача и проблема.
Задача такая - есть сайт и страничка на нем. Нужно на нее загрузить одни данные, а получить ессно ответ и данные какие-то еще.
Работать надо череp https. На работе стоит прокся с авторизацией, а на том сайте тоже есть логин и пароль.
Пытаюсь это делать через компоненты Indy - то есть через TIdHTTP.
К любому сайте в HTTP обращаюсь без проблем, а к сайтам через HTTPS - долго думает и потом выводит time out
Как можно сделать данную задачку?
_________________ Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!
Не совсем по теме, но все же помогите. Не хочет запускаться Delphi 6. При запуске выдает вот такую ошибку:
Точка входа в процедуру @Sysutils@CheckWin32Version$qqrii не найдена в библеотеке DLL rtl60.bpl
Member
Статус: Не в сети Регистрация: 04.08.2005 Откуда: Minsk
_SGK, спасибо заработало...
Но я так и не понял как принимать, отправлять в 7-ом дельфи UDP сообчения...
По этому если не трудно тоже самое для 5-ого дельфи... DateUtils, нет в 5-ом... И если можно то пример как прочитать системное время?
И если можно то пример как прочитать системное время?
А шо справка ваааще не работает?
Цитата:
function Now: TDateTime; Description Returns the current date and time, corresponding to the sum of the value returned by the global Date and Time functions. Note: Although TDateTime values can represent milliseconds, Now is accurate only to the nearest second.
Код:
procedure TForm1.Button1Click(Sender: TObject); var ST: TDateTime; S: String; begin ST:= Now; // for TDateTime S:= DateTimeToStr(Now); // for String; end;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения