demoloadstringsfromurl.lpr 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. program demoloadstringsfromurl;
  2. {$mode objfpc}
  3. uses
  4. browserconsole, Classes;
  5. Procedure DumpList(s : Tstrings);
  6. Var
  7. I : Integer;
  8. begin
  9. Writeln('----------');
  10. For I:=0 to S.Count-1 do
  11. Writeln('Line[',I,'] : ',S[I]);
  12. Writeln('----------');
  13. end;
  14. Var
  15. Lst,lst2,lst3 : TStrings;
  16. begin
  17. Writeln('Loading synchronously');
  18. Lst:=TStringList.Create;
  19. try
  20. Lst.LoadFromFile('bytes.txt');
  21. DumpList(Lst);
  22. finally
  23. Lst.Free;
  24. end;
  25. Writeln('Loading asynchronously');
  26. // We can't free the stringlist, because of the async nature
  27. Lst2:=TStringList.Create;
  28. Lst2.LoadFromURL('bytes.txt',True,procedure(Sender: tobject)
  29. begin
  30. DumpList(Lst2);
  31. end
  32. );
  33. Writeln('Loading non-existing file');
  34. // We can't free the stringlist, because of the async nature
  35. Lst3:=TStringList.Create;
  36. Lst3.LoadFromURL('bytesnonexist.txt',True,procedure(Sender: tobject)
  37. begin
  38. DumpList(Lst3);
  39. end
  40. ,
  41. procedure(Sender: tobject; Const aError : string)
  42. begin
  43. Writeln('Load error: ',aError);
  44. end
  45. );
  46. end.