Darendeli TÜRKiYE COVID-19 Hasta Tablosu
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Covid-19 Tablosunu Takip Edenler için Yazdığım Küçük Bir Program
LİNK = Darendeli TÜRKiYE COVID-19 Hasta Tablosu
ŞİFRE = darendeli
[*]Version 1.1 Yenilikler
Geç Veri Yükleme Fixlendi
Her Yüklemede İnputları Yenileme Özelliği Eklendi...
En son darendeli tarafından 26 Kas 2020, 23:46 tarihinde düzenlendi, toplamda 5 kere düzenlendi.
- trasmus
- Megabyte2
- Mesajlar: 1195
- Kayıt: 14 May 2010, 14:50
- cinsiyet: Erkek
- velociraptor
- Yottabyte4
- Mesajlar: 46474
- Kayıt: 14 Mar 2006, 02:33
- cinsiyet: Erkek
- Teşekkür etti: 4602 kez
- Teşekkür edildi: 3916 kez
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
S.a Link Yenilendi..Deneyip Program hakkındaki Görüslerinizi Geri Dönüs Yaparsanız Sevinirim....
- velociraptor
- Yottabyte4
- Mesajlar: 46474
- Kayıt: 14 Mar 2006, 02:33
- cinsiyet: Erkek
- Teşekkür etti: 4602 kez
- Teşekkür edildi: 3916 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Verileri biraz yavaş alıyor ama çalışıyor , ilk resmi yeniledim, eline sağlık
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Teşekkürler.. yeni versiyonda eksiklikler giderilecektir..
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
@Darendeli
Ben win7 kullanıyorum ve bende malesef veri alınmadı. Kodlamada ie udf si kullanmışsın lakin bu her sistemde malesef bu ie komutları düzgün çalışmıyor. Ie udf si yerine sitenin kaynak kodlarını okuyup verileri almak daha avantajlıdır. Senin için ufak bir fonsiyon yazdım. Inceleyip bu şekilde programını geliştirirsen daha verimli çalışacaktır.
Program için teşekkürler. Kolay gelsin...
Ben win7 kullanıyorum ve bende malesef veri alınmadı. Kodlamada ie udf si kullanmışsın lakin bu her sistemde malesef bu ie komutları düzgün çalışmıyor. Ie udf si yerine sitenin kaynak kodlarını okuyup verileri almak daha avantajlıdır. Senin için ufak bir fonsiyon yazdım. Inceleyip bu şekilde programını geliştirirsen daha verimli çalışacaktır.
Program için teşekkürler. Kolay gelsin...
Kod: Tümünü seç
#include <Array.au3>
Local $SonDurum = _Covid19_Son_Durum()
If @error <> 0 Then
MsgBox(16, "", "Hata!")
Exit
EndIf
MsgBox(4096, "", $SonDurum)
Local $Array = StringSplit($SonDurum, @LF, 1)
_ArrayDisplay($Array)
Exit
Func _Covid19_Son_Durum()
Local $InetRead = StringStripWS(BinaryToString(InetRead("https://covid19.saglik.gov.tr", 1)), 8)
Local $Instr = StringInStr($InetRead, "varsondurumjson=[{", 0, -1)
If $Instr = 0 Then Return SetError(1, 0, 0)
$InetRead = StringTrimLeft($InetRead, $Instr + 17)
$Instr = StringInStr($InetRead, "}")
If $Instr = 0 Then Return SetError(2, 0, 0)
$InetRead = StringLeft($InetRead, $Instr - 1)
$InetRead = StringReplace($InetRead, '",', @LF)
$InetRead = StringReplace($InetRead, Chr(34), "")
Return $InetRead
EndFunc ;==>_Covid19_Son_Durum
- trasmus
- Megabyte2
- Mesajlar: 1195
- Kayıt: 14 May 2010, 14:50
- cinsiyet: Erkek
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Web üzerinden tek seferde tüm veriler çekilebilir. Sayfa kaynak kodunda gerekli veriler var. Php ve html ile ben de yapabilirim.
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
S.a Vermis oldugunuz kodu buraya kadar düzenledim bu verileri inputlara sırayla nasıl aktarmamız gerekli hepsini ayrı inputa
Kod: Tümünü seç
#include <Array.au3>
Local $SonDurum = _Covid19_Son_Durum()
If @error <> 0 Then
MsgBox(16, "", "Hata!")
Exit
EndIf
MsgBox(4096, "", $SonDurum)
Local $Array = StringSplit($SonDurum, @LF, 1)
Exit
Func _Covid19_Son_Durum()
Local $InetRead = StringStripWS(BinaryToString(InetRead("https://covid19.saglik.gov.tr/", 1)), 8)
Local $Instr = StringInStr($InetRead, "varsondurumjson=[{", 0, -1)
If $Instr = 0 Then Return SetError(1, 0, 0)
$InetRead = StringTrimLeft($InetRead, $Instr + 17)
$Instr = StringInStr($InetRead, ',"toplam_yogun_bakim":"","toplam_entube":"","hastalarda_zaturre_oran":"3,8","agir_hasta_sayisi":"3.610","yatak_doluluk_orani":"54,7","eriskin_yogun_bakim_doluluk_orani":"70,8","ventilator_doluluk_orani":"37,6","ortalama_filyasyon_suresi":"","ortalama_temasli_tespit_suresi":"11","filyasyon_orani":"99,6"')
If $Instr = 0 Then Return SetError(2, 0, 0)
$InetRead = StringLeft($InetRead, $Instr - 1)
$InetRead = StringRegExpReplace($InetRead ,"([^0-9.]+)", @LF)
$InetRead = StringReplace($InetRead, '",', @LF)
$InetRead = StringReplace($InetRead, Chr(34), "")
Return $InetRead
EndFunc ;==>_Covid19_Son_Durum
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Win7 Sorunu için Tekrar Link Yenilendi Win 7de Deneyebilirmisiniz..
- trasmus
- Megabyte2
- Mesajlar: 1195
- Kayıt: 14 May 2010, 14:50
- cinsiyet: Erkek
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Windows7'de önceki sürümü denemiştim, hiçbir sıkıtı yoktu.
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
@trasmus
Program arkaplanda gizli olarak internet exploreri çalıştırıp, internet explorer üzerinden veri alıyordu. Bazı sistemlerde bu yöntem malesef düzgün çalışmıyor. Yani bendeki win7de düzgün çalışmamıştı. Tekrar denemedim.. Başka win7 de düzgün çalışabilir. Tabi bazen düzgün çalışıp bazen çalışmayabilir.
@darendeli
Son verdiğin örnekte verilerin yerleri değişirse hata oluşacaktır. Array üzerinden bir döngüde arama yaparak inputlara yansıtabilirsin.
Form örneği aşağıda. Kolay gelsin...
Program arkaplanda gizli olarak internet exploreri çalıştırıp, internet explorer üzerinden veri alıyordu. Bazı sistemlerde bu yöntem malesef düzgün çalışmıyor. Yani bendeki win7de düzgün çalışmamıştı. Tekrar denemedim.. Başka win7 de düzgün çalışabilir. Tabi bazen düzgün çalışıp bazen çalışmayabilir.
@darendeli
Son verdiğin örnekte verilerin yerleri değişirse hata oluşacaktır. Array üzerinden bir döngüde arama yaparak inputlara yansıtabilirsin.
Form örneği aşağıda. Kolay gelsin...
Kod: Tümünü seç
;#include <Array.au3>
Opt("MustDeclareVars", 1)
Local $Form1 = GUICreate("Form1", 500, 290)
Local $Tarih = GUICtrlCreateLabel("", 15, 15, 100, 22)
GUICtrlCreateLabel("BUGUN", 190, 15, 125, 22, 1)
GUICtrlCreateLabel("TOPLAM", 330, 15, 125, 22, 1)
; -------
GUICtrlCreateLabel("", 15, 40, 470, 50, 8)
GUICtrlSetState(-1,128)
GUICtrlCreateLabel("TEST SAYISI", 24, 55, 160, 22, 512)
Local $input1 = GUICtrlCreateInput("", 190, 55, 125, 22)
Local $input2 = GUICtrlCreateInput("", 330, 55, 125, 22)
; -------
GUICtrlCreateLabel("", 15, 100, 470, 50, 8)
GUICtrlSetState(-1,128)
GUICtrlCreateLabel("HASTA SAYISI", 24, 115, 160, 22, 512)
Local $input3 = GUICtrlCreateInput("", 190, 115, 125, 22)
Local $input4 = GUICtrlCreateInput("", 330, 115, 125, 22)
; -------
GUICtrlCreateLabel("", 15, 160, 470, 50, 8)
GUICtrlSetState(-1,128)
GUICtrlCreateLabel("VEFAT SAYISI", 24, 175, 160, 22, 512)
Local $input5 = GUICtrlCreateInput("", 190, 175, 125, 22)
Local $input6 = GUICtrlCreateInput("", 330, 175, 125, 22)
; -------
GUICtrlCreateLabel("", 15, 220, 470, 50, 8)
GUICtrlSetState(-1,128)
GUICtrlCreateLabel("IYILESEN HASTA SAYISI", 24, 235, 160, 22, 512)
Local $input7 = GUICtrlCreateInput("", 190, 235, 125, 22)
Local $input8 = GUICtrlCreateInput("", 330, 235, 125, 22)
GUISetState(@SW_SHOW, $Form1)
_Update_Form()
While 1
Switch GUIGetMsg()
Case -3
Exit
EndSwitch
WEnd
Exit
Func _Update_Form()
Local $SonDurum = _Covid19_Son_Durum()
If @error <> 0 Then Return 0
;_ArrayDisplay($SonDurum)
For $I = 1 To $SonDurum[0][0]
;ConsoleWrite($SonDurum[$I][0] & @CRLF)
Switch $SonDurum[$I][0]
Case "tarih:"
GUICtrlSetData($Tarih, $SonDurum[$I][1])
Case "gunluk_test:"
GUICtrlSetData($input1, $SonDurum[$I][1])
Case "toplam_test:"
GUICtrlSetData($input2, $SonDurum[$I][1])
Case "gunluk_vaka:"
GUICtrlSetData($input3, $SonDurum[$I][1])
Case "toplam_vaka:"
GUICtrlSetData($input4, $SonDurum[$I][1])
Case "gunluk_vefat:"
GUICtrlSetData($input5, $SonDurum[$I][1])
Case "toplam_vefat:"
GUICtrlSetData($input6, $SonDurum[$I][1])
Case "gunluk_iyilesen:"
GUICtrlSetData($input7, $SonDurum[$I][1])
Case "toplam_iyilesen:"
GUICtrlSetData($input8, $SonDurum[$I][1])
EndSwitch
Next
EndFunc ;==>_Update_Form
Func _Covid19_Son_Durum()
Local $InetRead = StringStripWS(BinaryToString(InetRead("https://covid19.saglik.gov.tr", 1)), 8)
Local $Instr = StringInStr($InetRead, "varsondurumjson=[{", 0, -1)
If $Instr = 0 Then Return SetError(1, 0, 0)
$InetRead = StringTrimLeft($InetRead, $Instr + 17)
$Instr = StringInStr($InetRead, "}")
If $Instr = 0 Then Return SetError(2, 0, 0)
$InetRead = StringLeft($InetRead, $Instr - 1)
$InetRead = StringReplace($InetRead, '",', @LF)
$InetRead = StringReplace($InetRead, Chr(34), "")
;Array
Local $SplitStr = StringSplit($InetRead, @LF, 1)
Local $RetArr[$SplitStr[0] + 1][2] = [[$SplitStr[0]]]
For $I = 1 To $SplitStr[0]
$Instr = StringInStr($SplitStr[$I], ":")
If $Instr = 0 Then
$RetArr[$I][0] = $SplitStr[$I]
Else
$RetArr[$I][0] = StringLeft($SplitStr[$I], $Instr)
$RetArr[$I][1] = StringTrimLeft($SplitStr[$I], $Instr)
EndIf
Next
Return $RetArr
EndFunc ;==>_Covid19_Son_Durum
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
Teşekkürler eve geçince inceleyip son düzenlemeleri yaparım...
-
- Kilobyte1
- Mesajlar: 202
- Kayıt: 06 Haz 2016, 16:55
- Teşekkür etti: 1 kez
- Teşekkür edildi: 6 kez
Re: Darendeli TÜRKiYE COVID-19 Hasta Tablosu
@BlueLife Yardımlarından Dolayı Çok Teşekkürler Herkese Yardımcı Bir Program Olması Dileğiyle... Version 1.1 olarak Link Yenilenmistir...