2016-04-27 14 views
0

Beschreibung:offline Javascript Ran Autoupdating Rechner und Tabellenkalkulations-

Ich brauche eine Kalkulationstabelle Typ Rechner machen Informationen aus einem Online-Spiel zu verfolgen (ArcheAge). Diese "Tabelle" muss Informationen enthalten und eine Reihe von Werten automatisch in Schritten von 5 Minuten aktualisieren (vorzugsweise als Datei auf ihrem Computer gespeichert. Dies ist eine Offline-Anwendung, an der ich gerade arbeite).

Details:

Ich war bei der Einrichtung eine Openoffice-Tabelle zu unterstützen gefragt und Informationen speichern zu verfolgen. Die meisten Daten werden manuell eingegeben und in der Tabelle gespeichert, die sie bereits erstellt haben. Allerdings hatte er das Problem, dass ein Feld automatisch in Schritten von 5 Minuten aktualisiert wurde.

Ich schaute mir an, was er hatte und versuchte einen einfachen (labour = labour + 10 [alle 5 Minuten]) Formel-Typ zu erstellen, aber da Tabellenkalkulationsreferenz nicht verwendet werden kann, war es unmöglich, dieses Feld zu bekommen Auto-Update alle 5 Minuten.

Die Tabelle enthält 9 Spalten mit Daten und 24 Zeilen mit Gruppen. Die Spalten sind (id) (charName) (Arbeit) (freeLabor) (Berufung) (Token) (timeOnline) (realTime) (Abonnement), plus er fügte eine Zelle hinzu, um das Datum zu halten und eine andere, um die Zeit zu halten (beide vom System) Uhr - Datum() und jetzt()).

Jede Zeile enthält 1 Zeichen (was eine Datenbanktabelle wäre).

Er die (Arbeits-) Werte für jedes Zeichen zur automatischen Aktualisierung dieser Funktion aller 5 Minuten mit dem Wert von New Arbeit (Arbeit = Arbeit + 10), aber dies ist eine kreisförmige Referenz und Tabellen können nicht tun will (zumindest ohne ein Drittanbieter-Programm oder Add-In, soweit ich das beurteilen kann).

Also schaute ich es an und versuchte eine Arbeit zu finden. Schaute viele Beiträge online und kam fast zu einer Lösung, aber niemand half mit, was wir tun müssen. Als Ergebnis bot ich an, ein HTML-Dokument für ihn zu erstellen, um Off-Line zu verwenden und es so zu codieren, dass es wie eine Tabelle funktioniert. Der Code ist unten.

Anforderungen: Bearbeitet: Referenzänderung 3 unten.

Ich muss versuchen, einen Weg zu finden, diese Form Daten in einer Datei auf dem Host-PC (offline) gespeichert zu haben, so dass der Benutzer nicht alle Daten jedes Mal erneut eingeben muss, wenn das Formular ist lief.

Hinweis - Dieser Abschnitt wurde unter dieser Zeile geändert.

Ich brauche eine Non-PhP (Javascript und HTML oder andere Methode) Lösung zu Wert erhöhen die Arbeitszellen für jeden Zeichensatz um 10 Punkte alle 5 Minuten zu erhöhen. Er möchte, dass die Zellendaten änderbar sind, ohne den Code zu unterbrechen (etwas wie getData, Code zum Inkrementieren ausführen und den neuen Wert in die Zelle schreiben). Ich möchte auch versuchen, den Code in Datei zu speichern, damit er die Werte nicht jedes Mal erneut eingeben muss, wenn er das Dokument ausführt.

Die Lösung sollte die Daten wie eine Tabelle, eine Tabelle oder eine Datenbank anzeigen, während HTML und Javascript verwendet werden. Wenn Sie eine andere Lösungsmethode haben, können Sie Ihre Gedanken darüber, wie ich diese Datentabelle erstellen kann, hinzufügen.

Edit 1: Ich dachte, ich sollte erwähnen, dass der Wert von (Labor) niemals 5.000 überschreiten sollte und nicht unter 0 gehen kann.- hinzugefügt 01:43 27Apr2016

Edit 2: Hinzugefügt eine bessere Identifizierung von was im Block "Needs" benötigt wird. - hinzugefügt 01:51 27 Apr 2016

Edit 3: Geändert zuerst JavaScript-Code für Arbeitsberechnungen. Es ist jetzt eine verschachtelte wenn Anweisung innerhalb einer für Schleife und läuft jetzt perfekt. Jetzt brauche ich nur noch eine Möglichkeit, Formulardaten im Dokument zu speichern, oder ein separates Dokument für das Programm (falls möglich). Aktualisierter Bedarf Abschnitt. - 5.52 27. April 2016

Hier ist der Code:

HTML

<section> 
<!-- Used to create time stamp at top of page. --> 
<p id="time"></p> 

<!-- Name of page. --> 
<header style="text-align: center;">ArcheAge Test Calculator</header> 
<br /> 

<!-- The Form shown on the page. --> 
<form id-form1" name="testcalc"> 
    <!-- Nested Table in Form.--> 
    <table> 
     <tr> 
      <th>Character Name</th> 
      <th>Labor</th> 
      <th>Free Labor</th> 
      <th>Vocation</th> 
      <th>Tokens</th> 
      <th>Time/Online</th> 
      <th>Subscription</th> 
     </tr> 
     <tr> 
      <td><input type="text" id="name1" value="Solareclipse" name="charname"/></td> 
      <td><input type="text" id="labor1" value="" name="labor"/></th> 
      <td><input type="text" id="free1" value="Test data" name="freelabor"/></td> 
      <td><input type="text" id="vocation1" value="Test data" name="voc"/></td> 
      <td><input type="text" id="tokens1" value="Test data" name="token"/></td> 
      <td><input type="text" id="online1" value="Test data" name="online"/></td> 
      <td><input type="text" id="sub1" value="Test data" name="sub"/></td>   
     </tr> 
     <tr> 
      <td><input type="text" id="name2" value="Farmergirl" name="charname"/></td> 
      <td><input type="text" id="labor2"/></td> 
      <td><input type="text" id="free2" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation2" value="" name="voc"/></td> 
      <td><input type="text" id="tokens2" value="" name="token"/></td> 
      <td><input type="text" id="online2" value="" name="online"/></td> 
      <td><input type="text" id="sub2" value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name3" value="Peacemaker" name="charname"/></td> 
      <td><input type="text" id="labor3"/></td> 
      <td><input type="text" id="free3" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation3" value="" name="voc"/></td> 
      <td><input type="text" id="tokens3" value="" name="token"/></td> 
      <td><input type="text" id="online3" value="" name="online"/></td> 
      <td><input type="text" id="sub3" value="" name="sub"/></td>   
     </tr> 
     <tr> 
      <td><input type="text" id="name4" value="Irene" name="charname"/></td> 
      <td><input type="text" id="labor4"/></td> 
      <td><input type="text" id="free4" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation4" value="" name="voc"/></td> 
      <td><input type="text" id="tokens4" value="" name="token"/></td> 
      <td><input type="text" id="online4" value="" name="online"/></td> 
      <td><input type="text" id="sub4" value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name5" value="Admiral" name="charname"/></td> 
      <td><input type="text" id="labor5"/></td> 
      <td><input type="text" id="free5" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation5" value="" name="voc"/></td> 
      <td><input type="text" id="tokens5" value="" name="token"/></td> 
      <td><input type="text" id="online5" value="" name="online"/></td> 
      <td><input type="text" id="sub5" value="" name="sub"/></td>   
     </tr> 
     <tr> 
      <td><input type="text" id="name6" value="Huffer" name="charname"/></td> 
      <td><input type="text" id="labor6"/></td> 
      <td><input type="text" id="free6" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation6" value="" name="voc"/></td> 
      <td><input type="text" id="tokens6" value="" name="token"/></td> 
      <td><input type="text" id="online6" value="" name="online"/></td> 
      <td><input type="text" id="sub6" value="" name="sub"/></td> 
     </tr> 
     <tr> 
      <td><input type="text" id="name7" value="Sisco" name="charname"/></td> 
      <td><input type="text" id="labor7"/></td> 
      <td><input type="text" id="free7" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation7" value="" name="voc"/></td> 
      <td><input type="text" id="tokens7" value="" name="token"/></td> 
      <td><input type="text" id="online7" value="" name="online"/></td> 
      <td><input type="text" id="sub7" value="" name="sub"/></td> 
     </tr> 
     <tr> 
      <td><input type="text" id="name8" value="Martha" name="charname"/></td> 
      <td><input type="text" id="labor8"/></td> 
      <td><input type="text" id="free8" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation8" value="" name="voc"/></td> 
      <td><input type="text" id="tokens8" value="" name="token"/></td> 
      <td><input type="text" id="online8" value="" name="online"/></td> 
      <td><input type="text" id="sub8" value="" name="sub"/></td> 
     </tr> 
     <tr> 
      <td><input type="text" id="name9" value="Octavia" name="charname"/></td> 
      <td><input type="text" id="labor9"/></td> 
      <td><input type="text" id="free9" value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation9"value="" name="voc"/></td> 
      <td><input type="text" id="tokens9"value="" name="token"/></td> 
      <td><input type="text" id="online9"value="" name="online"/></td> 
      <td><input type="text" id="sub9"value="" name="sub"/></td> 
     </tr> 
     <tr> 
      <td><input type="text" id="name10" value="Samantha" name="charname"/></td> 
      <td><input type="text" id="labor10"/></td> 
      <td><input type="text" id="free10"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation10"value="" name="voc"/></td> 
      <td><input type="text" id="tokens10"value="" name="token"/></td> 
      <td><input type="text" id="online10"value="" name="online"/></td> 
      <td><input type="text" id="sub10"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name11" value="Joker" name="charname"/></td> 
      <td><input type="text" id="labor11"/></td> 
      <td><input type="text" id="free11"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation11"value="" name="voc"/></td> 
      <td><input type="text" id="tokens11"value="" name="token"/></td> 
      <td><input type="text" id="online11"value="" name="online"/></td> 
      <td><input type="text" id="sub11"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name12" value="GoodKush" name="charname"/></td> 
      <td><input type="text" id="labor12"/></td> 
      <td><input type="text" id="free12"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation12"value="" name="voc"/></td> 
      <td><input type="text" id="tokens12"value="" name="token"/></td> 
      <td><input type="text" id="online12"value="" name="online"/></td> 
      <td><input type="text" id="sub12"value="" name="sub"/></td> 
     </tr> 
     <tr> 
      <td><input type="text" id="name13" value="Minerguy" name="charname"/></td> 
      <td><input type="text" id="labor13"/></td> 
      <td><input type="text" id="free13"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation13"value="" name="voc"/></td> 
      <td><input type="text" id="tokens13"value="" name="token"/></td> 
      <td><input type="text" id="online13"value="" name="online"/></td> 
      <td><input type="text" id="sub13"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name14" value="Lunareclipse" name="charname"/></td> 
      <td><input type="text" id="labor14"/></td> 
      <td><input type="text" id="free14"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation14"value="" name="voc"/></td> 
      <td><input type="text" id="tokens14"value="" name="token"/></td> 
      <td><input type="text" id="online14"value="" name="online"/></td> 
      <td><input type="text" id="sub14"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name15" value="Peacemaker" name="charname"/></td> 
      <td><input type="text" id="labor15"/></td> 
      <td><input type="text" id="free15"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation15"value="" name="voc"/></td> 
      <td><input type="text" id="tokens15"value="" name="token"/></td> 
      <td><input type="text" id="online15"value="" name="online"/></td> 
      <td><input type="text" id="sub15"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name16" value="Minergirl" name="charname"/></td> 
      <td><input type="text" id="labor16"/></td> 
      <td><input type="text" id="free16"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation16"value="" name="voc"/></td> 
      <td><input type="text" id="tokens16"value="" name="token"/></td> 
      <td><input type="text" id="online16"value="" name="online"/></td> 
      <td><input type="text" id="sub16"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name17" value="Commander" name="charname"/></td> 
      <td><input type="text" id="labor17"/></td> 
      <td><input type="text" id="free17"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation17"value="" name="voc"/></td> 
      <td><input type="text" id="tokens17"value="" name="token"/></td> 
      <td><input type="text" id="online17"value="" name="online"/></td> 
      <td><input type="text" id="sub17"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name18" value="Minerguyy" name="charname"/></td> 
      <td><input type="text" id="labor18"/></td> 
      <td><input type="text" id="free18"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation18"value="" name="voc"/></td> 
      <td><input type="text" id="tokens18"value="" name="token"/></td> 
      <td><input type="text" id="online18"value="" name="online"/></td> 
      <td><input type="text" id="sub18"value="" name="sub"/></td>   
     </tr> 
     <tr> 
      <td><input type="text" id="name19" value="Odoo" name="charname"/></td> 
      <td><input type="text" id="labor19"/></td> 
      <td><input type="text" id="free19"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation19"value="" name="voc"/></td> 
      <td><input type="text" id="tokens19"value="" name="token"/></td> 
      <td><input type="text" id="online19"value="" name="online"/></td> 
      <td><input type="text" id="sub19"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name20" value="Pheobe" name="charname"/></td> 
      <td><input type="text" id="labor20"/></td> 
      <td><input type="text" id="free20"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation20"value="" name="voc"/></td> 
      <td><input type="text" id="tokens20"value="" name="token"/></td> 
      <td><input type="text" id="online20"value="" name="online"/></td> 
      <td><input type="text" id="sub20"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name21" value="Spacewalker" name="charname"/></td> 
      <td><input type="text" id="labor21"/></td> 
      <td><input type="text" id="free21"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation21"value="" name="voc"/></td> 
      <td><input type="text" id="tokens21"value="" name="token"/></td> 
      <td><input type="text" id="online21"value="" name="online"/></td> 
      <td><input type="text" id="sub21"value="" name="sub"/></td>   
     </tr> 
     <tr> 
      <td><input type="text" id="name22" value="Drunkflowers" name="charname"/></td> 
      <td><input type="text" id="labor22"/></td> 
      <td><input type="text" id="free22"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation22"value="" name="voc"/></td> 
      <td><input type="text" id="tokens22"value="" name="token"/></td> 
      <td><input type="text" id="online22"value="" name="online"/></td> 
      <td><input type="text" id="sub22"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name23" value="Joker" name="charname"/></td> 
      <td><input type="text" id="labor23"/></td> 
      <td><input type="text" id="free23"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation23"value="" name="voc"/></td> 
      <td><input type="text" id="tokens23"value="" name="token"/></td> 
      <td><input type="text" id="online23"value="" name="online"/></td> 
      <td><input type="text" id="sub23"value="" name="sub"/></td>  
     </tr> 
     <tr> 
      <td><input type="text" id="name24" value="Badkush" name="charname"/></td> 
      <td><input type="text" id="labor24"/></td> 
      <td><input type="text" id="free24"value="" name="freelabor"/></td> 
      <td><input type="text" id="vocation24"value="" name="voc"/></td> 
      <td><input type="text" id="tokens24"value="" name="token"/></td> 
      <td><input type="text" id="online24"value="" name="online"/></td> 
      <td><input type="text" id="sub24"value="" name="sub"/></td>  
     </tr> 
    </table><!-- End Table --> 
</form><!-- End Form --> 

JavaScript

<!-- Script to run Labor calculations. --> 
 
<script type="text/javascript"> 
 
\t 
 
\t function increment(){ 
 
\t \t for(var i=1; i<=24; i++){ 
 
\t \t \t var id = "labor"+i; 
 
\t \t \t var points = document.getElementById(id).value; 
 
\t \t \t if(points>=4990){ 
 
\t \t \t \t document.getElementById(id).value=5000; 
 
\t \t \t } 
 
\t \t \t else{ 
 
\t \t \t \t document.getElementById(id).value=Number(document.getElementById(id).value)+10; 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
\t increment() 
 
</script> 
 

 
<!-- Script to run Time Stamp at top of page. --> 
 
<script type="text/javascript"> 
 
\t var date = new Date(); 
 
\t var n = date.toDateString(); 
 
\t var time = date.toLocaleTimeString(); 
 
\t 
 
\t document.getElementById('time').innerHTML = n + ' ' + time; 
 
</script>

Antwort

1

Sie haben nicht wirklich gesagt, was Ihr Problem ist, also werde ich Ihnen stattdessen die Magie der for-Schleifen vorstellen.

Anstatt dieselbe Zeile 24 Mal zu schreiben, schreibe diesen Code einmal!

for(var i=1; i<=24; i++){ 
    var id = "labor" + i; 
    var n = Number(document.getElementById(id).innerHTML); 
    n += 10; 
    document.getElementById(id).innerHTML = n; 
} 

Erläuterung:

Die for-Schleife eine Variable i am Anfang schafft, und setzt es auf 1. Für die erste Schleife, wir den Text "Labor1" müssen, so eine weitere Variable-ID erstellen, die ist die Verkettung von "Arbeit" mit dem, was ich bin (gerade jetzt, 1).

Dann machen Sie Ihre document.getElementById("labor1").value thingy, aber da die Variable ID bereits "labor1" ist, können wir es in der Schleife ersetzen. Das + = 10 Bit ist nur eine Abkürzung für "add 10 zu diesem Wert".

Die for-Schleife überprüft dann, um zu sehen, dass ich weniger als 24 (es ist) ist und das i ++ Bit fügt 1 zu i hinzu (so ist es jetzt 2). Dann wiederholt die Schleife den gleichen Code 23 Mal, bis ich> 24 bin.

Wenn Sie clever waren, könnten Sie die Seite auch programmatisch erstellen, da es so aussieht, als würden viele Ihrer Elemente dort wiederholt.

+0

Danke für Ihre Eingabe obstoftheeloins. Ich habe ein wenig mehr Details zu dem, was ich brauche, im Abschnitt "Bedürfnisse" des Posts hinzugefügt. Ich werde die Schleife in einer zukünftigen Iteration berücksichtigen. –

+0

auch, fügt Ihre Schleife nur die Zahl 10 an, was auch immer der aktuelle Wert ist. Also, wenn ich mit 0 beginne, macht es den Wert 10. Wenn es wieder zyklisch läuft, macht es 1010, dann 101010 und so weiter. –

+0

Entschuldigung. Ich habe meine Antwort aktualisiert. –

Verwandte Themen