Avatar billede hansi88 Nybegynder
16. november 2001 - 16:23 Der er 32 kommentarer

Hente og gemme fil fra nettet!

Jeg er igen løbet ind i et problem!? hvis jeg nu f. eks skal hente en tekst fil (*.txt) fra nettet ind i en memo...hvad skal jeg så gøre?...

M.V.H Hansi88
P.S Jeg bruger Delphi 3
Avatar billede martinlind Nybegynder
16. november 2001 - 16:27 #1
Bruge en FTP eller HTTP comp. evt fra INDY pakken
Avatar billede snowball Novice
16. november 2001 - 16:29 #2
Ved ikke lige om det virker i Delphi3, men prøv nedenstående !

var
  HTTP : TNMHTTP;
begin
  HTTP := TNMHTTP.Create(nil);
  HTTP.Get (\'http://www.domain.dk/fil.txt\');
  Memo1.Clear;
  Memo1.Text := (HTTP.Body);
  HTTP.free;
end;

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 16:35 #3
Jeg bruger FTP!...
Avatar billede snowball Novice
16. november 2001 - 16:36 #4
Så du skal altså hente filen fra en FTP server !?

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 16:40 #5
Det forstår jeg ik\' ....jeg har prøvet 3 gange nu!....
Avatar billede snowball Novice
16. november 2001 - 16:43 #6
Hvis du skal hente filen fra en FTP server, så kan du ikke bruge mit eksempel !

Skal du hente filen fra en FTP server ?

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 16:46 #7
JePz!...Filen skal hentes fra en FTP server!
Avatar billede snowball Novice
16. november 2001 - 16:53 #8
Godt så! Kan du finde et FTP komponent i Delphi !?

Ellers så må du lige prøve og hente og installere INDY/Winshoes fra http://www.nevrona.com/Indy/downloads/winshoes7039b.exe

Bagefter placerer du så et FTP komponent på din from, og skriver følgende kode på f.eks. en knap:

  FTP.Host := \'10.0.0.2\';
  FTP.User := \'username\';
  FTP.Password := \'password\';
  FTP.Port := 21;
  FTP.Connect(True);
  if FTP.Connected then
    try
      FTP.Get(\'fil.txt\',\'fil.txt\');
    except
      Showmessage(\'Der er sket en fejl!\');
    end;
  if Fileexists(\'fil.txt\') then
    Memo1.Lines.LoadFromFile(\'fil.txt\');
  if FTP.Connected then
    FTP.Disconnect;


Husk og tilpas de forskellige ting så det passer til dine forhold !

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 17:02 #9
Jeg kan slet ikke få det til at virke?... :-(
Avatar billede snowball Novice
16. november 2001 - 17:05 #10
Er der et FTP komponent i Delphi 3 !?

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 17:34 #11
Nej!
Avatar billede snowball Novice
16. november 2001 - 17:36 #12
Avatar billede hansi88 Nybegynder
16. november 2001 - 17:38 #13
Oppsss....jeg har ikke fået det installeret endnu!..det må jo være fejlen!..hvad gør det program!..?
Avatar billede hansi88 Nybegynder
16. november 2001 - 17:42 #14
Det virker stadig væk ik\' !...
Avatar billede snowball Novice
16. november 2001 - 17:43 #15
Hvis det bli\'r installeret korrekt så skulle det gi\' dig nogle flere komponenter (bl.a. FTP) !

Snowball
Avatar billede hansi88 Nybegynder
16. november 2001 - 17:49 #16
nu når jeg har installeret den! skal jeg så gøre andet?...
Avatar billede snowball Novice
16. november 2001 - 17:55 #17
Har ikke selv prøvet at installere den (bruger selv Delphi6 og der er INDY med) så jeg ved ikke ret meget om den. Følger der ikke en installationsvejledning med ?

Snowball
Avatar billede puddelundercover Nybegynder
17. november 2001 - 16:37 #18
Hejsa... Jeg har ikke prøvet denne kode i D3 C/S, men mener at den skulle virke - Koden henter en fil fra nettet og gemmer den på harddisken - via http!


(Uses: WinInet)

procedure TForm1.Button1Click(Sender: TObject);
const
BufferSize = 1024;
var
hSession, hURL : HInternet;
Buffer : Array[0..Pred(BufferSize)] of Byte;
BufferLength : DWORD;
f : File;
fDestFile,
StrUrl : string;
begin
StrUrl := \'http://www.host.com/tekstfil.txt\'; //filen som skal hentes
fDestFile := \'C:\\Dokumenter\\tekstfil.txt\'; // Gem den hentede fil her
hSession :=
InternetOpen(\'Internet\',INTERNET_OPEN_TYPE_PRECONFIG,nil,nil,0);
try
hURL := InternetOpenURL(hSession, PChar(StrUrl), nil,0,0,0);
try
AssignFile(f, fDestFile);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLength);
BlockWrite(f, Buffer, BufferLength)
until BufferLength = 0;
CloseFile(f);
finally
InternetCloseHandle(hURL);
end
finally
InternetCloseHandle(hSession);
end;
end;

så skulle det være en smal sag at hente den ind i en memo
Avatar billede hansi88 Nybegynder
09. december 2001 - 16:23 #19
Det virker ik\' fordi der står nå jeg skal installere INDY pakken: Richedit line insertion error
Avatar billede puddelundercover Nybegynder
09. december 2001 - 18:36 #20
Med mit eksempel har du ikke brug for INDY... skulle bare lige fastslås ;)
Avatar billede hansi88 Nybegynder
10. december 2001 - 13:12 #21
puddelundercover >> Jamen den henter jo kun en fil på nettet, den skulle også gemmes på nettet!
Avatar billede puddelundercover Nybegynder
10. december 2001 - 13:27 #22
Æukey, det havde jeg ikke lige læst mig til... Så synes jeg at du skal prøve at bruge MonsterFTP... den kan du hente på www.torry.net...

Hvilken version af D3 har du??
Avatar billede hansi88 Nybegynder
12. december 2001 - 12:13 #23
puddelundercover  >> Jeg har lige fået Delphi 6 personal
Avatar billede puddelundercover Nybegynder
12. december 2001 - 13:09 #24
Se, det kunne jo nok godt blive et problem... Jeg er ret sikker på, at du i hvert fald skal op og have Delpfi 6 Pro eller Enterprise for at kunne lege med noget som helst der bare minder om netværk... eller tager jeg fejl?
Avatar billede hansi88 Nybegynder
12. december 2001 - 13:53 #25
?????
Avatar billede puddelundercover Nybegynder
12. december 2001 - 14:00 #26
Jeg mener ikke at nogen personal/standard version har nogle muligheder for at bruge f.eks. ftp-komponenter!
Avatar billede hansi88 Nybegynder
12. december 2001 - 14:02 #27
puddelundercover >> Jo med INDY pakken!, men det virker ik\' på min!
Avatar billede puddelundercover Nybegynder
12. december 2001 - 14:03 #28
... Virker INDY på andre standard versioner?
Avatar billede hansi88 Nybegynder
12. december 2001 - 14:04 #29
Hmm..Det ved jeg faktisk ik\' ?
Avatar billede puddelundercover Nybegynder
12. december 2001 - 14:06 #30
Det burde den ikke - det er jo meningen at man skal købe en større version hvis man skal bruge den slags ;)
Avatar billede martinlind Nybegynder
12. december 2001 - 14:08 #31
Men INDY plejer at virke fint, har du prøvet at hente ver. 9.02 beta
Avatar billede hansi88 Nybegynder
12. december 2001 - 14:18 #32
Næææ-
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