1- Program açarken mesela Ip : "31.79.210.11" bu ip adresi baglantısı varmı yokmu nasıl kontrol ettirttiririm?
2- Bilgisayardan print bastıgımızda oto masaüstünde resimi nasıl kaydettirebilirim?
3- Programla bilgisayarın cpuid'sini nasıl aldırırım google'da birçok döküman mevcut fakat çalışmıyor çoğusu..
4- Şimdi ben "var.bizimip = ("31.79.210.11");" gibi nasıl birşey yapabılırım? mesela
ben 6,7 yere ip adresi giriyorum programda bunları tek bi sefer girebilmem için nasıl bir fonksiyon yapmam lazım?
şimdiden teşekkürler yardım eden etmeyen herkeze..
Takıldığım Birkaç Nokta!
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Takıldığım Birkaç Nokta!
2. soruna cevap vereyim
diğer soruları anlamadım :S... kolay gelsin
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
DCDesk: HDC;
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(image1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);
ReleaseDC(GetDesktopWindow, DCDesk);
image1.Picture.SaveToFile('Screen.jpg');
end;
Re: Takıldığım Birkaç Nokta!
@esrehmaan hocam ;
Çok güzel yapmışsınızda şöyle yapamazmıyız (program açıkken "print screen" tuşuna basarlarsa = resim1.jpg , resim2.jpg , resim3.jpg , 4, 5 , 6 ,7 ,8 , diye gitsin masa üstüne kaydetsın + tam ekran görüntüsü alamazmıyız?
diğerleri anlamadım demişsin açıklayayım iyice ;
1- Windows görev yöneticisinde "Kullanılan Cpu : %5" mesela bunu delphi 7 de nasıl gösteririZ? Örnek : Label da : cpu kullanımı : %5 , %7 gibi ?
2- Bilgisayarın cpu idsini nasıl alabilirim örnek : http://www.lohninger.com/cpuid.html // burada kaynak kodları var ama projesi çalışmıyor nedense?
şimdiden teşekkür ettim + iletişim adresini pm atarsan sevinirim.
Çok güzel yapmışsınızda şöyle yapamazmıyız (program açıkken "print screen" tuşuna basarlarsa = resim1.jpg , resim2.jpg , resim3.jpg , 4, 5 , 6 ,7 ,8 , diye gitsin masa üstüne kaydetsın + tam ekran görüntüsü alamazmıyız?
diğerleri anlamadım demişsin açıklayayım iyice ;
1- Windows görev yöneticisinde "Kullanılan Cpu : %5" mesela bunu delphi 7 de nasıl gösteririZ? Örnek : Label da : cpu kullanımı : %5 , %7 gibi ?
2- Bilgisayarın cpu idsini nasıl alabilirim örnek : http://www.lohninger.com/cpuid.html // burada kaynak kodları var ama projesi çalışmıyor nedense?
şimdiden teşekkür ettim + iletişim adresini pm atarsan sevinirim.
Re: Takıldığım Birkaç Nokta!
tabi yapabilirsin...
Cpu kullanımı ile ilgili olarak
kolay gelsin kodları denemedim ancak sana fikir vermesi açısından yolladım inşallah işine yarar... kolay gelsin
Kod: Tümünü seç
Using PrintScr to print a form
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
private
{ Private declarations }
procedure wmHotkey( Var msg: TWMHotkey );
message WM_HOTKEY;
procedure WMActivate( Var msg: TWMActivate );
message WM_ACTIVATE;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure tform1.wmHotkey( Var msg: TWMHotkey );
begin
if msg.HotKey = IDHOT_SNAPWINDOW Then
label1.caption := 'PrintScr pressed';
// would print form from here
end;
procedure TForm1.WMActivate( Var msg: TWMActivate );
begin
If msg.Active <> WA_INACTIVE Then
RegisterHotkey( Handle, IDHOT_SNAPWINDOW, 0, VK_SNAPSHOT )
Else begin
UnRegisterHotkey( Handle, IDHOT_SNAPWINDOW );
label1.caption := '';
end;
inherited;
end;
Cpu kullanımı ile ilgili olarak
Kod: Tümünü seç
const
SystemBasicInformation = 0;
SystemPerformanceInformation = 2;
SystemTimeInformation = 3;
type
TPDWord = ^DWORD;
TSystem_Basic_Information = packed record
dwUnknown1: DWORD;
uKeMaximumIncrement: ULONG;
uPageSize: ULONG;
uMmNumberOfPhysicalPages: ULONG;
uMmLowestPhysicalPage: ULONG;
uMmHighestPhysicalPage: ULONG;
uAllocationGranularity: ULONG;
pLowestUserAddress: Pointer;
pMmHighestUserAddress: Pointer;
uKeActiveProcessors: ULONG;
bKeNumberProcessors: byte;
bUnknown2: byte;
wUnknown3: word;
end;
type
TSystem_Performance_Information = packed record
liIdleTime: LARGE_INTEGER; {LARGE_INTEGER}
dwSpare: array[0..75] of DWORD;
end;
type
TSystem_Time_Information = packed record
liKeBootTime: LARGE_INTEGER;
liKeSystemTime: LARGE_INTEGER;
liExpTimeZoneBias: LARGE_INTEGER;
uCurrentTimeZoneId: ULONG;
dwReserved: DWORD;
end;
var
NtQuerySystemInformation: function(infoClass: DWORD;
buffer: Pointer;
bufSize: DWORD;
returnSize: TPDword): DWORD; stdcall = nil;
liOldIdleTime: LARGE_INTEGER = ();
liOldSystemTime: LARGE_INTEGER = ();
function Li2Double(x: LARGE_INTEGER): Double;
begin
Result := x.HighPart * 4.294967296E9 + x.LowPart
end;
procedure GetCPUUsage;
var
SysBaseInfo: TSystem_Basic_Information;
SysPerfInfo: TSystem_Performance_Information;
SysTimeInfo: TSystem_Time_Information;
status: Longint; {long}
dbSystemTime: Double;
dbIdleTime: Double;
bLoopAborted : boolean;
begin
if @NtQuerySystemInformation = nil then
NtQuerySystemInformation := GetProcAddress(GetModuleHandle('ntdll.dll'),
'NtQuerySystemInformation');
// get number of processors in the system
status := NtQuerySystemInformation(SystemBasicInformation, @SysBaseInfo, SizeOf(SysBaseInfo), nil);
if status <> 0 then Exit;
// Show some information
with SysBaseInfo do
begin
ShowMessage(
Format('uKeMaximumIncrement: %d'#13'uPageSize: %d'#13+
'uMmNumberOfPhysicalPages: %d'+#13+'uMmLowestPhysicalPage: %d'+#13+
'uMmHighestPhysicalPage: %d'+#13+'uAllocationGranularity: %d'#13+
'uKeActiveProcessors: %d'#13'bKeNumberProcessors: %d',
[uKeMaximumIncrement, uPageSize, uMmNumberOfPhysicalPages,
uMmLowestPhysicalPage, uMmHighestPhysicalPage, uAllocationGranularity,
uKeActiveProcessors, bKeNumberProcessors]));
end;
bLoopAborted := False;
while not bLoopAborted do
begin
// get new system time
status := NtQuerySystemInformation(SystemTimeInformation, @SysTimeInfo, SizeOf(SysTimeInfo), 0);
if status <> 0 then Exit;
// get new CPU's idle time
status := NtQuerySystemInformation(SystemPerformanceInformation, @SysPerfInfo, SizeOf(SysPerfInfo), nil);
if status <> 0 then Exit;
// if it's a first call - skip it
if (liOldIdleTime.QuadPart <> 0) then
begin
// CurrentValue = NewValue - OldValue
dbIdleTime := Li2Double(SysPerfInfo.liIdleTime) - Li2Double(liOldIdleTime);
dbSystemTime := Li2Double(SysTimeInfo.liKeSystemTime) - Li2Double(liOldSystemTime);
// CurrentCpuIdle = IdleTime / SystemTime
dbIdleTime := dbIdleTime / dbSystemTime;
// CurrentCpuUsage% = 100 - (CurrentCpuIdle * 100) / NumberOfProcessors
dbIdleTime := 100.0 - dbIdleTime * 100.0 / SysBaseInfo.bKeNumberProcessors + 0.5;
// Show Percentage
Form1.Label1.Caption := FormatFloat('CPU Usage: 0.0 %',dbIdleTime);
Application.ProcessMessages;
// Abort if user pressed ESC or Application is terminated
bLoopAborted := (GetKeyState(VK_ESCAPE) and 128 = 128) or Application.Terminated;
end;
// store new CPU's idle and system time
liOldIdleTime := SysPerfInfo.liIdleTime;
liOldSystemTime := SysTimeInfo.liKeSystemTime;
// wait one second
Sleep(1000);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetCPUUsage
end;
kolay gelsin kodları denemedim ancak sana fikir vermesi açısından yolladım inşallah işine yarar... kolay gelsin
Re: Takıldığım Birkaç Nokta!
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Const
{$j+} i : Integer = 0; {$j-}
var
DCDesk: HDC;
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(image1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);
ReleaseDC(GetDesktopWindow, DCDesk);
image1.Picture.SaveToFile('D:\G-KANIT-' +inttostr(i)+'.JPG'); // D: ' ye kaydet.
inc(i);
end;
Re: Takıldığım Birkaç Nokta!
Kod: Tümünü seç
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
const
{$j+} i : Integer = 0; {$j-}
var
DCDesk: HDC;
begin
if Key = VK_SNAPSHOT then begin
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(image1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);
ReleaseDC(GetDesktopWindow, DCDesk);
image1.Picture.SaveToFile(inttostr(i)+'.JPG'); // D: ' ye kaydet.
inc(i);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview := True;
end;
bunu denedim oluyor bi göz atar mısın tekrardan
Re: Takıldığım Birkaç Nokta!
Kod: Tümünü seç
TForm1.FormKeyUp