I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Nu taler jeg ikke classic asp, så hvis du fortæller mig hvad den gør, så kan jeg lave den til dig?.. :) _& eller &_ eller noget i den stil er en måde at fortælle ens kode, at denne linie endnu ikke er slut. If _statement Then _execute er også tilladt, så længe det kan være på en enkelt linie, ellers skal alle If's lukkes med en End If.
Scriptet tjekker, om der i klokkeslættet er 1 eller 2 cifre i timeangivelsen. Hvis klokken er mellem midnat 9:59, bliver der sat et nul foran timetallet:
neocron: _ (underscore) fortæller bare i VB-scripting, at koden fortsætter på næste linie. No big deal, men meget brugbart, når lange kodestykker skal gøre overskuelige :)
Det skal du ikke beklage, er kun glad for hjælp, når/hvis du har tiden :)
Jeg har fundet ud af(!), at det ikke bare lige er til at konvertere VB-scripting til VB.NET, så jeg fortsætter med VB-scripting, og vil på et tidspunkt begynde at eksperimentere med ASP.NET :)
Men du skal have 3432435473543 tak for indsatsen, og du må gerne lægge et svar, basementjack :)
<%@ Language="VBScript" %> <% Function AddZ(ByVal vNumber) AddZ = CStr(vNumber) If len(AddZ) < 2 Then AddZ = "0" & AddZ End Function
For i = 0 To 23 Response.Write AddZ(i) & "<br>" Next %>
Den kan imidlertid skrives lidt pænere:
virkerbedre.asp ---------------
<%@ Language="VBScript" %>
<Script Language="VBScript" RunAt="Server"> Function AddZ(ByVal vNumber) AddZ = CStr(vNumber) If len(AddZ) < 2 Then AddZ = "0" & AddZ End Function </Script>
<% For i = 0 To 23 Response.Write AddZ(i) & "<br>" Next %>
Pointen er at når vi porterer virker.asp til ASP.NET så får vi et problem:
virkerikke.aspx ---------------
<%@ Page Language="VB" %> <% Function AddZ(ByVal vNumber As Integer) As String AddZ = vNumber.ToString() If AddZ.Length < 2 Then AddZ = "0" & AddZ End Function
Dim i As Integer For i = 0 To 23 Response.Write(AddZ(i) & "<br>") Next %>
giver "Compiler Error Message: BC30289: Statement cannot appear within a method body. End of method assumed."
Hvis vi derimod porterer virkerbedre.asp til ASP.NET så virker det:
virker.aspx -----------
<%@ Page Language="VB" %>
<Script Language="VBScript" RunAt="Server"> Function AddZ(ByVal vNumber As Integer) As String AddZ = vNumber.ToString() If AddZ.Length < 2 Then AddZ = "0" & AddZ End Function </Script>
<% Dim i As Integer For i = 0 To 23 Response.Write(AddZ(i) & "<br>") Next %>
Men det er selvfølgelig slet ikke den rigtige ASP.NET måde at gøre det på. Her er en alternativ måde (om den er god elle rej må større .NET guruer end mig vurdere):
Imports System Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls
Public Class VirkerBedre Inherits Page Protected Hours As Repeater Public Function AddZ(ByVal vNumber As Integer) As String AddZ = vNumber.ToString() If AddZ.Length < 2 Then AddZ = "0" & AddZ End Function Public Sub Page_Load(Sender As Object, E As EventArgs) Dim h() As Integer = { 0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 } Hours.DataSource = h Hours.DataBind End Sub End Class
Uanset hvad, så må jeg sige du har været til stor hjælp de sidste par dage. Det skal du have tak for :)
Synes godt om
Ny brugerNybegynder
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.