1

Konu: internet explorer da enson açılan pencereden dosya yükleme

merhaba
w=creatobject("internetexplorer.application") ile aşağıdaki kodları çalıştıryorum fakat en son ekranda bir dosya yüklemem gerekiyor.  web sayfasında dosya adı herzaman farklı oluyor. yapmam gereken en son açılan document i foxprodan kullanmak. ve explorer dan dosyayı indirmek.
şimdiden tşk.



thisform.w.Navigate("http://www.kocdg.com.tr")
=INKEY(2)
thisform.w.Document.forms("logon").logon_cnt3_cnt2_Kullanici.value="xxxxx"
thisform.w.Document.forms("logon").logon_cnt3_cnt2_Password.value="xxxxx"
thisform.w.Document.forms("logon").logon___Kaydet.click() 
=INKEY(1)
thisform.w.Navigate("https://www.arcelikyetkilisatici.com.tr/absi/PageLauncher.jsp?Nesne=2134")
=INKEY(1)
thisform.w.Navigate("https://www.arcelikyetkilisatici.com.tr/absi/PageLauncher.jsp?Menu=yes&Nesne=2945")
=INKEY(1)
thisform.w.Document.forms("frm").Frm__BlgTp_Satis.checked=.t.   &&web sayfasının içeriği değişiyor
thisform.w.Document.forms("frm").Frm__SatisTarihi_Tarih1_gun.value="01" &&web sayfasının içeriği değişiyor
thisform.w.Document.forms("frm").CiktiSkl.value=ALLT(THISFORM.TIP.Value) &&web sayfasının içeriği değişiyor
thisform.w.Document.forms("FRM").Frm___Kaydet.click() &&web sayfası post ediliyor

Son düzenleyen, fmkaya (14.06.2010 16:53:52)

2

Re: internet explorer da enson açılan pencereden dosya yükleme

Merhaba fmkaya;

Sorunu biraz daha açabilirmisin?

Öncelikle

yapmam gereken en son açılan document i foxprodan kullanmak

demişsin.

Dosya nerede açılıyor?
"en son ekranda bir dosya yüklemem gerekiyor" derken ne demek istedin?

Eğer dosya adı her zaman tekrardan oluşuyorsa yada sürekli yenileniyorsa; dosya adının bulunduğu linki okutup içeriğini alabilirsin.

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

3

Re: internet explorer da enson açılan pencereden dosya yükleme

selam uğur,
internet explorerde bir form var bu formu post ettiğimde sunucu yeni pencerede sonucu excel olarak bir dosya veriyor. benim bu dosyayı indirmem lazım.

4

Re: internet explorer da enson açılan pencereden dosya yükleme

Aşağıdaki kod ile HTML içeriğini Ctrl + C yapmış gibi hafızaya alıyorsun;

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
*!* Public Code From Foxpro Forums

*!* I don'remember the author.
*!*    Copy Web Page Source from Internet Explorer
 
lcUrl = "http://www.outlandquestsoftware.com"
lcLocalFile = forcepath(sys(2015)+".tmp",SYS(2023))
IF getFileFromURL(m.lcURL,m.lcLocalFile) = 0
    _cliptext = FILETOSTR(m.lcLocalFile)
endif
ERASE (m.lcLocalFile)
 
Procedure getFileFromURL
Lparameters tcRemoteFile,tcLocalFile
Declare Integer URLDownloadToFile In urlmon.Dll;
  INTEGER pCaller, String szURL, String szFileName,;
  INTEGER dwReserved, Integer lpfnCB
RETURN URLDownloadToFile(0, m.tcRemoteFile, m.tcLocalFile, 0, 0)

Daha sonra : HTML içeriğinde EXCEL dosyası var mı kontrol etmen gerekiyor?

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
14
CLEAR 

* _ClipText = "Deneme qwe qwe qwe qwe isteexceldosyasi.xls ve devam ediyor"
 
