ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

27.11.2007, 20:17
|
|
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме: 1038169
Репутация:
184
|
|
GetFreeDiskSpace(). что надо подключить чтобы заработало, иначе никак... я туплю..
|
|
|

27.11.2007, 22:44
|
|
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме: 3371897
Репутация:
1462
|
|
а если через fso?
Код:
function DiskSpace(AFileName : string) : int;
var
fso, drv : OleVariant;
begin
fso := CreateOleObject('Scripting.FileSystemObject');
drv := fso.GetDrive(fso.GetDriveName(AFileName));
DiskSpace := drv.AvailableSpace;
end;
|
|
|
Таймер в консольном приложении |

29.11.2007, 07:49
|
|
Познающий
Регистрация: 27.03.2007
Сообщений: 95
Провел на форуме: 244822
Репутация:
37
|
|
Таймер в консольном приложении
возникла такая проблема:
пишу например:
Код:
program MyApp;
{$APPTYPE CONSOLE}
uses
ExtCtrls;
var
Timer: TTimer;
procedure MyAppOnTimer(Sender: TObject);
begin
{}
end;
begin
Timer := TTimer.Create(nil);
Timer.OnTimer := MyAppOnTimer; //вот здесь ошибка.
end;
При компиляции выдает ошибку -
"Incompatible types: 'method pointer and regular procedure'"
Как сделать правильно?
|
|
|

29.11.2007, 10:41
|
|
Познающий
Регистрация: 27.03.2007
Сообщений: 95
Провел на форуме: 244822
Репутация:
37
|
|
Сообщение от cyber$nake
возникла такая проблема:
пишу например:
Код:
program MyApp;
{$APPTYPE CONSOLE}
uses
ExtCtrls;
var
Timer: TTimer;
procedure MyAppOnTimer(Sender: TObject);
begin
{}
end;
begin
Timer := TTimer.Create(nil);
Timer.OnTimer := MyAppOnTimer; //вот здесь ошибка.
end;
При компиляции выдает ошибку -
"Incompatible types: 'method pointer and regular procedure'"
Как сделать правильно?
получилось вот таким способом, но проц сильно грузит:
Код:
type
....
TMyTimer = class(TObject)
timTimer: TTimer;
booTrigger: boolean;
procedure timTimerTimer(Sender: TObject);
end;
....
procedure TMyTimer.timTimerTimer(Sender: TObject);
begin
booTrigger := true;
...
end;
procedure TimerExample;
var
timDemo: TMyTimer;
begin
with timDemo do
begin
timDemo := TMyTimer.Create;
timTimer := TTimer.Create(nil);
booTrigger := false;
timTimer.Interval:=30000;
timTimer.Enabled:=true;
timTimer.OnTimer := timDemo.timTimerTimer;
repeat
Application.ProcessMessages;
until booTrigger;
Free;
end;
end;
может ктонить предложит по проще и с меньшей нагрузкой на проц?
|
|
|

29.11.2007, 14:44
|
|
Новичок
Регистрация: 14.06.2007
Сообщений: 7
Провел на форуме: 30728
Репутация:
34
|
|
если уж сильно надо использовать TTimer (я бы не стал этого делать в консольке), то можно так выкрутиться:
Код:
program MyApp;
{$APPTYPE CONSOLE}
uses
ExtCtrls;
type
TSomeObj = class
class procedure MyProc(Sender:TObject);
end;
var
Timer: TTimer;
class procedure TSomeObj.MyProc(Sender: TObject);
begin
{}
end;
begin
Timer := TTimer.Create(nil);
// Timer.OnTimer := MyAppOnTimer; //вот здесь ошибка.
Timer.OnTimer := TSomeObj.MyProc;
end;
|
|
|

29.11.2007, 15:34
|
|
Новичок
Регистрация: 05.10.2007
Сообщений: 12
Провел на форуме: 12616
Репутация:
10
|
|
подскажите вот хочу написать трайн под игру =) возник вопрос как посылать сообщение нажатия клавиши другому приложению
|
|
|

01.12.2007, 11:40
|
|
Участник форума
Регистрация: 12.10.2006
Сообщений: 158
Провел на форуме: 668286
Репутация:
187
|
|
Сообщение от zer0c0o1
подскажите вот хочу написать трайн под игру =) возник вопрос как посылать сообщение нажатия клавиши другому приложению
этот код который посылает данные в блокнот, а именно символы hello значением string
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
wnd: HWND;
i: Integer;
s: string;
begin
wnd := FindWindow('notepad', nil);
if wnd <> 0 then
begin
wnd := FindWindowEx(wnd, 0, 'Edit', nil);
// Write Text in Notepad.
// Text ins Notepad schreiben.
s := 'Hello';
for i := 1 to Length(s) do
SendMessage(wnd, WM_CHAR, Word(s[i]), 0);
// Simulate Return Key.
PostMessage(wnd, WM_KEYDOWN, VK_RETURN, 0);
// Simulate Space.
PostMessage(wnd, WM_KEYDOWN, VK_SPACE, 0);
end;
end;
var
wnd: HWND;
begin
wnd := FindWindow('WordPadClass', nil);
if wnd <> 0 then
begin
wnd := FindWindowEx(wnd, 0, 'RICHEDIT', nil);
end
end.
|
|
|

29.11.2007, 16:41
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
люди скачайте такие простые вещи как:
dw
drkb
насчет трейнеров тут
и гугл... => trainer +delphi +source
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
Последний раз редактировалось W!z@rD; 29.11.2007 в 16:51..
|
|
|

01.12.2007, 19:22
|
|
Новичок
Регистрация: 05.10.2007
Сообщений: 12
Провел на форуме: 12616
Репутация:
10
|
|
спасибо kair уже разобрался =)
подскажите как парсить cmd =)
т.е. надо забирать все строки с cmd и отображать их в memo
|
|
|

02.12.2007, 06:15
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от zer0c0o1
спасибо kair уже разобрался =)
подскажите как парсить cmd =)
т.е. надо забирать все строки с cmd и отображать их в memo
var
i:byte;
for i:=0 to ParamCount do
memo1.lines.add(paramstr(i));
writeln(paramstr(i));//консольный вариант
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|