Not logged in. · Lost password · Register
Forum: Non-English Discussion German discussion RSS
Einstieg / Machbarkeit Berechnung Drehzahl
Avatar
UPler #1
Member since Mar 2015 · 4 posts
Group memberships: Members
Show profile · Link to this post
Subject: Einstieg / Machbarkeit Berechnung Drehzahl
Guten Tag,

Ich bin blutiger Anfänger im DokuWiki
Das System hat mir mein EDVler auf dem Server installiert.
Dokuwiki läuft bei mir im Intranet, Standardinstallation

Einbindung von PDFs und URLs Funktioniert einwandfrei.

Mein aktuelles Vorhaben:

Ich möchte eine Rechenseite für meine Kollegen anlegen.

z.B. Eingabe von Durchmesser und Schnittgeschwindigkeit - Ergebnis ist die Drehzahl


Programmierkenntnisse in QBasic, TurboPascal und Lazarus vorhanden.

Dieses könnte ich in Lazarus (Delphi Klon) schreiben, möchte das aber gerne direkt auf der Seite
realisieren evtl. mit HTML oder PHP (keine Erfahrung meinerseits)

Ist das möglich und mit relativ wenig Aufwand zu verwirklichen?
(vorerst ohne Nutzung einer Datenbank nur direkt berechnen wie am Taschenrechner)

Falls ja bitte um einen Einstieg wie ich den Code in die entsprechende Seite integriere

Konkretes Beispiel

Eingabe Durchmesser in mm (d)
Eingabe Schnittgeschwindigkeit in m/min (Vc)

Berechnen n=Vc*1000/3.14*d
Ausgabe Drehzahl n

Danke für die Mühe
  UPler
Avatar
cziehr #2
Member since Jan 2011 · 647 posts · Location: 10119 Berlin
Group memberships: Members
Show profile · Link to this post
Hallo UPler,

dein Vorhaben lässt sich mittels JavaScript relativ leicht umsetzen. Ich habe in meinem Wiki auch einige Berechnungen eingebunden, ein Beispiel hier: http://wiki.einsatzleiterwiki.de/doku.php?id=allgemein:fla…

Wenn dein Wiki wirklich nur im Intranet läuft und keine Gefahr besteht dass dir jemand Schadcode einfügen will reicht es aus in der Wiki-Konfiguration HTML zu aktivieren. Falls du viel Wert auf Sicherheit legst oder nicht auszuschließen ist dass du das Wiki doch mal im Internet betreiben willst, dann kannst du auch das incl_form-Plugin verwenden, allerdings in einer modifizierten Form (sag einfach nochmal Bescheid wenn du das willst und ich führe das genauer aus).

Auf der Seite selbst fügst du dann einfach den Programmcode für deine Berechnung ein. Bin gerade nicht am Computer und kann dir deshalb hier gerade kein Beispiel einfügen, das reiche ich nach.


Viele Grüße,
Christoph
Avatar
cziehr #3
Member since Jan 2011 · 647 posts · Location: 10119 Berlin
Group memberships: Members
Show profile · Link to this post
Hallo,

hier der Code für die vorher verlinkte Quader-Berechung. Wenn du HTML in der Wiki-Konfiguration eingeschaltet hast kannst du den folgenden Code einfach einfügen und an deine Bedürfnisse anpassen. Du solltest auf der Wiki-Seite zusätzlich das Kommando ~~NOCACHE~~ einfügen, da sonst evtl. deine Änderungen bei Berechnungen erst zeitverzögert bzw. vorerst gar nicht angezeigt werden.

<script language="JavaScript">

// Globale Variablen, die sowohl in der Input- als auch in der Output-Funktion verwenden werden
var volumen_quader_laenge,volumen_quader_breite,volumen_quader_hoehe,volumen_quader_dichte;

