Это подключается когда на форму кидаешь image1 Code: Image2.Canvas.Draw(x, y, Image1.Picture.Graphic); Не проходит, даже с bmp
дык, ты же спрашивал вроде как без фомы сделать ЗЫ стукни в аську вечерком (в профиле), помогу разобратся)
как закрыть прогу, во время выполнения цикла?: Code: memo1.Clear; i:=-1; for m:= 0 to 1000000000 do begin application.ProcessMessages; I:= I+1; memo1.Lines.Add(IntToStr(i)); end;
Если нужно ДЖПГ то попробуй это: Как перевести BMP в JPEG и обратно Code: uses JPEG; //BMP -> JPEG JpgImage:=TJPEGImage.Create; JpgImage.Assign(BmpImage); //JPEG -> BMP BmpImage:=TBitmap.Create; BmpImage.Assign(JpgImage); Где BmpImage и JpgImage - твои файлы. А для вот пример накладывания текста на картинку. Но при таком подходе фон текста не прозрачный. Может кто-то предложит вариант и по-лучше, но пока так: Code: Image1.Picture.Bitmap.Canvas.TextOut(0, 0, 'bla-bla'); ================================================================================ Application.Terminate; и что это у тебя за корявый цикл? Вот так будет лучше: Code: memo1.Clear; application.ProcessMessages; while true do begin inc(i); memo1.Lines.Add(IntToStr(i)); end;
Форму то он закроет а вот программа будет висеть в процессах, так что тут только возможно убийство процесса (о этом гуглите, много примером существует на эту тему)(по другому не знаю как сделать)
Code: function ReadFile2String(filename:string):string; var s:TStringList; begin s:=TStringList.Create; s.LoadFromFile(filename); result:=s.Text; s.Free; пример использования: Code: var s:string; begin s:=ReadFile2String('c:\file.txt');
ещё один забаненный Гуглом Code: bool KillProcByPid(DWORD pid) { DWORD ExitCode; HANDLE hp; bool ret = true; if(pid) { hp = OpenProcess(PROCESS_ALL_ACCESS, true, pid); if (hp) { GetExitCodeProcess(hp, &ExitCode); ret = TerminateProcess(hp, ExitCode); } else { return false; } } else { return false; } CloseHandle(hp); return ret; } не тестил но в принципе работать должно
небольшая поправка. PROCESS_ALL_ACCESS лучше не делать. Лучше ставить флаг что ты открываеш процес для убийства, а не с полными правами. Потому как бывают случае что нельзя процесс открыть с полными правами. Да и тут это не нужно
Проблема с вводом и выводом с помощью StringGrid. Вот код Code: var i,j : integer; mas : array[1..15] of integer; sort : array[1..15] of integer; begin j:=1; for i:=0 to 15 do begin mas[i]:=StrToInt(StringGrid1.Cells[i,0]); end; for i:=0 to 15 do begin if (mas[i] < 0) then begin sort[j]:=mas[i]; j:=j+1; end; end; for i:=0 to 15 do begin if (mas[i] = 0) then begin sort[j]:=mas[i]; j:=j+1; end; end; for i:=0 to 15 do begin if (mas[i] > 0) then begin sort[j]:=mas[i]; j:=j+1; end; end; for i:=0 to 15 do begin StringGrid1.Cells[i,0]:=IntToStr(sort[i]); end; А вот ошибка Подскажите пожалуйста, как Int вводить и выводить в StingGrid.
ну онже пишет что ты пытался пустую стркоу конвертировать в число. т.е. у тебя не все элементы sort являются числами. Так что проверяй его содержимое
Вы конечно ОЧЕНЬ любезны уважаемый, но я просил помощи на Delphi, а не на Си. Если кто-то может помогите пожалуйста переделать данный код на Delphi-йский. Заранее благодарен.
Code: procedure TForm1.KillProcess(PID: Cardinal); var exitcode:UINT; x:THandle; begin x:=Openprocess(PROCESS_TERMINATE,false,PID); if x <> 0 then begin try TerminateProcess(x, 0); finally CloseHandle(x); end; end; end;
Всем доброго времени суток! Вопрос: Имеется два текстовых поля Memo1,Memo2 и кнопка. Так вот по нажатии на кнопку необходимо строчки из Memo1 переместить в Memo2 в рандомном порядке. Заранее спасибо
Code: procedure TForm1.Button1Click(Sender: TObject); var I:integer; var m:integer; begin for m:= 0 to memo1.Lines.Count-1 do begin I:= random(memo1.Lines.Count); memo2.Lines.Add(memo1.Lines.Strings[i]); memo1.Lines.Delete(i); end; end; сорри если ошибся, я недавно в delphi