본문 바로가기

delphi481

현재 떠 있는 모든 IE 찾기 및 닫기 현재 떠 있는 모든 IE 찾기 및 닫기 모든 인터넷 익스플로러 핸들을 구해서 WM_CLOSE 메시지를 보낸다. function CloseAllInternetExplorer: Boolean; var WindowHandle: HWND; ClassName: array[0..260] of char; begin WindowHandle := GetWindow(GetDesktopWindow(), GW_CHILD); while WindowHandle > 0 do begin FillChar(ClassName, sizeof(ClassName), #0); GetClassName(WindowHandle, ClassName, sizeof(ClassName)); if SameText(ClassName, 'IEFrame') the.. 2021. 12. 7.
델파이에서 원하는 주소로 크롬실행 델파이에서 원하는 주소로 크롬실행 var URL: string; begin URL:= 'http://www.daum.co.kr/'; // ShellExecute(self.WindowHandle,'open', PChar(URL), nil, nil, SW_SHOW); //default browser ShellExecute(self.WindowHandle,'open','chrome.exe', PChar(URL), nil, SW_SHOW); 2021. 12. 6.
Delphi에서 Chrome Browser 사용하기 Delphi에서 Chrome Browser 사용하기 델파이 기본 웹브라우저 컴포넌트는 TWebBrowser인데. 이놈이 Internet Explorer를 맵핑해놓은거다. 기존에는 델파이로 응용프로그램을 구현할 때, 내부에 웹뷰가 필요하면 이 녀석을 사용했는데.. 아무래도 표준도 잘 안지키고, 버전별로 표준 구현의 차이가 심하여.. Chrome 브라우저를 웹뷰로 사용해보기로 함. 검색을 해보니. Delphi Chromium Embedded (DCEF) 라는 놈이 있는데, 이게 DCEF 1, DCEF 3 이렇게 나눠져있더라는... DCEF 1를 진행하다 개발이 중단된 거 같고, 그걸 포크해서 DCEF 3을 다시 개발한 거 같은데.. 잘은 모르겠고... 소스를 대략 보니 DCEF 3이 완성도가 더 있는 듯.... 2021. 12. 5.
Capture element click in Internet Explorer Capture element click in Internet Explorer I’m trying to write an automatic IE form filler for myself. I’m able to get the URL (from IE not TWebBrowser) and if it’s “managed” by my app fill in the fields and submit it. I’d like to ask the user if they want to add a non-managed URL to the managed list when the submit button is clicked when a password field is found on the page. It seems to me tha.. 2021. 11. 30.
Indy9 파일전송 예제 Indy9 파일전송 예제 Indy 9 버전으로 파일만 전송하는 간단한 루틴을 작성해보았습니다. 테스트된 예제입니다. 참고하시고, 즐거운 프로그래밍 하세요.. P.S : Indy10 으로 파일전송은 이 게시판에서 'Indy10' 으로 검색해보시면 찾으실 수 있습니다. unit uMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, StdCtrls, ComCtrls; type TForm1 = class(TForm) Button1: TButton; IdTCPClient1:.. 2021. 11. 24.
ActiveX Form기초부터 배포까지 ActiveX Form기초부터 배포 개발환경 : Windows XP pro, Delphi 6.0, IIS 5.2 - 새프로젝트를 시작하자. 델파이를 시작하고 메뉴->File->New->Other을 선택한다. New Items창에서 ActiveX텝으로 이동한다. Active Form을 선택하고 OK버튼을 클릭한다. - Active Form Wizard폼이 나타난다. New ActiveX Name : ActXRun을 입력하면 아래는 알아서 변경된다. OK버튼을 클릭한다. 경고메시지가 나오면 OK버튼을 클릭한다. - 이제부터가 시작이다. 일단 저장을 한다. 적당한 폴더를 선택(예제작성시는 c:\ActXRun폴더에 저장했다)하여 저장한다. - 컴포넌트 추가 TButton(예제작성시 이름은 기본값을 사용한다)을 .. 2021. 11. 23.
idhttp를 이용한 사이트 이미지 업로드 idhttp를 이용한 사이트 이미지 업로드 function IdHttpImgPost(URL:String;FormFieldName,FormFieldValue:array of STring; FormFieldCount : integer;FieldName,FileName,imgType:String): String; //user IdMultipartFormData; function GetHostNameFromURL(URL: String): String; var PosSlash: Integer; begin Result:=Trim(URL); Result:=MidStr(Result, Pos('://', Result)+3, Length(Result)); PosSlash:=Pos('/', Result); if PosSla.. 2021. 11. 22.
indy idhttp 이용해서 파일 업로드 indy idhttp 이용해서 파일 업로드 IdMultipartFormData 을 uses절에 추가할것 ============================================== uses IdMultipartFormData; procedure TForm1.Button1Click(Sender: TObject); var UploadFile: TIdMultiPartFormDataStream; Outputs: TStringStream; begin if OpenDialog1.Execute then begin UploadFile := TIdMultiPartFormDataStream.Create; Outputs := TStringStream.Create(''); try IdHTTP.Request.Conten.. 2021. 11. 19.
웹페이지 FillInForm 웹페이지 FillInForm procedure FillInForm(WB: ShDocVW.TWebbrowser; IDoc1: IHTMLDocument2; Document: Variant; OptionSelectedName: string); var IEFields: array[1..2] of string; var IEFieldsCounter: Integer; i,j,m: Integer; ovElements: OleVariant; begin IEFields[1] := 'file_list'; if Pos('frmBoard', Document.Title) 0 then while WB.ReadyState READYSTATE_COMPLETE do Application.ProcessMessages; for m := 0.. 2021. 11. 18.
웹브라저를 통한 사이트HTML 옵션문 추가방법 웹브라저를 통한 사이트HTML 옵션문 추가방법 var Option: OleVariant; begin tOption := WebBrowser.OleObject.document.createElement('option'); tOption.value:='DD'; tOption.text:='text'; doc.file_list.add(tOption); end; html 문법과 동일 2021. 11. 17.
Delphi WebBrowser Delphi WebBrowser 이 글은 제가 IE스파이를 만들면서 MSDN을 뒤져 C소스를 델파이로 바꾸고, 여기저기 기웃거리며 하나씩 주워 모은 자료입니다. 이걸 참고 하셔서 WebBrowser 컨트롤을 쓰는데 조금이라도 도움이 되길 바랍니다. 글을 메모장에서 쓰다보니 보기좋게 꾸지미 못하는점을 쪼금 이해해 주세요. 1. 기본적인 사항 모든 웹브라우저 컴퍼넌트는 IWebBrowser2 라는 인터페이스를 사용합니다. 델파이로만들던 VC로 만들던 VB로 만들던지 암튼간에 무조건 저 인터페이스를 사용합니다. 델파이의 TWebBrowser라는 컴퍼넌트 역시 MS의 웹브라우저 컴포넌트를 포장해서 쓰는관계로 IWebBrowser2 인터페이스를 가지고 있습니다. 바로 OleObject 퍼로퍼티가 그 놈입니다. I.. 2021. 11. 16.
네트워크(인터넷) 연결 유무 (물리적) 네트워크(인터넷) 연결 유무 (물리적) 네트워크의 연결 유무 체크하는 함수 입니다. ​ 좀 더 자세한 내용은 MSDN등을 참조하시면 나옵니다. Windows Me 버전 이상, Explorer 5.0 이상이 있어야 한다는 군요... 또한 아시겠지만 sensapi.dll 도... const NETWORK_ALIVE_LAN = $1; NETWORK_ALIVE_WAN = $2; NETWORK_ALIVE_AOL = $4; function IsNetworkAlive(var lpdwFlags: DWORD): HRESULT; stdcall; external 'SENSAPI.DLL'; . . . . var dRet : DWORD; begin if IsNetworkAlive(dRet) = 0 then ShowMessage.. 2021. 11. 15.
IdHTTP 이용하여 파일 다운로드 IdHTTP 이용하여 파일 다운로드 procedure 이미지파일_저장(웹경로, 로컬경로: String); var IdHTTP1: TIdHTTP; mStream: TMemoryStream; begin mStream:=TMemoryStream.Create; IdHTTP1:=TIdHTTP.Create; try // 1. 스트림으로 받아 IdHTTP1.Get(웹경로, mStream); // 2. 로컬디스크에 저장 mStream.SaveToFile(로컬경로); finally FreeAndNil(IdHTTP1); FreeAndNil(mStream); end; end; 2021. 11. 12.
델파이 DSPack MP4 델파이 DSPack MP4 delphi dspack mp4 델파이 컴포넌트중 영상을 재생하고 컨트롤할수있는 컴포넌트 DSPack 이라는놈이 있다~! 허나 데모판을 보면 모두 AVI나 모 처음듣는 확장자를 볼수도있지만 모두 영상 관련 확장자이다!!! 간단하게 설명하겠다~! Filtergraph와 videowindow를 폼에 놓고 filtergraph를 video window에 연결하고 renderfile을 호출했다... FFDShow가 이미 설치되어 있고 작동하지 않을 때 자동으로 ffdshow를 선택하도록 필터 그래프를 설정하는 방법을 알려주실 수 있습니까 ? 그래프 빌더는 RenderFile메소드에 전달하는 파일을 렌더링하기 위한 적절한 필터를 선택해야 합니다 . 그것이 내가 언급한 자동적인 방법입니다.. 2021. 11. 11.
델파이 XE10.2에 SAPI 컴포넌트 등록 방법 델파이 XE10.2에 SAPI 컴포넌트 등록 방법 1. 델파이 메뉴에서 "Component -> Import Component" 클릭. ​ 2. "Import a Type Libray" 선택 후 [Next] 클릭. 3. "Microsoft Speech Object Library" 를 선택하고, 버전과 GUID를 확인한다. [Next] 클릭. 4. "Palette Page"에서 "ActiveX"를 선택하고 [Next] 클릭. 5. "Install to New Package"를 선택 후 [Next] 클릭. 6. 우측의 "…"을 클릭. 7. dpk 파일이 저장될 폴더를 선택하고 "파일 이름"란에 Package name 를 입력한다. [저장] 클릭. 8. "Description" 명을 입력하고 [Finish] .. 2021. 11. 8.
델파이 TChart 마커 이동하기 델파이 TChart 마커 이동하기 procedure TFrm_Mng_014.Chart_PriceAfterDraw(Sender: TObject); function ChartSeriesValueIndexByXValue(ASeries: TChartSeries; AXValue: Double): Integer; var i: Integer; LastValue: Double; dMinDiff, dMaxDiff: Double; begin Result := -1; try if ASeries.XValues.Count > 0 then begin LastValue := ASeries.XValue[ASeries.XValues.Count - 1]; if AXValue > LastValue then begin Result := A.. 2021. 11. 4.
[Controls] EDIT에 숫자만 입력받기 [Controls] EDIT에 숫자만 입력받기 TEdit를 비롯하여 EDIT 컨트롤에 숫자만 입력받도록 하는 방법은? 여러가지가 있겠지만 간단히 GWL_STYLE을 변경해주므로 가능합니다. 가끔 필요한데 생각이 나지 않아서 찾아야 하는데.. 찾는 수고를 덜기 위해서 여기에 .... @C++Builder에서 void __fastcall TDLG_MANAGE::FormCreate(TObject *Sender) { SetWindowLong(Edit1->Handle,GWL_STYLE,GetWindowLong(Edit1->Handle,GWL_STYLE)|ES_NUMBER); } @ Delphi 에서 procedure TForm1.FormCreate(Sender: TObject); begin SetWindowLon.. 2021. 11. 2.
TXMLDocument를 이용한 XML로딩방법 TXMLDocument를 이용한 XML로딩방법 procedure TForm1.Button1Click(Sender: TObject); Var XMLDoc : TXMLDocument; ChildNode : IXMLNode; I, J , N : Integer; begin XMLDoc := TXMLDocument.Create(Application); XMLDoc.LoadFromFile('C:\Test.Xml'); XMLDoc.Active := True; if XMLDoc.ChildNodes.First = nil then Begin Exit; End; For I := 0 To XMLDoc.DocumentElement.ChildNodes.count - 1 Do Begin ChildNode := XMLDoc.Docu.. 2021. 11. 1.
TList 활용하기 TList활용하기 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMyData=record SAW_CODE:String; FName:String; end; MyData=^TMyData; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TC.. 2021. 10. 29.
TEdit 다음 포커스 이동하기 TEdit 다음 포커스 이동하기 if key = #13 then SelectNext(Activecontrol, True, True); 2021. 10. 28.