Einheiten-Umrechner (Eingabe von set p auf zwei Zeichen beschränken und Resultat Drucken)
Hallo zusammen
Ich arbeite gerade an einem kleinen Behelfstool für die Firma nun habe ich einen kleinen Rechner geschrieben welcher mcg/l in nmol/l umrechnet. Mein Problem ist jedoch, da cmd leider keine Kommastellen berechnen kann und ich diese mit Hilfe von Multiplikationen und Substraktionen ermittle, muss die Eingabe der Nachkommastelle immer aus zwei Zahlen bestehen.
Das Resultat das ausgegeben wird würde ich dann gerne Ausdrucken.
Update:07.04.13
Wie kann ich dies Definieren, dass die Eingabe einer Variable
1. nicht weniger oder mehr als Zwei Zahlen beinhalten darf und
2. dass die Eingabe aus Zahlen bestehen MUSS
3. Das Resultat gedruckt wird --> siehe Update
Hier der Ausschnitt des Scripts um den es geht
Bei diesem Script erhalte ich aber jedes mal "Zu viele Zeichen" egal was ich eingebe.
Wie ich die Eingabe auf Zahlen beschränken kann habe ich noch nicht herausgefunden...
Hier noch im Zusammenhang mit dem Rechner:
Habe die Überprüfung bisher nur bei der Variable gmolnk integriert aber wie gesagt noch ohne Erfolg
Was ich noch gerne möchte ist, dass man am Schluss bei der Ausgabe der Formel mit Resultat den Fensterinhalt ausdrucken kann. Leider habe ich den entsprechenden Befehl für diese Funktion noch nicht gefunden.
Würde mich über eure Hilfe Freuen.
Danke
P.S.
Wahrscheinlich habe ich zu viele Rechenschritte drin, ich hab diesen Abschnitt Morgens um 4Uhr mittels Try & Error geschrieben und die Errors können durchaus noch vorhanden sein ;)
UPDATE 07.04.13
Was das Drucken anbelangt habe ich jetzt angefangen das Resultat mittels folgenden Code auszugeben
Was ich noch benötige ist, dass das file bei jeder neuer Berechnung geleert wird um einen sauberen Ausdruck zu erhalten.
Eine überlegung wäre wenn ich das txt file vor jeder neuen Berechnung lösche und neu erstelle. Mir wäre es jedoch lieber wenn es ohne löschen gehn würde
Ich arbeite gerade an einem kleinen Behelfstool für die Firma nun habe ich einen kleinen Rechner geschrieben welcher mcg/l in nmol/l umrechnet. Mein Problem ist jedoch, da cmd leider keine Kommastellen berechnen kann und ich diese mit Hilfe von Multiplikationen und Substraktionen ermittle, muss die Eingabe der Nachkommastelle immer aus zwei Zahlen bestehen.
Das Resultat das ausgegeben wird würde ich dann gerne Ausdrucken.
Update:07.04.13
Wie kann ich dies Definieren, dass die Eingabe einer Variable
1. nicht weniger oder mehr als Zwei Zahlen beinhalten darf und
2. dass die Eingabe aus Zahlen bestehen MUSS
3. Das Resultat gedruckt wird --> siehe Update
Hier der Ausschnitt des Scripts um den es geht
echo off
goto EINGABE
:EINGABE
echo Enter Username
set /p UserName=
set minum=%UserName:~3,1%
set maximum=%UserName:~4,1%
IF "%maximum%" EQU "" (
IF "%minum%" NEQ "" (
GOTO GENAU
) ELSE (
echo zu wenig Zeichen
echo.
GOTO EINGABE
)
) ELSE (
echo zu viele Zeichen
echo.
GOTO EINGABE
)
:GENAU
echo genau 4 Zeichen
PAUSE
Bei diesem Script erhalte ich aber jedes mal "Zu viele Zeichen" egal was ich eingebe.
Wie ich die Eingabe auf Zahlen beschränken kann habe ich noch nicht herausgefunden...
Hier noch im Zusammenhang mit dem Rechner:
:CALC2
cls
echo - - - - - - - - - - - - - - - - - - %DATE% - %TIME% - - - - - - - - - - - - - - - - -
echo Version 1.0b
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo Umrechnung von mcg/l zu nmol/l
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo Name des Stoffes
set /p name=
echo.
echo Eingabe in mcg/l Vor dem Komma (z.B. bei 1.50 wäre es 1)
set /p mcg=
echo.
echo Eingabe in mcg/l nach dem Komma (z.B. bei 1.50 wäre es 50)
set /p mcgnk=
echo.
echo Ihre Eingabe lautet %mcg%.%mcgnk% mcg/l
echo J/N
set /p choice=
if %choice% == j goto RECHNUNG
if %choice% == J goto RECHNUNG
if %choice% == n goto CALC2
if %choice% == N goto CALC2
goto CALC2
:RECHNUNG
cls
echo - - - - - - - - - - - - - - - - - - %DATE% - %TIME% - - - - - - - - - - - - - - - - -
echo Version 1.0b
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo Umrechnung von mcg/l zu nmol/l
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo Erste Eingabe: %mcg%.%mcgnk% mcg/l
echo.
echo Eingabe der Molaren Masse in g/mol vor dem Komma
set /p gmol=
echo.
echo Eingabe der Molaren Masse in g/mol nach dem Komma
set /p gmolnk=
rem --------------------PROBLEM------------------------
set minum=%gmolnk:~2,1%
set maximum=%gmolnk:~2,1%
IF "%maximum%" EQU "" (
IF "%minum%" NEQ "" (
goto WEITER0
) ELSE (
echo zu wenig Zeichen
ping -n 2 localhost >NUL
echo.
GOTO RECHNUNG
)
) ELSE (
echo zu viele Zeichen
ping -n 3 localhost >NUL
echo.
GOTO RECHNUNG
)
rem --------------------PROBLEM------------------------
:WEITER0
echo.
echo Ihre Eingabe lautet %gmol%.%gmolnk% g/mol
echo J/N
set /p choice=
if %choice% == j goto RECHNUNG2
if %choice% == J goto RECHNUNG2
if %choice% == n goto RECHNUNG
if %choice% == N goto RECHNUNG
goto RECHNUNG
:RECHNUNG2
set /a mal0="100000"
set /a mal1="10000000"
set /a mal2="100"
set /a prod0=%mcg%*%mal1%
set /a prod1=%mcgnk%*%mal0%
set /a prod2=%prod0%+%prod1%
set /a prod3=%gmol%*%mal2%
set /a prod4=%gmolnk%*"1"
set /a prod5=%prod3%+%prod4%
set /a prom0=%prod5%/%mal0%
set /a div0=%prod2%/%prod5%
set /a dif0=%div0%/"100"
set /a dif1=%dif0%*"100"
set /a nk0=%div0%-%dif1%
cls
echo - - - - - - - - - - - - - - - - - - %DATE% - %TIME% - - - - - - - - - - - - - - - - -
echo Version 1.0b
echo.
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo Umrechnung von mcg/l zu nmol/l
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
echo.
echo.
echo Stoffname: %name%
echo.
echo.
echo.
echo %mcg%.%mcgnk% mcg/l
echo ------------------ x 1000 = %dif0%.%nk0% nmol/l
echo %gmol%.%gmolnk% g/mol
echo.
echo.
echo.
echo.
echo.
echo 0 für Zurück 1 für erneute Berechnung
set /p choice=
if %choice% == 0 goto TOOLS
if %choice% == 1 goto CALC1
if %choice% == z goto ZS
Habe die Überprüfung bisher nur bei der Variable gmolnk integriert aber wie gesagt noch ohne Erfolg
Was ich noch gerne möchte ist, dass man am Schluss bei der Ausgabe der Formel mit Resultat den Fensterinhalt ausdrucken kann. Leider habe ich den entsprechenden Befehl für diese Funktion noch nicht gefunden.
Würde mich über eure Hilfe Freuen.
Danke
P.S.
Wahrscheinlich habe ich zu viele Rechenschritte drin, ich hab diesen Abschnitt Morgens um 4Uhr mittels Try & Error geschrieben und die Errors können durchaus noch vorhanden sein ;)
UPDATE 07.04.13
Was das Drucken anbelangt habe ich jetzt angefangen das Resultat mittels folgenden Code auszugeben
blabla >>\\server\ordner\resultat.txt
Eine überlegung wäre wenn ich das txt file vor jeder neuen Berechnung lösche und neu erstelle. Mir wäre es jedoch lieber wenn es ohne löschen gehn würde
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204533
Url: https://administrator.de/forum/einheiten-umrechner-eingabe-von-set-p-auf-zwei-zeichen-beschraenken-und-resultat-drucken-204533.html
Ausgedruckt am: 25.12.2024 um 13:12 Uhr
4 Kommentare
Neuester Kommentar