![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.05.2010
Сообщений: 6
|
![]()
Пишу программу: автоматический скриншотер...тоесть прог-ма которая делает снимки экрана
![]() ![]() unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, Menus, jpeg; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; MainMenu1: TMainMenu; BitBtn1: TBitBtn; Image1: TImage; Timer1: TTimer; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N5: TMenuItem; Image2: TImage; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure BitBtn1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N3Click(Sender: TObject); procedure N5Click(Sender: TObject); procedure N4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); var Canvas:TCanvas; ScreenV:HDC; i: String; begin i:='1'; ScreenV := GetDC(0); Canvas:=TCanvas.Create(); Canvas.Handle:=ScreenV; Image1.Canvas.Copyrect(Rect(0,0,Ima ge1.Width,Image1.Height), Canvas, Rect(0,0,Screen.Width,Screen.Height )); ReleaseDC(0,ScreenV); Canvas.Free; Label3.Caption:=IntToStr(StrToInt(L abel3.Caption)+StrToINt(i)); Image1.Picture.SaveToFile(IntTOStr( StrToInt(Edit1.Text)+StrToInt(Label 3.Caption))+Edit2.Text); end; procedure TForm1.N2Click(Sender: TObject); begin Timer1.Enabled:=true; end; procedure TForm1.N3Click(Sender: TObject); begin Timer1.Enabled:=false; end; procedure TForm1.N5Click(Sender: TObject); begin Form2.show; end; procedure TForm1.N4Click(Sender: TObject); begin Form1.close; end; end.[/SIZE][/SIZE] Последний раз редактировалось DatonHhod; 10.06.2010 в 20:36. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
а зачем код два раза? вообще если честно, в коде много глупостей. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 12.05.2010
Сообщений: 6
|
![]()
а как зделать чтоб и числа и буквы были? ну зачем 2 раза код и эти глупости сам незнаю... но учитель так мне накривил
![]() |
![]() |
![]() |
![]() |
#4 |
Регистрация: 12.05.2010
Сообщений: 6
|
![]()
так не кто и не подсказал
![]() ![]() |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
каждый раз при вызове сохранения файла скрина, задавайте ему имя, к примеру...
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.06.2010
Сообщений: 84
|
![]()
Image1.Picture.SaveToFile(Edit1.Tex t+Label3.Caption+Edit2.text);
Но вообще лучше перепиши процедуру BitBtn1Click Сначала объяви глобально bm: TBitMap; Jp: TJpegImage; fname:string; Потом кинь SavePictureDialog и правь процедуру на эту: begin i:='1'; ShowCursor(false); bm := TBitMap.Create; bm.Width := Screen.Width; bm.Height := Screen.Height; BitBlt(bm.Canvas.Handle, 0, 0, bm.Width, bm.Height, GetDC(0), 0, 0, SRCCOPY); Jp := TJpegImage.Create; Jp.Assign(bm); Jp.CompressionQuality :=100 ; Jp.Compress; ShowCursor(true); Label3.Caption:=IntToStr(StrToInt(L abel3.Caption)+StrToINt(i)); fname:=((Edit1.Text+Label3.Caption) ); SavePictureDialog1.FileName := FName; if SavePictureDialog1.Execute then begin FName := SavePictureDialog1.FileName; Jp.SaveToFile(FName); end; bm.Destroy; Jp.Destroy; end; Потом в параметрах SavePictureDialog фильтры укажи JPEG Image File (*.jpeg)|*.jpeg JPEG Image File (*.jpg)|*.jpg Portable Network Graphics (*.png)|*.png GIF Image (*.gif)|*.gif и DefaultExt - jpg Последний раз редактировалось stck; 14.06.2010 в 14:28. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Меняются наименования | xxxxx0111 | Microsoft Office Excel | 3 | 17.02.2010 22:36 |
столкнулся впервые с простым вопросом | sava28 | HTML и CSS | 0 | 25.11.2008 22:50 |
Столкнулся с проблемой. Нужна помощь | Whisper | Помощь студентам | 2 | 24.08.2007 13:16 |
Как просуммировать одинаковые наименования? | Алька | Microsoft Office Excel | 1 | 23.05.2007 22:02 |