1 Son düzenleyen, ugurlu2001 (01.04.2011 16:20:20)

Konu: Bir Windows 7 sorunu da benden ...

Aslında sorun Internet Explorer 9 ile ilgili.

IE8 ve öncesinde sorun yoktu.

Şimdi aşağıdaki kodu çalıştırınca hata alıyorum.

IE9 açmaması gereken IE formunu doğrudan açıyor. Önceden işimi kullanıcının görmeyeceği şekilde rahat rahat çözüyordum. Şimdi uğraş dur ...

Kod aşağıda: Pratik bir önerisi olan var mı?


Visual Fox Pro
? GetInternetTime()

 
Function GetInternetTime
    *!*        Author: Ugur YILMAZ
    Local ldReturnDate, lcHtml, lcUrl, lcLocalFile, loIE
    *!*    lcUrl = "http://free.timeanddate.com/clock/i2467ggw/n136/tluk/tt1/tw0" && London
    lcUrl = "http://free.timeanddate.com/clock/i2465v6w/n19/tluk/tt1/tw0/td2" && Ankara
    lcLocalFile = Forcepath("InternetTime.HTML",Sys(2023))
    If getFileFromURL(m.lcUrl,m.lcLocalFile) = 0
        loIE = Createobject("InternetExplorer.Application")
        loIE.Navigate(m.lcLocalFile)
 
    * Error In IE9 -> Why?
        Strtofile(loIE.Document.body.innertext, Forcepath("InternetTime.TXT",Sys(2023)))
 
        m.lcHtml = FileToStr(Forcepath("InternetTime.TXT",Sys(2023)))
    * Burada TXT dosyası yerine HTML oluşuyor
 
 
        m.ldReturnDate =  "{^";
                        +GetWordNum(m.lcHtml,3);
                        +"-";
                        +ICase(;
                            Upper(GetWordNum(m.lcHtml,2)) = "JANUARY","01", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "FEBRUARY","02", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "MARCH","03", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "APRIL","04", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "MAY","05", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "JUNE","06", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "JULY","07", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "AUGUST","08", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "SEPTEMBER","09", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "OCTOBER","10", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "NOVEMBER","11", ;
                            Upper(GetWordNum(m.lcHtml,2)) = "DECEMBER","12") ;
                        +"-";
                        +GetWordNum(m.lcHtml,1);
                        +"}"
        loIE.Stop
        Release loIE
        RETURN (m.ldReturnDate)
    Endif
Endfunc
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ü

2

Re: Bir Windows 7 sorunu da benden ...

Amacın sadece internet'den saat/tarih 'mi okumak?

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

3

Re: Bir Windows 7 sorunu da benden ...

Visual Fox Pro
url = "http://free.timeanddate.com/clock/i2465v6w/n19/tluk/tt1/tw0/td2" && Ankara

objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open("GET", url,.f.)
objHTTP.Send()
 
 
LOCAL ARRAY laParts[1]
ALINES( laParts, STREXTRACT(objHTTP.ResponseText, '<span id=t1>','</span>',1,1), 1, ' ')
FOR ix=1 TO 12
    IF UPPER(CMONTH(DATE(2000,m.ix,1))) == UPPER(laParts[2])
        ? DATE( VAL(laParts[3]), m.ix, VAL(laParts[1]) )
    endif
endfor

4

Re: Bir Windows 7 sorunu da benden ...

Antiparantez:


Visual Fox Pro
ALINES( laMonth, "January,February,March,April,May,June,July,August,September,October,November,December" )

? ASCAN( laMonth, GetWordNum(m.lcHtml,2), 1, -1, 1, 1+2+4+8)

5 Son düzenleyen, ugurlu2001 (03.04.2011 21:08:33)

Re: Bir Windows 7 sorunu da benden ...

Üstat, çok teşekkür ederim smile

"MSXML2.XMLHTTP" nesnesinin bu tür kullanımını hiç bilmiyordum. Araştırıp öğrenicek bir konu daha çıktı. Sayende smile

Bu arada;  IE9 dan 10 a  (yada her neyse) geçildiğinde bu kodda da çuvallamayız dimi?
********************

Mehmet abi, Evet, kodu sadece internetten Tarih/Saat okumak için kullanıyordum...

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: Bir Windows 7 sorunu da benden ...

Kimi durumlarda, Tarih ve Saat bilgisini kullanıcının inisiyatifine bırakmamak gerekiyor. Elde edilen Tarih ve Zaman bilgisinin doğruluğunu garantiye almak için http://free.timeanddate.com/clock/i2j16 … h1/ta1/tb1 linki Türkiye için gerekli datayı veriyor.

İstenirse; http://www.timeanddate.com/clocks/free.html linkinden istediğiniz ülke/saat dilimine göre URL yi kendinize göre düzenleyebilirsiniz.

Çetin Üstad 'ın düzenlediği kodu kendimce ufak bir revize ile aşağıdaki hale getirdim. İhtiyaç duyan arkadaşlar kullanabilir.

Visual Fox Pro
CLEAR 

LOCAL lcDateTime
m.lcDateTime = GetInternetDateTime()
 
? lcDateTime
? StrExtract(m.lcDateTime,"",",")
? StrExtract(m.lcDateTime," ")
 
FUNCTION GetInternetDateTime && Author: Cetin BASOZ
    url = "http://free.timeanddate.com/clock/i2j16cwv/n19/tltr28/fn6/fs16/fc9ff/tc000/bas2/bat1/bacfff/pa8/tt0/tw0/tm3/td2/th1/ta1/tb1"
    objHTTP = CreateObject("MSXML2.XMLHTTP")
    objHTTP.Open("GET", url,.f.)
    objHTTP.Send()
 
    RETURN STREXTRACT(objHTTP.ResponseText, '<span id=t1>','</span>')
ENDFUNC
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ü