Avatar billede david_dollas Nybegynder
14. august 2001 - 14:47 Der er 47 kommentarer og
1 løsning

vis millisekunder...

Jeg skal bruge en kode til at counte millesekunder, jeg har:

<script>
function TimeDemo(){
  var d, s = \"The current local time is: \";
  var c = \":\";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return(s);
}

</script>

Hvordan for jeg noget ud af det?
Avatar billede nute Nybegynder
14. august 2001 - 14:50 #1
<html>
<script>
function TimeDemo(){
  var d, s = \"The current local time is: \";
  var c = \":\";
  d = new Date();
  s += d.getHours() + c;
  s += d.getMinutes() + c;
  s += d.getSeconds() + c;
  s += d.getMilliseconds();
  return s;
}
</script>
<body>
<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!--
document.write( TimeDemo() );
//-->
</SCRIPT>
</body></html>
Avatar billede stig3 Mester
14. august 2001 - 14:51 #2
document.write TimeDemo()

er det det du mener ???
Avatar billede roenving Novice
14. august 2001 - 14:53 #3
Du skal vel opsamle data ved start og så opdatere dem ( hvert millisekund ???), så det bliver:

<script>
var start = new Date();

function findMillisekunder() {
  var nu = new Date();
  return nu.getMilliseconds() - start.getMilliseconds();
}
</script>

hth
jes

Avatar billede nute Nybegynder
14. august 2001 - 15:03 #4
eller hvis du skal lage en løpende klokke:

<html>

