Ĺadny brzuch
Gdzie tu jest błąd??
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free;
end;
end;
a może napisałbyś jaki błąd wywala ??
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
Chyba żadnego błedu nie ma żeby wywaliło to tylko pewnie program sie kompiluje i nie działa tak jak trzeba ;).
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
Masz rację. Może ktoś wie co jest nie tak z tym kodem.cytat:NeVeS napisał:
Chyba żadnego błedu nie ma żeby wywaliło to tylko pewnie program sie kompiluje i nie działa tak jak trzeba ;).
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
Dobra spróbuje inaczej co ten kod ma robić
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
Program wyglada na taki który ma zrobić screnashota ekranu i zapisać do strumienia, bynajmniej jakoś dziwnie jest to zrobione a wogóle wygląda mi to na trojana :)
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
To nie zaden trojan a kod mam z Grupy dyskusyjnej: http://groups.google...N.Yankee&rnum=1
Wiecie moze co tu poprawić żeby działało??
cytat:strefacst napisał:
To nie zaden trojan a kod mam z Grupy dyskusyjnej: http://groups.google...N.Yankee&rnum=1
Wiecie moze co tu poprawić żeby działało??
A z ciekawości spytam - podłączyłeś ten kod odpowiednio do swojego programu ?
Bez obrazy - ale czasem zdaża się, że ktoś początkujący wklei jakąś procedurę nie podpinając ją pod żadne zdażenie itp - a potem dziwi się czemu nie działa.
Jeśli zrobiłeś to co trzeba to sorry za takie podejrzenia ;)
Tylko trochę dziwne, bo Yankee zna się na rzeczy i jeśli jemu działało to kod powinien być ok...
PS.
Próbowałeś wyśledzić w którym momencie kod źle działa ?
ICQ : 245-363-570
Podpiołem pod zdażenie a błąd jest w tej linice
bmp.Width:= Screen.Width; // tu jest napewno błąd
i pewnie jeszcze tej:
bmp.Height:= Screen.Height; // tu raczej tez
cytat:strefacst napisał:
Podpiołem pod zdażenie a błąd jest w tej linice
bmp.Width:= Screen.Width; // tu jest napewno błąd
i pewnie jeszcze tej:
bmp.Height:= Screen.Height; // tu raczej tez
No w to akurat wątpie - bo to powinno działać bez problemu (zresztą cała procedura LoadBmp wygląda OK).
Dlaczego uważasz, że ten fragment nie działa ?
Jeśli jeszcze tego nie zrobiłeś to sprawdź sobie czy odczytuje Ci prawidłowe wartości.
ICQ : 245-363-570
Uwazam tak poniewaz przy kazdej linice pisałem showmessage('numerlini'); i staneło przytym
cytat:strefacst napisał:
Uwazam tak poniewaz przy kazdej linice pisałem showmessage('numerlini'); i staneło przytym
Jak to stanęło ?
Program się zawiesił ?
Wcześniej pisałeś, że nie wyskakuje żaden błąd tylko, że kod nie robi tego co powinien.
Tak dla pewności spytam jeszcze czy utworzyłeś zmienną bmp - bo jeśli tego nie zrobiłeś to program jak najbardziej ma prawo się wykrzaczyć...
ICQ : 245-363-570
wrzuciłem to do kompilatora, ale sypie mi się przy TCompressionStream jakiś dodatkowy modół do tego jest potrzebny ??
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
cytat:Bełdzio napisał:
wrzuciłem to do kompilatora, ale sypie mi się przy TCompressionStream jakiś dodatkowy modół do tego jest potrzebny ??
Tak - modół ZLib
ICQ : 245-363-570
OKi tu jest cły kod jak to zrobiłem no i sie ładnie kompiluje klikam na button a ty baaa... błąd.
unit Unit1;
interface
uses
Windows, Messages, ZLib, 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;
bmp: TBitmap;
mem: TMemoryStream;
implementation
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free;
end;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadBmp;
CompressBmpToMem;
end;
end.
cytat:strefacst napisał:
OKi tu jest cły kod jak to zrobiłem no i sie ładnie kompiluje klikam na button a ty baaa... błąd.
{...}
No i właśnie...
Program wysypuje Ci się bo próbujesz używać zmiennej bmp, która nie została jeszcze utworzona. Musisz to zrobić wcześniej - bmp := TBitmap.Create a jak już nie będziesz jej potrzebował to zlikwidować przez bmp.Free.
Poczytaj sobie trochę o obiektach...
PS.
To samo dotyczy zmiennej mem - musisz ją wcześniej utworzyć.
ICQ : 245-363-570
Teraz wszystko działa :)
unit Unit1;
interface
uses
Windows, Messages, ZLib, 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;
bmp: TBitmap;
mem: TMemoryStream;
implementation
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp:=TBitmap.Create;
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
mem:=TMemoryStream.Create;
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free; bmp.Free;
end;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadBmp;
CompressBmpToMem;
end;
end.
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
OKi dzięki działa :D:cheesy:
cytat:strefacst napisał:
OKi dzięki działa :D:cheesy:
Strefacst - na przyszłość staraj się od razu dokładnie opisać problem - bo w tym przypadku gdybyś to zrobił od razu to zamiast 17 postów wystarczyłyby 2 i problem byłby rozwiązany :)
ICQ : 245-363-570
Mam jeszcze jedno pytanko jak zmienić rozmiar tego screena przed jego zapisaniem??
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free;
end;
end;
a może napisałbyś jaki błąd wywala ??
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
Chyba żadnego błedu nie ma żeby wywaliło to tylko pewnie program sie kompiluje i nie działa tak jak trzeba ;).
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
Masz rację. Może ktoś wie co jest nie tak z tym kodem.cytat:NeVeS napisał:
Chyba żadnego błedu nie ma żeby wywaliło to tylko pewnie program sie kompiluje i nie działa tak jak trzeba ;).
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
Dobra spróbuje inaczej co ten kod ma robić
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
Program wyglada na taki który ma zrobić screnashota ekranu i zapisać do strumienia, bynajmniej jakoś dziwnie jest to zrobione a wogóle wygląda mi to na trojana :)
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
To nie zaden trojan a kod mam z Grupy dyskusyjnej: http://groups.google...N.Yankee&rnum=1
Wiecie moze co tu poprawić żeby działało??
cytat:strefacst napisał:
To nie zaden trojan a kod mam z Grupy dyskusyjnej: http://groups.google...N.Yankee&rnum=1
Wiecie moze co tu poprawić żeby działało??
A z ciekawości spytam - podłączyłeś ten kod odpowiednio do swojego programu ?
Bez obrazy - ale czasem zdaża się, że ktoś początkujący wklei jakąś procedurę nie podpinając ją pod żadne zdażenie itp - a potem dziwi się czemu nie działa.
Jeśli zrobiłeś to co trzeba to sorry za takie podejrzenia ;)
Tylko trochę dziwne, bo Yankee zna się na rzeczy i jeśli jemu działało to kod powinien być ok...
PS.
Próbowałeś wyśledzić w którym momencie kod źle działa ?
ICQ : 245-363-570
Podpiołem pod zdażenie a błąd jest w tej linice
bmp.Width:= Screen.Width; // tu jest napewno błąd
i pewnie jeszcze tej:
bmp.Height:= Screen.Height; // tu raczej tez
cytat:strefacst napisał:
Podpiołem pod zdażenie a błąd jest w tej linice
bmp.Width:= Screen.Width; // tu jest napewno błąd
i pewnie jeszcze tej:
bmp.Height:= Screen.Height; // tu raczej tez
No w to akurat wątpie - bo to powinno działać bez problemu (zresztą cała procedura LoadBmp wygląda OK).
Dlaczego uważasz, że ten fragment nie działa ?
Jeśli jeszcze tego nie zrobiłeś to sprawdź sobie czy odczytuje Ci prawidłowe wartości.
ICQ : 245-363-570
Uwazam tak poniewaz przy kazdej linice pisałem showmessage('numerlini'); i staneło przytym
cytat:strefacst napisał:
Uwazam tak poniewaz przy kazdej linice pisałem showmessage('numerlini'); i staneło przytym
Jak to stanęło ?
Program się zawiesił ?
Wcześniej pisałeś, że nie wyskakuje żaden błąd tylko, że kod nie robi tego co powinien.
Tak dla pewności spytam jeszcze czy utworzyłeś zmienną bmp - bo jeśli tego nie zrobiłeś to program jak najbardziej ma prawo się wykrzaczyć...
ICQ : 245-363-570
wrzuciłem to do kompilatora, ale sypie mi się przy TCompressionStream jakiś dodatkowy modół do tego jest potrzebny ??
//----------------------
gg :3183960
SZUKAM BETATESTERÓW - chętnych prosze o kontakt mail/gg
cytat:Bełdzio napisał:
wrzuciłem to do kompilatora, ale sypie mi się przy TCompressionStream jakiś dodatkowy modół do tego jest potrzebny ??
Tak - modół ZLib
ICQ : 245-363-570
OKi tu jest cły kod jak to zrobiłem no i sie ładnie kompiluje klikam na button a ty baaa... błąd.
unit Unit1;
interface
uses
Windows, Messages, ZLib, 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;
bmp: TBitmap;
mem: TMemoryStream;
implementation
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free;
end;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadBmp;
CompressBmpToMem;
end;
end.
cytat:strefacst napisał:
OKi tu jest cły kod jak to zrobiłem no i sie ładnie kompiluje klikam na button a ty baaa... błąd.
{...}
No i właśnie...
Program wysypuje Ci się bo próbujesz używać zmiennej bmp, która nie została jeszcze utworzona. Musisz to zrobić wcześniej - bmp := TBitmap.Create a jak już nie będziesz jej potrzebował to zlikwidować przez bmp.Free.
Poczytaj sobie trochę o obiektach...
PS.
To samo dotyczy zmiennej mem - musisz ją wcześniej utworzyć.
ICQ : 245-363-570
Teraz wszystko działa :)
unit Unit1;
interface
uses
Windows, Messages, ZLib, 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;
bmp: TBitmap;
mem: TMemoryStream;
implementation
// wczytanie obrazu pulpitu do obiektu "bmp" (TBitmap)
procedure LoadBmp;
var DC: Integer;
begin
bmp:=TBitmap.Create;
bmp.Width:= Screen.Width;
bmp.Height:= Screen.Height;
DC:= GetDC(0);
try
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height, DC,0,0, SRCCOPY);
finally
ReleaseDC(0, DC);
end;
bmp.PixelFormat:= pf8bit;
end;
// kompresja obrazka do strumienia "mem" (TMemoryStream)
procedure CompressBmpToMem;
var zip : TCompressionStream;
begin
mem:=TMemoryStream.Create;
zip:= TCompressionStream.Create(clFastest, mem);
try bmp.SaveToStream(zip);
finally zip.Free; bmp.Free;
end;
end;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
LoadBmp;
CompressBmpToMem;
end;
end.
---------------------------------
..::NeVeS::..
NeVeS powrócił :]
---------------------------------
"DOCERE, MOVERE, DELECTARE"
OKi dzięki działa :D:cheesy:
cytat:strefacst napisał:
OKi dzięki działa :D:cheesy:
Strefacst - na przyszłość staraj się od razu dokładnie opisać problem - bo w tym przypadku gdybyś to zrobił od razu to zamiast 17 postów wystarczyłyby 2 i problem byłby rozwiązany :)
ICQ : 245-363-570
Mam jeszcze jedno pytanko jak zmienić rozmiar tego screena przed jego zapisaniem??