Avatar billede jekk Nybegynder
18. august 2002 - 11:16 Der er 20 kommentarer

Upload via ren Delphi (5E)

Jeg afprøvede Stney's kode-eksempel for download se http://exp.dk/spm/246782 og det virkede bare !

nu vil prøve om det er lige så let at gå den anden vej ! ? altså uploade ...

hvordan gør man - kodeeksempel, der er lige til at gå til, vil være supert !
Avatar billede cms Nybegynder
18. august 2002 - 11:54 #1
Det er ikke helt så let, nej. Du skal jo forbinde til en ftp-server, ikke en http-server.
Jeg foreslår indy:
www.nevrona.com/indy
Avatar billede jekk Nybegynder
18. august 2002 - 12:10 #2
jeg har set mange hint's der anbefaler indy, men da jeg ikke er særlig glad for at tilføje komponenter til min D-pakke og jeg iøvrigt ikke har fået den opdateret via Borland, så foretækker jeg de eksisterende komponenter ....

hvis det tilsyneladende er mere kompliceret at lave uploading - kan der så henvises til nogle standard-komponenter, der skal indgå i en basal upload-løsning evt. links ditto...
Avatar billede jekk Nybegynder
18. august 2002 - 12:14 #3
det jeg allerhelst ville have løsningsforslag til, er, at jeg via mit Delphi-program løbende kunne opdatere en access97-database på mit web-hotel i et flerbruger-miljø - men så ta'r jeg måske "munden for fuld" ? ! ?

jeg uddeler naturligvis gerne flere point's, hvis det er det der skal til ...
Avatar billede jekk Nybegynder
18. august 2002 - 12:14 #4
måske findes der et demo-projekt med source-kode ?
som jeg kan afprøve og selv udbygge ?
Avatar billede cms Nybegynder
18. august 2002 - 12:36 #5
Masser af demoprojekter, ja det findes der skam.
Men de fleste bruger komponenter.

Du er vel klar over at Indy ovenikøbet udsendes sammen med Delphi 6 ? Den er altså verificeret af Borland
Avatar billede cms Nybegynder
18. august 2002 - 12:36 #6
Og så tilføjes den jo ikke til din D-pakke, eller hvad du nu kalder det. Den kommer jo med sin egen pakke (package)
Avatar billede jekk Nybegynder
18. august 2002 - 12:45 #7
jeg kan "høre" at "løsningen" ligger i Delphi 6, som jeg endnu ikke har anskaffet og vil nok afvente Dephi 7... hvis jeg opgraderer...

D-pakke er min oprindelige D5E-installation, jeg henviser til...

jeg fornemmer, at jeg (endnu engang) render ind i en "lukket vej" / tomrum, hvor jeg fortsat står med et "gabende hul" - et uløst problem / behov...
Avatar billede cms Nybegynder
18. august 2002 - 12:50 #8
Jeg forstår dig ikke. Hvad er problemet med at installere en pakke som Indy, som er opensource og bruges af tusindvis af programmører verden over?
Avatar billede cms Nybegynder
18. august 2002 - 12:50 #9
Den er noget af det mest brugervenlige jeg nogensinde er stødt på til Delphi. Der er som regel en grund til at mange henviser til samme komponent
Avatar billede dkn Nybegynder
18. august 2002 - 12:51 #10
Hvis jeg var dig, og du ikke har ftp adgang, ville jeg satse på noget asp/php/cgi eller bare et eller andet server side sprog som kan afhandle form post. Så kan du evt bruge httpget til at post i en form som så uploader en fil via http. Du kan enda gøre dette med delphis twebbrowser.
Avatar billede jekk Nybegynder
18. august 2002 - 13:02 #11
cms >>
jeg forstår godt dit argument !
og det kan da også godt være, at jeg må "gi' mig", men mit første problem er at få opdateret min D5E version via Borland og det anta'r jeg, at jeg ikke kan gøre på min net-maskine UDEN D5E ! ?
Avatar billede jekk Nybegynder
18. august 2002 - 13:07 #12
dkn >>
jeg ville gerne have integreret funktionaliteten i en større D%-applikation, "skjult" for brugerne -
kan man det ved at anvende Deplhi's WEB-browser eksempel ? Altså noget med at kombinere D5-browser(skjult) og noget aspkode ... d.v.s. at jeg via nævnte browser sender opdateringsdata ind i en form-side til når asp, der opdaterer server databasen og en anden browser-side der downloader databasen ...
det kan godt være at det er noget "grise-kode", men vil / kan det virke på den måde ?
Avatar billede dkn Nybegynder
18. august 2002 - 13:12 #13
somsagt behøvs det ikke være en browser selv bruger jeg ren kode til det, det virker ret godt. Kan lige finde det frem til dig...
Avatar billede kayb Nybegynder
18. august 2002 - 13:15 #14
Brug FTP komponent der hedder NMFTP om som er standard i Delphi.
Her er et eksempel:

