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
|
void __fastcall TfMeteo::bButton1Click(TObject *Sender)
{
HINTERNET hNet, hUrl;
wchar_t szTemp[1024], szMetar[1024];
wchar_t* szCode = L"LFLL";
DWORD dwDownloaded;
wcsncpy(szCode, eCode->Text.w_str(), 4 );
swprintf(szTemp,
L"http://weather.noaa.gov/pub/data/observations/metar/stations/%s.TXT", szCode);
hNet = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if(hNet)
{
AnsiString asTemp = AnsiString(szTemp);
hUrl = InternetOpenUrl(hNet,asTemp.c_str(), NULL, 0, 0,0);
if(hUrl)
{
if(InternetReadFile(hUrl, (LPVOID)szMetar, 1024, &dwDownloaded))
{
if(dwDownloaded)
{
szMetar[dwDownloaded] = 0;
AnsiString asLigne = eVille->Text;
asLigne +="-" + eCode->Text;
Memo1->Clear();
Memo1->Lines->Add(asLigne);
asMetar = AnsiString(szMetar);
Timer1->Enabled = false;
}
while (dtConnecter < Now())
dtConnecter +=double(iIntervalle2)* minute;
}
InternetCloseHandle(hUrl);
DecodeAsMetar();
if(bAcces) DecodeMetar();
Caption = "Météo";
} |
Partager