IF Occurs(".XLS", Upper(_Cliptext)) > 0 && Dosya XLS olarak var. ismini bulalım.
    LOCAL lnXlsPos, lnFileNamePos, lcExcelDosyaAdi
    m.lnXlsPos =AT(".XLS", Upper(_Cliptext))
    m.lnFileNamePos = RAt(" ",Substr(_Cliptext,1,AT(".XLS", Upper(_Cliptext))))
    * Şimdi Excel dosyasının ismini alalım
    ?m.lnXlsPos
    ?m.lnFileNamePos
    m.lcExcelDosyaAdi = Substr(_ClipText,m.lnFileNamePos,m.lnXlsPos-m.lnFileNamePos + 4)
    ?m.lcExcelDosyaAdi
    * File Downloading Code
ENDIF

Son düzenleyen, ugurlu2001 (14.06.2010 17:41:15)

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

5

Re: internet explorer da enson açılan pencereden dosya yükleme

Aşağıdaki de dosyayı download edebilmen için :

Visual Fox Pro
1

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
*!*    Author : Stefan Wuebbe

*!*    http://www.foxite.com/archives/download-file-0000208166.htm
 
 
* untested example, assuming you have your URLs list in a local cursor or table alias:
CREATE CURSOR links (url C(200))
INSERT INTO links VALUES ('ftp://ftp.prolib.de/public//ReadMe_Runtime.txt') && and so on
 
SCAN
    WAIT "Downloading file " + Trim(url) + " ..." WINDOW NOWAIT NOCLEAR
    DownloadFile(url)
ENDSCAN
WAIT CLEAR
 
RETURN
 
PROCEDURE DownloadFile(tcURL)
    LOCAL llSuccess, lcErrorMessage
    llSuccess = .T.
    lcErrorMessage = ""
 
    LOCAL lcURL
    IF m.llSuccess
        lcURL = TRIM(m.tcURL)
        llSuccess = ( VARTYPE(m.lcURL) = 'C' AND !EMPTY(m.lcURL) )
        lcErrorMessage = "Invalid URL parameter: " + TRANSFORM(m.lcURL)
    ENDIF
 
    LOCAL loException as Exception
    IF m.llSuccess
        TRY
            DECLARE INTEGER URLDownloadToFile ;
                IN urlmon.dll ;
                INTEGER pCaller, ;
                STRING szURL, ;
                STRING szFileName,;
                INTEGER dwReserved, ;
                INTEGER lpfnCB
        CATCH TO loException
            llSuccess = .F.
            lcErrorMessage = m.loException.Message
        ENDTRY
    ENDIF
 
    LOCAL lcLocalFolder, lcLocalFile, lnResult
    IF m.llSuccess
        lcLocalFolder = GETENV("TEMP")    && your desired folder here
        lcLocalFile = ADDBS(m.lcLocalFolder) + EVL(JUSTFNAME(m.lcURL), SYS(2015))
        lnResult = URLDownloadToFile(0, m.lcURL, m.lcLocalFile, 0, 0)
        llSuccess = ( m.lnResult = 0 )
        lcErrorMessage = "URLDownloadToFile failed with error number " + TRANSFORM(m.lnResult)
    ENDIF
 
 
    ASSERT (m.llSuccess) MESSAGE (m.lcErrorMessage)
    RETURN m.llSuccess
ENDPROC

Kod parçalarını kendine göre düzenlemen gerekiyor.

Son düzenleyen, ugurlu2001 (14.06.2010 17:40:04)

Uğur
-------------------------------------------------------------------------------------------------------------
Hayat bir bisiklete binmek gibidir. Pedalı çevirmeye devam ettiğiniz sürece düşmezsiniz. Claude Peppeer
Kusuru söylenmeyen adam, ayıbını hüner sanır.  Türk Atasözü

6

Re: internet explorer da enson açılan pencereden dosya yükleme

tşk. uğur bu işimi gördü.