Download kode:
NMFTP1.Connect;
NMFTP1.ChangeDir('DitDownloaddir');
NMFTP1.Download('DATABASE.mdb','DATABASE.mdb');
NMFTP1.Disconnect;

Upload kode:
NMFTP1.Connect;
NMFTP1.ChangeDir('DitDownloaddir');
NMFTP1.Upload('DATABASE.mdb','DATABASE.mdb');
NMFTP1.Disconnect;

Husk at sætte de forskellige params med hensyn til
Bruger og password.

Håber du kan bruge det.
Avatar billede dkn Nybegynder
18. august 2002 - 13:22 #15
ej trode det var ren kode men den bruger også webbrowseren, men det gør nu ingenting.

Sådan her virker det:


function HTTPEncode(const AStr: string): string;
const
  NoConversion = ['A'..'Z', 'a'..'z', '*', '@', '.', '_', '-'];
var
  Sp, Rp: PChar;
begin
  SetLength(Result, Length(AStr) * 3);
  Sp := PChar(AStr);
  Rp := PChar(Result);
  while Sp^ <> #0 do
  begin
    if Sp^ in NoConversion then
      Rp^ := Sp^
    else if Sp^ = ' ' then
      Rp^ := '+'
    else
    begin
      FormatBuf(Rp^, 3, '%%%.2x', 6, [Ord(Sp^)]);
      Inc(Rp, 2);
    end;
    Inc(Rp);
    Inc(Sp);
  end;
  SetLength(Result, Rp - PChar(Result));
end;



var
  i: Integer;
  EncodedStr: string;
  Header: OleVariant;
  Post: OleVariant;
begin
  //Forms som skal udfyldes
  EncodedStr := 'Filename=' + HTTPEncode('C:\Fil.txt');

  Post := VarArrayCreate([0, Length(EncodedStr) - 1], varByte);
  for I := 1 to Length(EncodedStr) do
    Post[I - 1] := Ord(EncodedStr[I]);
  Header := 'Content-Type: application/x-www-form-urlencoded' + #10#13;

  WebBrowser1.Navigate('www.dinserver.dk/post.asp', EmptyParam, EmptyParam, Post, Header);
end;

Det eneste som mangler er noget error checking altså om det blev uploaded fint. Jeg brugte hvis nok OnTitleChange event i webbrowseren, så du kan bare lave så dit server script fx sætter title til "Succes" så kan du se det i OnTitleChange.

dkn
Avatar billede Slettet bruger
19. august 2002 - 11:47 #16
Indy pakken er da med i Delphi 5. Endda i demoversionerne.
Avatar billede jekk Nybegynder
19. august 2002 - 14:25 #17
formatc >>
har gennemset mine CD'ere til D5E inkl. "tools for Delphi 5" uden at kunne finde noget der hedder indy....

hedder det da noget andet ?
Avatar billede cms Nybegynder
19. august 2002 - 17:02 #18
kayb's kode er jo klart den enkleste. dog har jeg aldrig været glad for nmkomponenterne

indy i delphi 5? hmm... Det tror jeg nu ikke.
Indy hedder også Internet Direct og WinShoes
Avatar billede Slettet bruger
20. august 2002 - 09:38 #19
Hvorfor downloader du den ikke bare? Hvad skulle der være galt :)
Avatar billede coladrenge Nybegynder
22. august 2002 - 09:26 #20
Hvis der er tale om en database som skal opdaters, hvorfor bruger du så ikke ADO til at opdatere databasen med. Det eneste som du skal bruge er en IP-adresse til databasen.
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