// Ein-/Ausgabe-Funktionen
function input_volumen_quader(){
    // Speichern des Werts aus dem Eingabefeld in die entsprechende Variable. Man könnte auch mit dem Eingabewert weiterrechnen, aber aufgrund der Länge ist mir das etwas kompliziert
    volumen_quader_laenge = document.volumen_quader_form.input_volumen_quader_laenge.value;
    // Hier werden alle , durch . ersetzt. Das ist notwendig, weil die Nachkommastellen mit einem Punkt abgetrennt werden.
    volumen_quader_laenge = volumen_quader_laenge.replace(/,/, ".");
    volumen_quader_breite = document.volumen_quader_form.input_volumen_quader_breite.value;
    volumen_quader_breite = volumen_quader_breite.replace(/,/, ".");
    volumen_quader_hoehe = document.volumen_quader_form.input_volumen_quader_hoehe.value;
    volumen_quader_hoehe = volumen_quader_hoehe.replace(/,/, ".");
    volumen_quader_dichte = document.volumen_quader_form.input_volumen_quader_dichte.value;
    volumen_quader_dichte = volumen_quader_dichte.replace(/,/, ".");
}


function output_volumen_quader(){
   var volumen_quader_volumen,volumen_quader_oberflaeche,volumen_quader_gewicht;
if (volumen_quader_laenge <= 0)
  {
  alert("Die Länge darf nicht kleiner oder gleich 0 sein!");
  }
else if (volumen_quader_breite <= 0)
  {
  alert("Die Breite darf nicht kleiner oder gleich 0 sein!");
  }
else if (volumen_quader_hoehe <= 0)
  {
  alert("Die Höhe darf nicht kleiner oder gleich 0 sein!");
  }
else if (volumen_quader_dichte < 0)
  {
  alert("Die Dichte darf nicht kleiner als 0 sein!");
  }
else
  {
   document.getElementById("volumen_quader_ueberschrift").innerHTML = ("<b>Ergebnisse der Quaderberechnung</b>");
   if (document.volumen_quader_form.input_volumen_quader_dichte_einheit[1].checked == true)
   {
   volumen_quader_dichte = volumen_quader_dichte * 1000;
   }
   volumen_quader_volumen = Math.round(( volumen_quader_laenge * volumen_quader_breite * volumen_quader_hoehe) * 1000 ) / 1000 ;
   document.getElementById("volumen_quader_volumen_div").innerHTML = ("Volumen: " + volumen_quader_volumen + " m³");
   volumen_quader_oberflaeche = Math.round(( 2 * volumen_quader_laenge * volumen_quader_breite + 2 * volumen_quader_laenge * volumen_quader_hoehe + 2 * volumen_quader_breite * volumen_quader_hoehe) * 1000 ) / 1000 ;
   document.getElementById("volumen_quader_oberflaeche_div").innerHTML = ("Oberfläche: " + volumen_quader_oberflaeche + " m²");
   if (volumen_quader_dichte > 0)
   {
   volumen_quader_gewicht = Math.round(( volumen_quader_dichte * volumen_quader_volumen) * 1000 ) / 1000 ;
   document.getElementById("volumen_quader_gewicht_div").innerHTML = ("Gewicht: " + volumen_quader_gewicht + " kg");
   }
}
}
</script>

// Eingabeformular
<form name="volumen_quader_form">
<table>
<tbody>
<tr>
<td>L&auml;nge: </td>
<td> <input name="input_volumen_quader_laenge" size="10" value="" type="text"> m </td>
</tr>
<tr>
<td>Breite: </td>
<td> <input name="input_volumen_quader_breite" size="10" value="" type="text"> m </td>
</tr>
<tr>
<td>H&ouml;he: </td>
<td> <input name="input_volumen_quader_hoehe" size="10" value="" type="text"> m </td>
</tr>
<tr>
<td>[optional]<br />Dichte: </td>
<td> <input name="input_volumen_quader_dichte" size="10" value="" type="text"> </td>
<td><input type="radio" name="input_volumen_quader_dichte_einheit" value="kgm3" checked> kg/m³ <br />
    <input type="radio" name="input_volumen_quader_dichte_einheit" value="gcm3"> g/cm³<td>
</tr>
</tbody>
</table>


<!-- Aufruf der Funktionen input_volumen_quader() und output_volumen_quader() beim Klicken auf folgende Schaltfläche -->
<p><input value=" Quader berechnen " onclick="input_volumen_quader(),output_volumen_quader()" type="button" >&nbsp;(auf 3 Nachkommastellen gerundet)</p>
</form>

// Ausgabe
<div id="volumen_quader_ueberschrift"></div>
<div id="volumen_quader_volumen_div"></div>
<div id="volumen_quader_oberflaeche_div"></div>
<div id="volumen_quader_gewicht_div"></div>


Wenn du die Berechnung anpasst, solltest du immer wie folgt vorgehen (das entspricht nicht der logischen Reihenfolge "von oben nach unten"!):
1. Eingabeformular festlegen, daraus ergeben sich die Variablen mit denen du in den weiteren Schritten hantierst
2. Ein- und Ausgabefunktion programmieren
3. Ausgabebereich mit den divs anpassen

Da du ja schreibst dass du Programmiererfahrung hast sollte der Code für dich eigentlich nicht besonders schwer zu verstehen sein!?

Wenn noch Fragen sind oder du lieber das incl-form-Plugin nutzen würdest als generell HTML freizuschalten, dann melde dich einfach nochmal.

Viele Grüße,
Christoph
Avatar
UPler #4
Member since Mar 2015 · 4 posts
Group memberships: Members
Show profile · Link to this post
Danke Christoph,

das HTML hab ich noch nicht probiert, aber deine tolle Feuerwehr-Seite genauestens
begutachtet und nehme das als Inspiration.

Ich habe grad mit dieser Tabelle gespielt

_____________________________
Liste Backen / f.CAM


^  Futter ^  äussere\\ Stellung  ^  innere\\ Stellung  ^
|  12 inch     |  1mm  |  5mm  |


Backen

^  Backen  ^  lange Seite aussen  ^  lange Seite innen  ^
|  KM-WB121    |  +6,5  |  -13  |
|      0        |    0   |   0    |
_____________________________

und jetzt stellt sich folgende Frage:

kann man ohne Schreibrechte die Tabellen fortführen ?
oder die Schreibrechte individuell begrenzen ? (jeder soll diese Seite editieren können aber nur den Inhalt der Tabellen)

meine Mitarbeiter sollen hier einige Werkzeuge ausmessen und selbst eintragen,
ohne genauere Kenntnis des Wikis

Wenn ja, bitte ein Beispiel
oder gibt es hier noch andere Möglichkeiten

danke
Rupert
Avatar
Pixel #5
Member since Nov 2012 · 63 posts · Location: Aachen; Germany
Group memberships: Members
Show profile · Link to this post
Hey,

also für dein Tabellen-Problem gibt es die Kombination aus den Plugins bureaucracy und pagemod:

https://www.dokuwiki.org/plugin:pagemod

https://www.dokuwiki.org/plugin:bureaucracy

Prinzipiell erzeugst du ein Eingabeformular mit bureaucracy und lässt die Eingabe dann mit Hilfe von pagemod in eine Tabelle schreiben. Also jedes mal wenn jemand das Formular ausfüllt, wird eine zusätzliche Zeile erstellt und die Tabelle erweitert. Auch Personen mit Read-Rechten können das Formular nutzen und somit die Tabelle fortführen. Allerdings geht editieren/löschen von bereits erstellten Tabelleninhalten mit dieser Lösung nicht, soweit ich weiss. Also nur mit Schreibrechten/Editor.

Gruß
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2020-01-27, 20:50:18 (UTC +01:00)