<body>
<div id=\"tid\"></div>
<script>
TimeDemo();
function TimeDemo(){
  var d, s = \"The current local time is: \";
  var c = \":\";
  d = new Date();
    var hour = d.getHours();
    var minutes = d.getMinutes();
    var seconds = d.getSeconds();
    if( minutes < 10 )
      minutes = \"0\" + minutes;
    if( seconds < 10 )
      seconds = \"0\" + seconds
  s += hour + c;
  s += minutes + c;
  s += seconds + c;
  s += d.getMilliseconds();
    document.all[\"tid\"].innerText = s;
  setTimeout(\"TimeDemo()\",0);
}
</script>
</body></html>

/nute
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:06 #5
okay...

Jeg skal faktisk kun bruge millisekunder...
Den skal starte ved 0
. tælle millisekunder
kørere min asp søge funktion
. stoppe millisekunder
og så noget asp så jeg for tallet i minutter, sekunder, millisekunder, og tilsidst have resultatet i en VBScript variabel...

Kan du det nute? (se\'følig kan du det!)

Avatar billede nute Nybegynder
14. august 2001 - 15:11 #6
naaa....så skal du gjøre det på en annen måte.

<%
Dim startTid, slutTid, totalTid
startTid = now()

\' UTFØR DIN SØKEFUNKSJON HER
sub soek()
  \' En hel masse kode
end sub

slutTid = now()
totalTid = DATEDIFF(\"s\", slutTid, startTid )
%>
<html>
<body>
<%= \"Søkningen tok \" & totalTid & \" sekunder\" %>
</body>
</html>

/nute
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:13 #7
Det har jeg gjordt, men jeg skulle jo gerne have millisekunder og ikke sekunder...

Kan man ikke blande java\'en og asp\'en sammen, så det passer???
Avatar billede nute Nybegynder
14. august 2001 - 15:14 #8
hov....denne linje

totalTid = DATEDIFF(\"s\", slutTid, startTid )

skal være

totalTid = DATEDIFF(\"s\", startTid, slutTid )

/nute
Avatar billede nute Nybegynder
14. august 2001 - 15:17 #9
problemet er at du ikke kan bruke Javascript direkte til å finne ut av hvor lang tid søkningen tar. Grunnen til det er at javascript avvikles på klienten, og ASP avvikles på serveren.

Alternativet er at når du submitter ditt formular, så legger du tiden ned i et hidden field som du requester etter at søkningen er ferdig og sammenligner med \"nå\"-tiden. Porblemet med dette er at man ikke får den eksakte tiden for søket, man får også hvor lag tid det tar for å loade selve siden. Og det vil du jo ikke...

/nute
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:22 #10
kan man ikke få millisekunder i ASP/VBscript?
Avatar billede nute Nybegynder
14. august 2001 - 15:27 #11
ikke som jeg kjenner til. Kan heller ikke finne at det er mulig ut fra dokumentasjonen :-|
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:27 #12
nute:

Hvis du kan lave en simpel java ting der skriver millisekunder over i en asp variabel, så kan jeg prøve derfra?
Avatar billede winkill Nybegynder
14. august 2001 - 15:29 #13
Du kan bare bruge ASP/JScript i stedet for ASP/VBScript.

<script language=JScript runat=Server>
  var nu = new Date();
  response.write(nu.getMilliseconds()+\'<br>\');
</script>
<%
  \' Udfør ASP/VBScript søge-funktion
%>
<script language=JScript runat=Server>
  var nu = new Date();
  response.write(nu.getMilliseconds()+\'<br>\');
</script>
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:31 #14
Den skulle jo gerne starte fra 0 sekunder & 0 millisekunder.
Avatar billede winkill Nybegynder
14. august 2001 - 15:31 #15
nute > \"problemet er at du ikke kan bruke Javascript direkte til å finne ut av hvor lang tid søkningen tar. Grunnen til det er at javascript avvikles på klienten, og ASP avvikles på serveren.\"

Det er forkert. Serveren kan både afvikle JScript og VBScript - Hvis klienten er IE kan denne også afvikle både JScript og VBScript.
Avatar billede winkill Nybegynder
14. august 2001 - 15:33 #16
<script language=JScript runat=Server>
  var start = new Date;
  start = start.getMilliseconds();
</script>
<%
  \' Udfør ASP/VBScript søge-funktion
%>
<script language=JScript runat=Server>
  var nu = new Date();
  response.write(\'Søgningen tog i alt\'+(nu.getMilliseconds() - start)+\'<br>\');
</script>
Avatar billede winkill Nybegynder
14. august 2001 - 15:35 #17
Med sekunder kunne det se sådan ud:

<script language=JScript runat=Server>
  var start = new Date;
  var startMS = start.getMilliseconds();
  var startS = start.getSeconds();
</script>
<%
  \' Udfør ASP/VBScript søge-funktion
%>
<script language=JScript runat=Server>
  var nu = new Date();
  response.write(\'Søgningen tog i alt \'+(nu.getSeconds() - startS)+\' sekunder og \'+(nu.getMilliseconds() - startMS)+\' millisekunder :o)<br>\');
</script>
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:35 #18
hmmm, det bliver 0 hver gang...
Avatar billede nute Nybegynder
14. august 2001 - 15:36 #19
winkill >> er enig i det. Det jeg skrev (eller prøvde å skrive) var at man ikke kunne bruke JavaScript (ikke JScript) til ønsket funksjonalitet. Grunnen er nemlig den at man ikke bør bruke browseren til å regne ut hvor lang tid en søkning tar siden loadtid alltid vil forstyrre resultatet...

/nute
Avatar billede winkill Nybegynder
14. august 2001 - 15:40 #20
Tilføjelse >> Response er med stort R og Write med stort W i JScript

nute >> Ja ok, JavaScript og JScript er ikke helt det samme, men JavaScript eksisterer heller ikke i eks. IE og kan derfor slet ikke afvikles, hverken på server eller klient ;o)
Avatar billede nute Nybegynder
14. august 2001 - 15:40 #21
david_dollas >> prøv denne så kan du se at det virker:

<script language=JScript runat=Server>
  var startTid = new Date;
  startTid = startTid.getMilliseconds();
    response.write(startTid + \"<br>\");
    for( var i = 0; i < 100000; i++){}
  var nu = new Date();
    response.write(nu.getMilliseconds() + \"<br>\");
  response.write(\'Søgningen tog i alt \'+(nu.getMilliseconds() - startTid)+\' millisekunder<br>\');
</script> 
<html>
<body>
</body>
</html>

du kan bytte ut denne linje:

for( var i = 0; i < 100000; i++){}

med fx denne:

for( var i = 0; i < 10000000; i++){}

for å se at det fungerer...

/nute
Avatar billede winkill Nybegynder
14. august 2001 - 15:43 #22
david > Hvis søgningen tager mindre end 10 millisekunder, så vil MS counteren ikke blive opdateret (hvis serveren kører Windows) og så vil du ikke få noget resultat - det samme kan være tilfældet hvis du bruger ADODB objekter, som i mange tilfælde låser en stor del af serverens rescourcer, både ved Connect og Queri.
Avatar billede david_dollas Nybegynder
14. august 2001 - 15:44 #23
hvad med en der starte fra 0 sekunder & 0 millisekunder. også tæller op af?
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:07 #24
Har i ikke flere ide\'r?????
Avatar billede winkill Nybegynder
14. august 2001 - 16:12 #25
Nope, men mit sidste svar fungerer også helt fint. Jeg har lige kodet det ind et par steder på min hjemmeside.

Her er sourcen som jeg selv benytter den - sat op i et eksempel.

<%@ Language=JScript %>
<%
    var T = new Timer(); // Skab en ny Timer.
    T.Start(); // Start timeren.
    // Her gør vi en helt masse, for at bruge en masse tid.
    for(var x=0;x<5000;x++) {
        Response.Write(x+\'<br>\');
    }
    T.Stop(); // Stop timeren
    Response.Write(\'Resultat: \'+T.R+\'<br>\'); // Udskriv resultatet.
%>

<%
    // Constructors
    function Timer() {
        // TIMER.Start()
        // TIMER.End()
        // TIMER.S
        // TIMER.MS
        // TIMER.R
        this.StartS = 0;
        this.StartMS = 0;
        this.EndS = 0;
        this.EndMS = 0;
        this.S = 0;
        this.MS = 0;
        this.R = 0;
        this.Start = function Timer_Start() {
            var nDate = new Date();
            this.StartS = nDate.getSeconds();
            this.StartMS = nDate.getMilliseconds();
        }
        this.Stop = function Timer_Stop() {
            var nDate = new Date();
            this.EndS = nDate.getSeconds();
            this.EndMS = nDate.getMilliseconds();
            this.S = this.EndS - this.StartS;
            this.MS = this.EndMS - this.StartMS;
            if(this.MS < 0) {
                this.S--;
                this.MS+=1000;
            }
            if(this.S.toString().length == 1) { this.S = \'0\'+this.S; }
            if(this.MS.toString().length == 1) { this.MS = \'00\'+this.MS; }
                else if(this.MS.toString().length == 2) { this.MS = \'0\'+this.MS; }
            if(this.StartS.toString().length == 1) { this.StartS = \'0\'+this.StartS; }
            if(this.StartMS.toString().length == 1) { this.StartMS = \'00\'+this.StartMS; }
                else if(this.StartMS.toString().length == 2) { this.StartMS = \'0\'+this.StartMS; }
            if(this.EndS.toString().length == 1) { this.EndS = \'0\'+this.EndS; }
            if(this.EndMS.toString().length == 1) { this.EndMS = \'00\'+this.EndMS; }
                else if(this.EndMS.toString().length == 2) { this.EndMS = \'0\'+this.EndMS; }
            this.R = this.S+\'.\'+this.MS;
        }
    }
%>
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:14 #26
Jeg kan fanme ik få det til at virke-..-.
Avatar billede winkill Nybegynder
14. august 2001 - 16:16 #27
Får du en fejl eller ?
Avatar billede nute Nybegynder
14. august 2001 - 16:17 #28
winkill/david_dollas >> den fungerer helt fint for meg...og upåklagelig...
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:17 #29
der sker bare nada...
Avatar billede winkill Nybegynder
14. august 2001 - 16:18 #30
Hvilken server afvikler du det på ?
Avatar billede winkill Nybegynder
14. august 2001 - 16:19 #31
NT ? 2000 ? Andet ?
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:23 #32
det er en 2000

Alt virker undtagen dette:

Avatar billede david_dollas Nybegynder
14. august 2001 - 16:24 #33
Nu virker det!.... hmmmm, jeg tror at jeg tager hjem nu... tak...

Hvem ville det være rimiligt overfor at give point???
Avatar billede nute Nybegynder
14. august 2001 - 16:25 #34
jeg nøyer meg med noen få points som en takk for innvolveringen ;-)

Siden du sannsynligvis brukte winkill sin løsning er det jo fornuftig at han får majoriteten av pointsene
Avatar billede winkill Nybegynder
14. august 2001 - 16:26 #35
David > Jeg synes du selv skal tage pointene - dit spørgsmål var ret inspirerende.
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:28 #36
Du for dem... Nute for nogle flere næste gang han hjælper mig... Tak winkill...

Lige tilsidst... Hvis jeg nu gerne vil have den i include fil. så tager jeg vel bare og klipper starten ud, og virsevasse med slutningen, eller hvad?
Avatar billede winkill Nybegynder
14. august 2001 - 16:33 #37
Takker og bukker.

Du kan klippe fra linien før \"//Constructor\" og nedefter og placerer det i en include - husk at der i toppen af din include-fil skal stå
<%@ Language=JScript %>
så serveren ved hvilket sprog vi taler/skriver. ;o)
Avatar billede david_dollas Nybegynder
14. august 2001 - 16:35 #38
Det prøver jeg nu... Den linie hvor den skriver resultatet ud, hvor dan skal man skrive i java?, jeg prøver sådan her, men det virker ikke:

document.write \'Resultat: \'+T.R+\'<br>\';
Avatar billede winkill Nybegynder
14. august 2001 - 16:42 #39
Response er med stort R og Write med stort W ;o)

Document.Write(\'Resultat: \'+T.R+\'<br>\');
Avatar billede winkill Nybegynder
14. august 2001 - 16:43 #40
Jeg smutter hjem nu - kommer først igen i morgen.
Avatar billede jgp Nybegynder
22. august 2001 - 11:48 #41
Kan man få denne kode til at virke, hvis man bruger VBScript??
Avatar billede david_dollas Nybegynder
22. august 2001 - 12:18 #42
Det tror jeg ikke. Men det må sku da være muligt at få en java variabel til en vb variabel...
Avatar billede jgp Nybegynder
22. august 2001 - 12:22 #43
david_dollas: Kan det være et problem med at JScriptet blvier udført før VBScriptet?
Avatar billede david_dollas Nybegynder
22. august 2001 - 12:25 #44
Ja, muligvis... Kom med en ide...
Avatar billede jgp Nybegynder
22. august 2001 - 12:54 #45
jeg har ingen ide til hvordan man kan få afviklet sit ASP/VB script, før JScriptet stopper timeren!?
Avatar billede david_dollas Nybegynder
22. august 2001 - 12:57 #46
Dette er spørgsmålet:

java

asp

java

VBscript variabel = javascript variabel



Det er sådan det ser ud.
Avatar billede jgp Nybegynder
22. august 2001 - 13:02 #47
Tjow..

Jeg vil beskrive problemet sådan her

Udfør:
JScript (start timer)
Udfør ASP/VB scripts (div scripts)
JScript (stop timer)

Det den gør nu er:
JScript (start timer)
JScript (stop timer)
Udfør ASP/VB scripts (div scripts)
Dette gør den også selvom at scriptne står som i det første eksemples rækkefølger.
Avatar billede david_dollas Nybegynder
22. august 2001 - 13:04 #48
Nej, det passer ikke helt, for den regner faktisk det rigtige ud, jeg har bare lavet det sådan at den skriver værdien ud i <script></script> taget. Det den så skal er putte java variablen over i en VBScript variabel.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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