Page 5 of 8 FirstFirst ... 3 4 5 6 7 ... LastLast
Results 61 to 75 of 108

Thread: Login to webform (how to)

  1. #61
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Ja klopt, de site is op het moment traag met reageren en ik loop daar nu dus idd tegen aan.
    zal eens kijken ik kende die functie nog niet.

    Ik moet ook nog iets bedenken zodat de wav file niet elke keer gaat, maar enkelt 1 keer en daarna niet meer tot der weer nieuwe berichten zijn
    ik heb timer net op 360000 gezet om wat meer rust te krijgen maar als ik niet achter de pc zit werkt het prima :-)

    ik zal der zo dus nog even mee aan de gang gaan.

    Ik heb eerder een programma gemaakt (zonder http stuff) die een bingo molen na doet met woorden ipv getallen, en leest ze ook hardop voor (wav files die ik gegenereert heb via een website en opgenomen met een record program)

    daar was ik zeer tevreden over. Jammer dat hier niet een soort prikbord is voor eigen gemaakte programmas met broncode etc.

  2. #62
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Quote Originally Posted by Richard63 View Post
    Jammer dat hier niet een soort prikbord is voor eigen gemaakte programmas met broncode etc.
    Ik denk dat jouw code hier meer dan welkom is.
    TMemoryLeak.Create(Nil);

  3. #63
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Goedendag.
    Ik heb nu enkele dagen het programma uitgeprobeerd en het werkt goed op het moment, behalve 1 ding nog...
    Als ik na een melding van het programma de pagina met berichten open (in chrome) en daar de berichten lees (en de berichten teller dus op 0 staat)
    Geeft het programma de eerstvolgende keer dat het de internet pagina refreshed (5keer achterelkaar met wachtlus op pagina geladen) nog steeds aan dat er zoveel berichten zijn en geeft dan ook nog het geluid dat hij moet afspelen. de eerstvolgende keer vaak niet meer. Tot er weer nieuwe berichten zijn.
    Ik dacht dit op te lossen door de pagina dus meerdere keren te refreshen, maar tit werkt tot op heden niet goed.
    hier het stukje code.
    Delphi Code:
    1. procedure TForm1.Timer1Timer(Sender: TObject);
    2. begin
    3.      WebBrowser1.Refresh;
    4.      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    5.      // doe niets tot de pagina geladen is, ga daarna pas verder
    6.      end;
    7.      WebBrowser1.Refresh;
    8.      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    9.      // doe niets tot de pagina geladen is, ga daarna pas verder
    10.      end;
    11.      WebBrowser1.Refresh;
    12.      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    13.      // doe niets tot de pagina geladen is, ga daarna pas verder
    14.      end;
    15.      WebBrowser1.Refresh;
    16.      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    17.      // doe niets tot de pagina geladen is, ga daarna pas verder
    18.      end;
    19.      WebBrowser1.Refresh;
    20.      while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do begin
    21.      // doe niets tot de pagina geladen is, ga daarna pas verder
    22.      end;
    23.  
    24.      // idee, doorloop de pagina 5 keer voor pas verder gekeken word of er berichten zijn
    25.      // zelfs dit is nog niet voldoende om er voor te zotgen dat de laatste stand bij gewerkt wordt
    26.  
    27.      Button1.Click;
    28.      Timer1.Interval := 360000;              // verhoog TTimer1 naar 6 minuten
    29. end;

    die laatste regel is omdat ik de timer intern zet op 10 seconden en later op 6 minuten.
    Doe ik dit verkeerd of niet ?
    in een brouwser werkt het verversen van een pagina 1 of 2 keer wel om de teller bij te werken.
    .

  4. #64
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    Ik denk dat je de cache van IE eerst zal moeten clearen of een forced refresh moet doen (CTRL+F5).

    Vraag me niet hoe je dit doet met een TWebBrowser; jij wilde het op deze manier doen.
    TMemoryLeak.Create(Nil);

  5. #65
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Whahah ik kan nog steeds een combi doen toch met indy10 er naast ?
    ik zal eens zoeken op een forced refresh

  6. #66
    refresh is een volledige refresh van de server waarbij explicit gevraagd wordt om geen ge-cache data terug te sturen.

    http://docwiki.embarcadero.com/Libra...rowser.Refresh

    je while loop zou ik verwijderen aangezien je daarmee het programma laat hangen. 5 keer opvragen heeft geen enkele zin. kijk in de wireshark data wat er daadwerkelijk in je pagina staat die terug komt op de eerste refresh.

  7. #67
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Breakthru!
    Vond met wireshark en een filter op de servers ip adres de volgende regel
    /ajax/get_pm_messages_num.php
    die komt terug met het getal en een afbeelding.
    de bron is simpel:

    <a id="messages_link" title="2 messages" style="text-decoration:none;" href="http://xh@mster.com/messages-1">2<img width="10px" height="10px" src="http://eu-st.xh@mster.com/images/messages.png" border="0" /></a

    dit is een stuk eenvoudiger op te vragen dan de hele webpagina, dus ben bezig mijn program hier voor aan te passen.

    als dat Met twebbrowser werk ga ik het ook nog eens proberen met enkelt Indy10.

  8. #68
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Ik wil graag gaan bij houden of er bij het verversen van de pagina nieuwe berichten zijn.
    stel het huidige aantal is 2 berichten, dan na een 6 minuten wordt er weer gekeken of er berichten zijn.
    dit aantal moet dan hoger zijn als het laatste gelezen aantal.

    Waar kan ik dat het beste opslaan?
    cookie
    in een ini file
    of ergens anders ?

    Zodat het niet uitmaakt of het programma tussentijds is onderbroken.

    elke suggestie is welkom.

  9. #69
    of reg of ini of tekst file. Doe wat je leuk vindt.

    Overigens gaat het niet werken omdat je twee onafhankelijke platformen gebruikt. Als je op moment A 2 berichten hebt in je software en dan op A+1 in de browser ze gaat lezen waardoor ze op 0 komt te staan dan zal je op A+2 in je eigen software weer 2 kunnen lezen en vervolgens bepalen dat je geen nieuwe berichten hebt. Dat is dan niet correct.

  10. #70
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    Ja daar heb je volledig gelijk in lijkt mij.

    mag ik nu even een domme vraag stellen waar ik nog steeds niet achter kom ?

    stel ik kopieer en plak een FUNCTIE en die roep ik vervolgens aan zoals vermeld bv BrowseURL('http:nldelphi.com') ;
    dan krijg ik vervolgens een Undeclared identifier: 'BrowseURL'

    ik denk dat er in het lijstje Type nog een declaratie moet staan maar weet niet hoe deze te formuleren, al dieverse dingen geprobeerd maar loop telkens vast daar.

    (dat is ook de reden dat ik een procedure vaak onder een button.click stop.)

  11. #71
    In je form of in public of (iets netter) in private je functie definitie opnemen dus in jouw voorbeeld zoiets als

    procedure browserurl(var : string);

    en dan ergens in implementation

    procedure tform.browserurl(var:string);
    begin
    end
    ---- als het echter een niet form gebonden functie wordt (dus zonder die tform1.) ervoor dan uiteraard niet opnemen in je form type definitie maar zover mogelijk bovenaan in implementation. Of anders via forward daar wel definiëren en alsnog later de implementation lager volledig plaatsen.

  12. #72
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    het gaat om deze functie
    Delphi Code:
    1. function BrowseURL(const URL: string) : boolean;
    2. var
    3.    Browser: string;
    4. begin
    5.    Result := True;
    6.    Browser := '';
    7.    with TRegistry.Create do
    8.    try
    9.      RootKey := HKEY_CLASSES_ROOT;
    10. Access := KEY_QUERY_VALUE;
    11.      if OpenKey('\htmlfile\shell\open\command', False) then
    12.        Browser := ReadString('') ;
    13.      CloseKey;
    14.    finally
    15.      Free;
    16.    end;
    17.    if Browser = '' then
    18.    begin
    19.      Result := False;
    20.      Exit;
    21.    end;
    22.    Browser := Copy(Browser, Pos('"', Browser) + 1, Length(Browser)) ;
    23.    Browser := Copy(Browser, 1, Pos('"', Browser) - 1) ;
    24.    ShellExecute(0, 'open', PChar(Browser), PChar(URL), nil, SW_SHOW) ;
    25. end;

  13. #73
    dus een niet form functie dus of opnemen in een andere unit zodat overige units deze functie kunnen (her) gebruiken of zo hoog mogelijk in je unit zetten waar je hem gebruikt dus net onder implementation
    Last edited by Miep; 07-Feb-14 at 18:14.

  14. #74
    Member Richard63's Avatar
    Join Date
    Jan 2014
    Location
    Heerenveen
    Posts
    75
    maar wat zet ik daar neer ik heb al verschillende dingen geprobeerd die me logish leken, ook al gegoogled op functies ed
    maar tot nu toe nog steeds zonder resultaat.

  15. #75
    Quote Originally Posted by Richard63 View Post
    maar wat zet ik daar neer ik heb al verschillende dingen geprobeerd die me logish leken, ook al gegoogled op functies ed
    maar tot nu toe nog steeds zonder resultaat.
    op welke regel roep je de browserurl procedure aan en op welke regel staat de procedure header?

    het moet er dus zo uitzien
    Code:
    implementation
    
    {$R *.dfm}
    
    
    function BrowseURL(const URL: string) : boolean;
    var
    ...
    ...
    end;
    
    procedure TfrmMain.btnClick(Sender: TObject);
    var allesOk : Boolean;
    begin
       allesOk := browserurl('bla bla bla')
    end;

Page 5 of 8 FirstFirst ... 3 4 5 6 7 ... LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •