Avatar billede game_tracker Nybegynder
05. februar 2003 - 16:38 Der er 23 kommentarer og
1 løsning

Bestemt linie i source

Jeg skal bruge noget så jeg kan skrive en url i en edit1 hvor efter man trykker på en button1 hvorder så vil stå noget i edit2 og kosen skal: når man indtaster en url skal programmet gå ind og se source (ikke for brugeren) hvor den skan finde en linie som fx hedder <INPUT TYPE="hidden" NAME="noget" VALUE="10"> (10 kan også være 1000 osv) og source er ikke ligelange men den skal selv finde det
Avatar billede _darkstar_ Nybegynder
05. februar 2003 - 21:14 #1
I Delphi?
Avatar billede game_tracker Nybegynder
05. februar 2003 - 21:48 #2
ja
Avatar billede _darkstar_ Nybegynder
05. februar 2003 - 23:02 #3
Hvor kommer HTML-tingene fra?
Avatar billede game_tracker Nybegynder
06. februar 2003 - 22:26 #4
?
Avatar billede _darkstar_ Nybegynder
06. februar 2003 - 23:04 #5
Dette her er HTML.

<INPUT TYPE="hidden" NAME="noget" VALUE="10">

Du skrev det i dit spørgsmål. Hvor kommer det fra?
Avatar billede game_tracker Nybegynder
08. februar 2003 - 01:13 #6
var et fx
Avatar billede _darkstar_ Nybegynder
08. februar 2003 - 09:31 #7
Beklager. Jeg forstår simpelt hen ikke dit spørgsmål.
Avatar billede game_tracker Nybegynder
08. februar 2003 - 14:40 #8
jeg ved ikke hvordan jeg skal foreklare det ellers
Avatar billede _darkstar_ Nybegynder
08. februar 2003 - 15:47 #9
Hvad betyder "hvorder så vil stå noget i edit2 og kosen skal" og hvad betyder "og source er ikke ligelange men den skal selv finde det".
Avatar billede game_tracker Nybegynder
08. februar 2003 - 16:03 #10
hvis jeg skriver en url i edit1 så skal dne fx vise hele source i en memo1 og så skal den søge efter en linie så hvis der er fx

<html>
test
<INPUT TYPE="hidden" NAME="noget" VALUE="10">
</html>

og så er der en

<html>
test
test
test
<INPUT TYPE="hidden" NAME="noget" VALUE="10">
</html>

så skal den finde linien <INPUT TYPE="hidden" NAME="noget" VALUE="10"> og efter den der hedder value i den linie (mellem "") og det kan være fra 0-9999 så den kna hedde fx
Avatar billede game_tracker Nybegynder
08. februar 2003 - 16:04 #11
<INPUT TYPE="hidden" NAME="noget" VALUE="150"> hvor den skriver 150 i edit2
Avatar billede _darkstar_ Nybegynder
08. februar 2003 - 16:46 #12
Okay. Så du leder efter nogle komponenter som kan hente et dokument via HTTP?
Avatar billede game_tracker Nybegynder
08. februar 2003 - 21:04 #13
nej hvis der er en der gidder at lave det og sende source til mig
Avatar billede geek Nybegynder
09. februar 2003 - 05:41 #14
Følgende kode kan bruges til at downloade en fil med:
"WinInet" skal tilføjes i "uses"

function GetInetFile(const fileURL, FileName: String): Boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
    Buffer: array[1..BufferSize] of Byte;
    BufferLen: DWORD;
    f: File;
    sAppName: string;
    lpFindFileData: TWin32FindData;
begin
  Result:=False;
  sAppName := 'Jans OpenGL Texture loader';
  hSession := InternetOpen(
                PChar(sAppName),                // agent. (can be "Microsoft Internet Explorer")
                INTERNET_OPEN_TYPE_PRECONFIG,  // access
                nil,                            // proxy server
                nil,                            // defauts
                0);                            // synchronous

  try
    hURL := InternetOpenURL(
              hSession,          // Handle to current session
              PChar(fileURL),    // URL to read
              nil,              // HTTP headers to send to server
              0,                // Header length
              0, 0);            // flags  (might want to add some like INTERNET_FLAG_RELOAD with forces a reload from server and not from cache)
    if hURL <> nil then
    begin
      try
        AssignFile(F, FileName);
        Rewrite(F,1);
        repeat
          InternetReadFile(
            hURL,                  // File URL
            @Buffer,              // Buffer that receives data
            SizeOf(Buffer),        // bytes to read
            BufferLen);            // bytes read
          BlockWrite(F, Buffer, BufferLen)
        until BufferLen = 0;
        CloseFile(F);
        if Buffer[1] = $3D then    // basic check to see if its HTML returned
          Result:=FALSE            // if its the start of a tag, then error.
        else
          Result:=True;
      finally
        InternetCloseHandle(hURL)  // close connection to file
      end
    end;
  finally
    InternetCloseHandle(hSession) // close connection to internet
  end
end;

function CreateRecID(P : Pointer) : LongInt; stdcall;
begin
  if GetInetFile(FileURL,LocalFileName) = True then
  else
  begin
    MessageBox(0, 'Unable to locate file', 'Error', MB_OK or MB_ICONERROR);
  end;
end;

procedure GetFileFromInternet(URL, LocalFName : String);
var DownloadThread : THandle;
    ThreadID : DWord;
begin
  FileURL :=URL;
  LocalFileName := LocalFName;
  DownloadThread := CreateThread(nil, 0, @CreateRecID, nil, 0, ThreadID);
  if (DownloadThread = 0) then
    MessageBox(0, 'Unable to create a download thread', 'Error', MB_OK or MB_ICONERROR);
end;



for så at kalde den skal du bare skrive:

GetFileFromInternet('http://www.but.auc.dk/~jame0233/index.html', 'Tizzz.html');

Så vil du få indholdet af adressen gemt i en fil ved navn Tizzz.html.
Så burde det ikke være så svært at finde det du leder efter...
Bare load filen (eller ret på funktionen) ind i en string og brug funktionen  pos() til resten.

Geek
Avatar billede geek Nybegynder
09. februar 2003 - 05:42 #15
Må hellere lige siges at funktionerne er fra Sulacos side:
http://www.sulaco.co.za/
Avatar billede game_tracker Nybegynder
10. februar 2003 - 15:44 #16
hmmm med det mente jeg om en der kunne lave det (ikke laves til en exe) og så sende source til mig (voodoofx@ofir.dk) så jeg bare kunne åbne det od lave vider på det (er ikke god til delphi)
Avatar billede nop Nybegynder
11. februar 2003 - 13:36 #17
Meningen med forummet er at alle skal kunne søge information og inspiration i andre folks spørgsmål og svar. Det må game_tracker lære.
Avatar billede nop Nybegynder
11. februar 2003 - 13:45 #18
Ja, det var ikke meningen at lyde som en gammel skolelærer der til sidst, men man kan jo bruge copy/paste til at hente koden over i sin delphi, og jeg synes det var en god ting at få vist hvordan man bruger nogle funktioner i WinInet. Dvs at et spørgsmål fra tracker blev til lærdom for MIG !!!
Avatar billede game_tracker Nybegynder
11. februar 2003 - 20:08 #19
nop> koden står jo lige der. jeg er ret "ny" så jeg kna ikke fide ud af hvordan jeg skal få det til at virke med at bare sætte det ind
Avatar billede geek Nybegynder
12. februar 2003 - 22:07 #20
Du har delphi ikke ?
Så er det bare at starte en ny application, sætte en knap ind og en edit box
og i koden til knappen skriver du så GetFileFromInternet(edit1.text, 'Tizzz.html'); og resten af koden smider du bare ind ligen ovenover "procedure TForm1.Button1Click(Sender: TObject);"
Og tilsidst (kan faktisk også gøres først :)) skriver du "WinInet" under uses.
står sikkert noget ala "Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;" så du tilføjer bare ",WinInet" efter "Dialogs"

Når du så trykker på knappen vil den downloade den hjemmeside du har skrevet i din edit box og gemme det som en fil kaldet "Tizzz.html"
Avatar billede game_tracker Nybegynder
14. februar 2003 - 22:14 #21
den skal ikke gemme det i en fil men vise tallet(\ne) men har fået en til at lave et program til det jeg skal bruge
Avatar billede geek Nybegynder
17. februar 2003 - 21:49 #22
Nej men jeg tænkte du måske kunne lave bare en lille smule af det selv.
Experten er trods alt kun til hjælp IKKE færdige løsninger...

Geek
[Hint] in life.pas (8): Variable 'Happiness' is declared but never used in 'Meaning_of_life'
Avatar billede game_tracker Nybegynder
17. februar 2003 - 22:07 #23
jeg søgte en ferdig løsning men nu har jeg fået en andet til at lave et sådan program (er noob til delphi)
Avatar billede _darkstar_ Nybegynder
21. februar 2003 - 12:12 #24
Hvorfro så vælge Delphi i første omgang?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester