Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Webden kullanıcı bilgilerini çekme
#1
Merhaba,


Web site üzerinden kullanıcı bilgilerini çeliyorum, kullanıcı adı ve tarih.

Örnek:
Osman 01.01.2024
Bekir 01.01.2024
Hülya 05.05.2020

Şöyle bir sorun yaşıyorum (Hülya 05.05.2020) giriş süresi dolmuş fakat hülya yine de giriş yapıyor. 
Yani Hülya'nın adını alıyor fakat ileri tarihli bir kullanıcının tarihini de alıyor.


Kullanıcı adı ve tarihi kontrolünü aynı anda nasıl sağlarım?


    try
      IDoc := coHTMLDocument.Create as IHTMLDocument2;
      IDoc.Write(IdHTTP.Get('http://www.xxxxxxx.com/users/'));
      IDoc.Close;
      iDiv := IDoc.Body.All.Tags('div');
      for I := 0 to iDiv.Length - 1 do
      begin
        iDivName := iDiv.Item(I);
        if SameText(iDivName.ClassName, 'divName') then // User
        begin
          UserWeb := iDivName.InnerText;
        end;
        if SameText(iDivName.ClassName, 'divDate') then // Date
        begin
          FinalDate := iDivName.InnerText;
        end;
        if SameText(UserWho, UserWeb) and (Date < StrToDate(FinalDate)) then
        begin
         
       LabelUserMessage.Text := 'BAŞARILI GİRİŞ!';
        end
        else
        begin
          LabelUserMessage.Text := 'Giriş izniniz yok!';
        end;


Webdeki div yapısı:

<div class="divTable blueTable">
<div class="divTableHeading">
<div class="divTableRow">
<div class="divTableHead">Name</div>
<div class="divTableHead">Date</div>
</div>
</div>
<div class="divTableBody">
<div class="divTableRow">
<div class="divName">Bekir</div>
<div class="divDate">01.01.2024</div>
</div>
<div class="divTableRow">
<div class="divName">Hülya</div>
<div class="divDate">05.05.2020</div>
</div>
</div>
</div>
Cevapla
#2
Test etme imkanım olmadı ama birde aşağıdaki şekilde deneyebilirsiniz.

      IDoc := coHTMLDocument.Create as IHTMLDocument2;
     IDoc.Write(IdHTTP.Get('http://www.xxxxxxx.com/users/'));
     IDoc.Close;
     iDiv := IDoc.Body.All.Tags('div');
     var isSuccess := False;
     for var I := 0 to iDiv.Length - 1 do
     begin
       iDivName := iDiv.Item(I);
       if
          SameText(iDivName.ClassName, 'divName') and
          SameText(iDivName.InnerText, UserWho)
       then // User
         for var i2 := I to iDiv.Length - 1 do
         begin
           iDivName := iDiv.Item(i2);
           if SameText(iDivName.ClassName, 'divDate') then // Date
           begin
             if Date < StrToDate(iDivName.InnerText) then
               isSuccess := True;
             Break;
           end;
         end;

       if isSuccess then Break;
     end;

    if isSuccess then
      LabelUserMessage.Text := 'BAŞARILI GİRİŞ!'
    else
      LabelUserMessage.Text := 'Giriş izniniz yok!';
Cevapla
#3
(25-01-2023, Saat: 03:55)delphi.developer Adlı Kullanıcıdan Alıntı: Test etme imkanım olmadı ama birde aşağıdaki şekilde deneyebilirsiniz.

      IDoc := coHTMLDocument.Create as IHTMLDocument2;
     IDoc.Write(IdHTTP.Get('http://www.xxxxxxx.com/users/'));
     IDoc.Close;
     iDiv := IDoc.Body.All.Tags('div');
     var isSuccess := False;
     for var I := 0 to iDiv.Length - 1 do
     begin
       iDivName := iDiv.Item(I);
       if
          SameText(iDivName.ClassName, 'divName') and
          SameText(iDivName.InnerText, UserWho)
       then // User
         for var i2 := I to iDiv.Length - 1 do
         begin
           iDivName := iDiv.Item(i2);
           if SameText(iDivName.ClassName, 'divDate') then // Date
           begin
             if Date < StrToDate(iDivName.InnerText) then
               isSuccess := True;
             Break;
           end;
         end;

       if isSuccess then Break;
     end;

    if isSuccess then
      LabelUserMessage.Text := 'BAŞARILI GİRİŞ!'
    else
      LabelUserMessage.Text := 'Giriş izniniz yok!';


Çok teşekkür ederim. + Puan
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  wsdl veri çekme hatası tuna 6 1.348 15-01-2025, Saat: 16:54
Son Yorum: hi_selamlar
  cmd Komut Satırı sonucunu çekme barissagir 6 1.068 25-09-2024, Saat: 08:39
Son Yorum: COMMANDX
  Kullanıcı Giriş Onay Anahtarı OZCANK 2 740 19-08-2024, Saat: 13:06
Son Yorum: OZCANK
  Donanım bilgilerini almak için geliştirilmiş güzel bir proje burakb44 2 933 02-04-2024, Saat: 16:06
Son Yorum: burakb44
  Delphi Sürekli Adı Değişen Excel Dosyasından Veri Çekme bünyamin68 2 1.373 05-10-2023, Saat: 12:50
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi