19. august 2003 - 19:20Der er
8 kommentarer og 1 løsning
skriv memo til server -ADOtable - webbroker
Kan tænke mig det er svært, men kunne ønske at mit hjemmelavede lille program kunne vise en memo i et Webbroker- konstrueret udskrift. (programmet er desværre blevet noget rod, men jeg håber I kan abstrahere fra alle de komponenter, der er kommet med som jeg ikke bruger, men ikke har 'turdet' slette (for ikke at gøre noget forkert)). Programmet listes i næste kommentar.
ADOQuery3NOTE: TMemoField;
er altsaa den parameter jeg ville ønske ku gøres synlig.
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var sl:tstringlist; t:integer; begin
sl.add('<p><table border="0">'); sl.add('<tr>'); for t:=0 to adoquery3.Fields.Count -1 do begin
end;
While not adoquery3.Eof do begin
sl.add('<tr>'); for t:=0 to adoquery3.Fields.Count -1 do begin if adoquery3.fields[t].IsNull then sl.add( format('<td>%s</td>',['<font color="silver" size="-2"><null></font>']) ) else
Aktuelt bliver det altsaa forståes bare udskevet med "MEMO" lissom i en DbGrid. Og det *svære* muligvis - spm er om memoen kan skrives ud evt i en række ved siden af hvis det er lettere.
Det ville osse være ok hvis man ku få memoen vist ved at klikke på feltet.Har ihvert fald set det gjort i et ASP program - og det kan man jo godt programmere ind hvis man var mere klog på ASP.
ASP:programmet: saa -.. <% on error resume next 'Variables assigned on start of document 'all leading and trailing blanks are removed 'and any single quotes are changed to ' u_action=request.querystring("u_action") u_title=replace(trim(request.form("u_title")),"'","'") u_body=replace(trim(request.form("u_body")),"'","'") u_author=replace(trim(request.form("u_author")),"'","'") u_log=request.querystring("u_log") script_name=request.servervariables("script_name") %>
<% 'Check to see if the user is adding an article 'if so, then display the input form if u_action <> "add" then
'if the user is not looking for the input field 'then they will be interacting with the db 'in one of three ways. '1. to insert a new article '2. to view a specific observation '3. to display recent headlines 'The following select statement will adjust the 'sql according to which action is requested
rs.Open sql, cn 'if there are no observations found then 'redirect the user to the default view 'exceot if the user is adding an article if u_action <> "insert" then if rs.eof then response.redirect script_name end if end if 'Start html output %> <html> <title>Recent Articles</title> <meta name="Microsoft Border" content="t, default"> <body><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td> <p> </p> </td></tr><!--msnavigation--></table><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><!--msnavigation--><td valign="top">
<% 'Display successful addition of article to db if u_action="insert" then %> Your Article was added.<br> <% else 'Display db output %> <% do while not rs.eof and counter < 6 ' Change 6 to any number of Titles you want to display counter=counter+1 %> <% if u_action <> "display" then %> <a href="<%= script_name %>?u_action=display&u_log=<%= rs("log")%>"><%= rs("title") %></a> <%= rs("date") %><br> <% else %> <b><%= rs("title") %></b><br> by <%= rs("author") %> <p> <pre> <%= rs("body") %> </pre> <% end if %> <% rs.movenext loop %> <% end if end if %>
<% if u_action="add" then 'if the user is adding a new article 'then display the form input fields %> <script Language="JavaScript"> <!-- function Blank_TextField_Validator(form) {
if (form.u_title.value == "") { alert("Please fill in the title field."); form.u_title.focus(); return (false); }
if (form.u_body.value == "") { alert("Please fill in the body field."); form.u_body.focus(); return (false); }
if (form.u_author.value == "") { alert("Please fill in the author field."); form.u_author.focus(); return (false); }
<input type="submit" value="Submit"> </form> <% else 'if the user is doind anything other than adding an article 'display navigational hyperlinks %> <p><a href="<%= script_name %>">View Recent Articles</a><br> <a href="<%= script_name %>?u_action=add">Add Your Article</a> <% end if %>
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean); var sl:tstringlist; t:integer; begin
sl.add('<p><table border="0">'); sl.add('<tr>'); for t:=0 to adoquery3.Fields.Count -1 do begin
end;
While not adoquery3.Eof do begin
sl.add('<tr>'); for t:=0 to adoquery3.Fields.Count -1 do begin if adoquery3.fields[t].IsNull then sl.add( format('<td>%s</td>',['<font color="silver" size="-2"><null></font>']) ) else
Stoney: Jeg har flere gange været inde på matlus.com og det er vældig interessandt, men lidt en jungle når man ikke har alle grundbegreberne helt på plads - for at sige det mildt. Hvad er fordelen ved at bruge ISAPI DLL'er ? Jeg valgte det egtl. fra primært fordi det lod til at de lissom blev hængende i hukommelsen, men jeg opdagede lige (i går tror jeg det var) at man i websted for IIS kan slå "cashe" for ISAPI fra - og så har jeg egtl ikke prøvet at se om det går bedre, men jeg synes jeg kan huske at det må være mere kompliceret end som så. Jeg tror at det med den MEMO er lidt for ambitiøst, men jeg har været overrasket før over nogen ting der lod sig løse på mystisk vis. Ja, jeg bruger EXE-filer (CGI) og jeg er langt fra at kunne bruge UPDATE og den slags ting, men jeg kigger da på den en gang imellem.
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.