HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 27.11.2007, 20:17
MegaDeth
Участник форума
Регистрация: 08.11.2006
Сообщений: 208
Провел на форуме:
1038169

Репутация: 184
По умолчанию

GetFreeDiskSpace(). что надо подключить чтобы заработало, иначе никак... я туплю..
 
Ответить с цитированием

  #2  
Старый 27.11.2007, 22:44
Jes
Постоянный
Регистрация: 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;
 
Ответить с цитированием

Таймер в консольном приложении
  #3  
Старый 29.11.2007, 07:49
cyber$nake
Познающий
Регистрация: 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'"
Как сделать правильно?
 
Ответить с цитированием

  #4  
Старый 29.11.2007, 10:41
cyber$nake
Познающий
Регистрация: 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;
может ктонить предложит по проще и с меньшей нагрузкой на проц?
 
Ответить с цитированием

  #5  
Старый 29.11.2007, 14:44
Aristarh Dark
Новичок
Регистрация: 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;
 
Ответить с цитированием

  #6  
Старый 29.11.2007, 15:34
zer0c0o1
Новичок
Регистрация: 05.10.2007
Сообщений: 12
Провел на форуме:
12616

Репутация: 10
По умолчанию

подскажите вот хочу написать трайн под игру =) возник вопрос как посылать сообщение нажатия клавиши другому приложению
 
Ответить с цитированием

  #7  
Старый 01.12.2007, 11:40
kair
Участник форума
Регистрация: 12.10.2006
Сообщений: 158
Провел на форуме:
668286

Репутация: 187
Отправить сообщение для kair с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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.
 
Ответить с цитированием

  #8  
Старый 29.11.2007, 16:41
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

люди скачайте такие простые вещи как:
dw
drkb


насчет трейнеров тут

и гугл... => trainer +delphi +source
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...

Последний раз редактировалось W!z@rD; 29.11.2007 в 16:51..
 
Ответить с цитированием

  #9  
Старый 01.12.2007, 19:22
zer0c0o1
Новичок
Регистрация: 05.10.2007
Сообщений: 12
Провел на форуме:
12616

Репутация: 10
По умолчанию

спасибо kair уже разобрался =)
подскажите как парсить cmd =)
т.е. надо забирать все строки с cmd и отображать их в memo
 
Ответить с цитированием

  #10  
Старый 02.12.2007, 06:15
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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...
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2568 25.04.2026 12:58
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