Avatar billede js_delphi Nybegynder
14. juni 2009 - 18:43 Der er 7 kommentarer og
1 løsning

Opstarts hjaelp til simpel side.

Hej,

Jeg er absolut nybegynder i asp, og skal til at lave en simpel hjemmeside.
Dertil har jeg bestilt en tyk bog, som dog ikke er ankommet endnu.
Via denne hjemmeside skal jeg have mulighed for at betjene en maskine; interfacet til maskinstyringen har jeg paa plads, saa det er ikke spoergsmaalet.

Min kode indtil nu ser saaledes ud:

<%@ Language=VBScript %>
<%Option Explicit
Dim intActual, intSet
Application.Lock
intSet = cint(Request.Querystring("Neuer Modus"))
if intset = 1 then
    call TcPLC.WriteVar(".bModus1HMI", 1)
end if
if intset = 2 then
    call TcPLC.WriteVar(".bModus2HMI", 1)
end if
if intset = 3 then
    call TcPLC.WriteVar(".bModus3HMI", 1)
end if
if intset = 4 then
    call TcPLC.WriteVar(".bModus4HMI", 1)
end if
if intset = 5 then
    call TcPLC.WriteVar(".bModus5HMI", 1)
end if
if intset = 6 then
    call TcPLC.WriteVar(".bModus6HMI", 1)
end if

intActual = TcPLC.ReadVar(".imodusHMI")
Application.Unlock%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<Title> TEST! </Title>
</head>
<body>
<form method="get" action="default.asp" name="tempSet">Neuer Modus: <input name="Neuer Modus" size="4" value="<% Response.Write intSet %>"></form>
Aktueller Modus: <% Response.Write intActual %>
</body>
</html>

Paa siden faar man vist et edit felt til indtastning af et tal mellem 1 og 6. Er tallet f.eks. 1, saettes det tilsvarende bit i maskinens styring.   

Mit spoergsmaal er nu:
Hvordan kan jeg lave 6 forskellige knapper (hedder de ogsaa buttons i asp?) som hver isaer saetter det tilsvarende bit i styringen, i stedet for at tallet skal indtastes i en edit? 

Sikkert et meget basalt spoergsmaal, men som sagt er "den tykke bog" ikke kommet endnu, og jeg skal videre med dette projekt NU!


Tusind tak paa forhaand!

Vh.
Avatar billede keysersoze Guru
14. juni 2009 - 18:57 #1
ASP har ingen kontroller til visning på klient-niveau så nej, der er ikke noget der hedder Button i ASP. Du bliver i stedet nødt til at benytte almindelig HTML-tags, i dit tilfælde en input type="button" ( http://w3schools.com/tags/tag_input.asp ).

Du kan også sagtens nøjes med at lave et link - fx side.asp?tal=2 - og når man klikker på linket fanges værdien 2 med Request.QueryString("tal") og så vil du kunne bruge det i din if-sætning.
Avatar billede softspot Forsker
14. juni 2009 - 19:02 #2
Dette er en simpel løsning, men jeg skulle mene den fungerer...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<Title> TEST! </Title>
<script type="text/javascript">
function setModeAndSubmit(obj) {
  document.getElementById("nm").value = obj.value;
  obj.form.submit();
}
</script>
</head>
<body>
<form method="get" action="default.asp" name="tempSet">
  <input type="hidden" id="nm" name="Neuer Modus" value="<% Response.Write intSet %>">
  Neuer Modus:
  <input type="button" value="1" onclick="setModeAndSubmit(this)">
  <input type="button" value="2" onclick="setModeAndSubmit(this)">
  <input type="button" value="3" onclick="setModeAndSubmit(this)">
  <input type="button" value="4" onclick="setModeAndSubmit(this)">
  <input type="button" value="5" onclick="setModeAndSubmit(this)">
  <input type="button" value="6" onclick="setModeAndSubmit(this)">
</form>
Aktueller Modus: <% Response.Write intActual %>
</body>
</html>
Avatar billede softspot Forsker
14. juni 2009 - 19:06 #3
Din serverkode kan i øvrigt nok forkortes til dette;

<%@ Language=VBScript %>
<%Option Explicit
Dim intActual, intSet
intSet = cint(Request.Querystring("Neuer Modus"))
if intset >= 1 and intSet <= 6 then
  Application.Lock
  call TcPLC.WriteVar(".bModus" & intSet & "HMI", 1)
  Application.Unlock%>
end if
intActual = TcPLC.ReadVar(".imodusHMI")
%>

Hvorfor skal du gøre dette?

1. Det er mere elegant og lettere at vedligeholde
2. Du låser hele din webapplikation i kortere tid

Jeg antager at ReadVar ikke kræver at applikationen er låst for at sikre værdien er korrekt (der er vel ikke nogen samtidighedsproblemer forbundet med at læse denne værdi?)...
Avatar billede js_delphi Nybegynder
15. juni 2009 - 08:30 #4
Tak for hjaelpen indtil videre, jeg vender tilbage senere.
Avatar billede js_delphi Nybegynder
29. juni 2009 - 20:44 #5
Tak for svarene, som jeg har fattet.
Jeg i nu kommet i fuld gang med min nye bog, som godt nok omhandler asp.net 3.5.
Det, som jeg vil koncentrere mig om, er derfor asp.net.
Er det noget, I har styr paa, eller skal jeg gaa over i den rette kategori med dette spoergsmaal?

Jeg vil gerne forhoeje point for evt. hjaelp til foelgende:

Den test side, jeg har skrevet indtil nu (se ovenfor), er skrevet i asp.

Applikationen indeholder en global.asp fil:
<OBJECT RUNAT="Server" SCOPE="Application" ID="TcPLC" PROGID="TcScript.TcScriptSync"> </OBJECT>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart()
    Call TcPLC.ConnectTo("", 801)
End Sub
</SCRIPT>

Selve siden er saa koden, som I kan se i det oprindelige spoergsmaal, nemlig:
<%@ Language=VBScript %>
<%Option Explicit
Dim intActual, intSet
Application.Lock
intSet = cint(Request.Querystring("Neuer Modus"))
if intset = 1 then
    call TcPLC.WriteVar(".bModus1HMI", 1)
end if
if intset = 2 then
    call TcPLC.WriteVar(".bModus2HMI", 1)
end if
if intset = 3 then
    call TcPLC.WriteVar(".bModus3HMI", 1)
end if
if intset = 4 then
    call TcPLC.WriteVar(".bModus4HMI", 1)
end if
if intset = 5 then
    call TcPLC.WriteVar(".bModus5HMI", 1)
end if
if intset = 6 then
    call TcPLC.WriteVar(".bModus6HMI", 1)
end if

intActual = TcPLC.ReadVar(".imodusHMI")
Application.Unlock%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<Title> TEST! </Title>
</head>
<body>
<form method="get" action="default.asp" name="tempSet">Neuer Modus: <input name="Neuer Modus" size="4" value="<% Response.Write intSet %>"></form>
Aktueller Modus: <% Response.Write intActual %>
</body>
</html>

For at komme hurtig igang med asp.net, vil det vaere ultra fedt, hvis jeg kan faa ovenstaaende oversat til asp.net.
Hvem kan klare den?

Tusind tak paa forhaand!
Avatar billede js_delphi Nybegynder
30. december 2009 - 21:24 #6
Laeg svar, dem som vil have point.
Avatar billede softspot Forsker
30. december 2009 - 21:38 #7
Ingen point til mig... :-)
Avatar billede js_delphi Nybegynder
11. oktober 2010 - 15:05 #8
Lukker.
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