/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Delphi -> HTTP -> ASP (Kurt G).
Fra : Stig Johansen


Dato : 25-08-08 06:40

Hej alle (og Kurt).

For at komme igang har jeg lavet en lille Access database med det indhold,
du har postet.

Derudover har jeg lavet GET funktionen i ASP, og lagt den tilgængelig her:
http://w-o-p-r.dk/tips/asp/kurt.asp?tabel=Samlet

Den er lavet mere eller mindre generisk, så den dumper det tabelnavn, der
bliver angivet i URL'en.
Dvs tabel=Samlet i dette tilfælde.

Som demo har jeg lavet et lille Delphi program, der består af en TEdit med
URL'en, et TMemo til resultatet (tekstfilen) samt en knap til at aktivere
den.
-------------- Source ------------------
unit KurtU;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

const
Timeout = 10000 ; // 10 sec.
type
TForm1 = class(TForm)
Label1: TLabel;
url: TEdit;
Button2: TButton;
Tekstfil: TMemo;
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses
HTTPSend,synautil ;

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
VAR
SynaHTTP: THTTPSend;
begin
SynaHTTP := THTTPSend.Create;
SynaHTTP.Timeout := Timeout ;
SynaHTTP.Clear ;
SynaHTTP.HTTPMethod('GET', url.Text );

TRY
Tekstfil.Lines.LoadFromStream(SynaHTTP.Document);
except
end;
SynaHTTP.Free;
end;

end.
-----------------------------------

Bemærk her, at 'tekstfilen' returneres i SynaHTTP.Document, som er en
stream.

Her har jeg blot loaded streamen ind i memoet, men man kan lige så godt
gemme den på disk, hvis det er det du skal bruge.

Gem til fil vil så være
SynaHTTP.Document.SaveToFile(DitFilNavn);

Jeg skal nok lægge kildeteksterne tilgængeligt, men det er ikke færdigt.
Men jeg tænkte det kunne være en god ide at få Synapse på plads mens 'vi
venter'.

Synapse skal blot downloades, og pakkes ud.
Der er ikke nogen installation osv, man skal blot have den med i search path
på sourcen.

--
Med venlig hilsen/Best regards
Stig Johansen




 
 
Stig Johansen (25-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 25-08-08 18:32

Så er den klar med POST (opdatering) også.

---------------- Kode ------------------------
unit KurtU;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

const
Timeout = 10000 ; // 10 sec.
type
TForm1 = class(TForm)
Label1: TLabel;
url: TEdit;
Button2: TButton;
Tekstfil: TMemo;
Button1: TButton;
HTTPResult: TMemo;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses
HTTPSend,synautil,SynaCode ;

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
VAR
SynaHTTP: THTTPSend;
begin
SynaHTTP := THTTPSend.Create;
SynaHTTP.Timeout := Timeout ;
SynaHTTP.Clear ;
SynaHTTP.HTTPMethod('GET', url.Text );

TRY
Tekstfil.Lines.LoadFromStream(SynaHTTP.Document);
except
end;
SynaHTTP.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
VAR
SynaHTTP: THTTPSend;
PostData : STRING ;
begin
SynaHTTP := THTTPSend.Create;
SynaHTTP.Timeout := Timeout ;
SynaHTTP.Clear ;

PostData := 'Tekstfil=' + EncodeURLElement(Tekstfil.Text) ;
WriteStrToStream(SynaHTTP.Document, PostData);
SynaHTTP.MimeType := 'application/x-www-form-urlencoded';

SynaHTTP.HTTPMethod('POST', url.Text );

TRY
HTTPResult.Lines.LoadFromStream(SynaHTTP.Document);
except
end;
SynaHTTP.Free;
end;

end.
---------------------------
Jeg smider ASP koden ovre i dk.edb.internet.webdesign.serverside.asp

--
Med venlig hilsen/Best regards
Stig Johansen




Kurt G (25-08-2008)
Kommentar
Fra : Kurt G


Dato : 25-08-08 22:11

"Stig Johansen" <wopr.dk@gmail.com> skrev i en meddelelse
news:48b2eb61$0$90262$14726298@news.sunsite.dk...
> Så er den klar med POST (opdatering) også.
---KLIP---

Det går lidt stærkt for mig!
Jeg har kopieret SYNAPSE-filerne ind på min HD under 'Delphi\lib' samt
demoerne under Demo som beskrevet i den medfølgende Readme.
Derefter ved jeg ikke helt, hvordan jeg skal gøre med alt det andet, du har
beskrevet.
Jeg er bange for, du bliver nødt til at pinde det lidt ud for mig.

Hvis jeg skal lave noget på internetserveren bliver det nødt til at vente
nogle dage, jeg har ikke adgang her fra Sverige, hvor jeg pt befinder mig!

Mvn Kurt



Stig Johansen (25-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 25-08-08 22:49

Kurt G wrote:

> "Stig Johansen" <wopr.dk@gmail.com> skrev i en meddelelse
> news:48b2eb61$0$90262$14726298@news.sunsite.dk...
>> Så er den klar med POST (opdatering) også.
> ---KLIP---
>
> Det går lidt stærkt for mig!
> Jeg har kopieret SYNAPSE-filerne ind på min HD under 'Delphi\lib' samt
> demoerne under Demo som beskrevet i den medfølgende Readme.

Det skulle også være rigeligt.

> Derefter ved jeg ikke helt, hvordan jeg skal gøre med alt det andet, du
> har beskrevet.
> Jeg er bange for, du bliver nødt til at pinde det lidt ud for mig.

Koden jeg har postet er unit koden til et lille demoprogram - jeg kan godt
se Botton1 og 2 ikke er så sigende.

Jeg har zippet det sammen og lagt det her:
<http://w-o-p-r.dk/downloads/kurt.zip>

Det er Delphi 7, så det kan godt være du får nogle fejl med missing
properties.

Programmet kommunikerer med ASP programmet på serveren, som henter/opdaterer
tabellen Samlet i databasen.

Den ene knap (GET) henter data fra databasen via ASP og viser indholdet i et
Memo.
Den anden knap (update) sender indholdet af Memo til ASP programmet, som
opdaterer databasen med det nye indhold.

Jeg ved ikke rigtig om det er nok pindet ud eller ?

Hvis du vil bruge denne metode, skal det flettes ind i dit program, der hvor
du vil hente tekstfilen fra databasen, og der hvor den opdaterede tekstfil
skal sendes til databasen.

Hvis du skal have hjælp til det, bliver du nødt til at poste lidt af den
omkringliggende kode.

> Hvis jeg skal lave noget på internetserveren bliver det nødt til at vente
> nogle dage, jeg har ikke adgang her fra Sverige, hvor jeg pt befinder mig!

Der skal du lægge de ASP filer jeg postede ovre i .asp gruppen.

Du kan bruge min demo til programudvikling indtil du kommer hjem, URL'en
står i programmet.

Den er godt nok Access baseret, selvom du skrev mySQL, men det burde også
virke på mySQL.

Men den kan vi tage ovre i ASP gruppen hvis det bliver aktuelt.

--
Med venlig hilsen
Stig Johansen

Kurt G (26-08-2008)
Kommentar
Fra : Kurt G


Dato : 26-08-08 17:29

KLIPPET
>> Derefter ved jeg ikke helt, hvordan jeg skal gøre med alt det andet, du
>> har beskrevet.
>> Jeg er bange for, du bliver nødt til at pinde det lidt ud for mig.
KLIPPET
Du har pindet det fint ud, og jeg har lavet en demo som virker på den side,
som du har lavet.
Der er dog nok en fejl et sted, for den indsætter den sidste linie 2 gange.
Jeg formoder, at det er ASP-delen, så der vil jeg starte med at lede!

Når jeg kommer hjem, skal jeg prøve at få det til at virke på mine egne
sider samt indbygge det i programmet.

Mange tak for hjælpen!

Mvh Kurt



Stig Johansen (26-08-2008)
Kommentar
Fra : Stig Johansen


Dato : 26-08-08 18:14

Kurt G wrote:

> Der er dog nok en fejl et sted, for den indsætter den sidste linie 2
> gange.
> Jeg formoder, at det er ASP-delen, så der vil jeg starte med at lede!

Jeg kiggede lige på det.

Det er højst sandsynligt pga. den sidste linieskift i memoet.
Det giver nok en tom linie i ASP delen, og dermed udfører den en ekstra
insert med de sidst angivne parametre.
Der skal nok en 'if' ind i ASP delen, der tjekker på antallet af elementer.

Jeg afprøver det lige og poster ovre i ASP gruppen.

> Når jeg kommer hjem, skal jeg prøve at få det til at virke på mine egne
> sider samt indbygge det i programmet.

Held og lykke med det, giv et praj hvis der er noget der driller.

--
Med venlig hilsen
Stig Johansen

Kurt G (26-08-2008)
Kommentar
Fra : Kurt G


Dato : 26-08-08 20:25

"Stig Johansen" <wopr.dk@gmaill.com> skrev i en meddelelse
news:48b439fc$0$90276$14726298@news.sunsite.dk...
---KLIP---
> Jeg kiggede lige på det.
>
> Det er højst sandsynligt pga. den sidste linieskift i memoet.
> Det giver nok en tom linie i ASP delen, og dermed udfører den en ekstra
> insert med de sidst angivne parametre.
> Der skal nok en 'if' ind i ASP delen, der tjekker på antallet af
> elementer.
>
> Jeg afprøver det lige og poster ovre i ASP gruppen.

---KLIP---
Det ser ud til at du har kikket på det!

>> Når jeg kommer hjem, skal jeg prøve at få det til at virke på mine egne
>> sider samt indbygge det i programmet.
>
> Held og lykke med det, giv et praj hvis der er noget der driller.

---KLIP---
Det kan du være sikker på.

> --
> Med venlig hilsen
> Stig Johansen

Mvh Kurt



Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407862
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste