Vielen Dank!
Vielen Dank!
Um auszuschließen, daß bei leerem Parameter eine Fehlermeldung erzeugt wird ist es günstiger zu schreiben:Original geschrieben von felix000
if %1==""
dann wird geprüft ob der Parameter existiert
if %1==alarm
dann wird geprüft ob der 1.Parameter Alarm ist.
if *%1*==*alarm*
denn dann lautet die Abfrage bei leerem Parmeter
if **==*alarm*
was immer noch einen korrekten Befehl ergibt im Gegensatz zu
if ==alarm
was zu einer Fehlermeldung führt.
Die Abfrage auf die Existenz eines Parameters lautet dann analog
if *%1*==**
Direkt hinter der Vergleichsanweisung muß dann der Befehl stehen, der bei positivem Vergleich ausgeführt werden soll. Wenn es mehere Befehle sind, dann muß hier ein GOTO label stehen, da der nächste Befehl auch dann ausgeführt wird, wenn der Vergleich negativ ausfällt.
BeispielAuch ist zu Bedenken, das die Abfraqge nur dann erfüllt ist, wenn der Parameter wirklich den Wert alarm hat Ein Wert von Alarm führt dazu, daß der Vergleich als falsch gewertet wird. Um alle möglichen Schreibweisen des Wortes Alarm (in Groß-/Kleinschreibung) zu berücksichtigen, müssen diese jeweils als eigene Vergleichzeile aufgeführt werden, was insbesondere bei längeren Worten schon sehr Schreibintensiv werden kann.Code:if *%1*==*alarm* goto ALARM rem hier stehen alle Befehle, die ausgeführt werden, wenn Parameter 1 ungleich alarm. ... ... goto ENDE :ALARM rem hier stehen alle Befehle die bei Parameter 1 gleich alarm ausgeführt werden ... ... :ENDE
Mit kameradschaftlichen Grüßen
FWP
IBSS gibt bei Feuerwehren, die einen Umlaut im Namen haben immer den Status "Text ist leer" aus.
An was kann das liegen?
mfg Christoph
Hallo Allerseits!Original geschrieben von MiThoTyN
@Christoph
Andere Idee.
Wenn du in FMS32 die Parameter übergibst häng einfach noch einen willkürlich gewählten hintendran. Also in FMS32 bei den Aktionen könnte es dann so aussehen :
c:\alarm.bat %2 %3 ALARM
In der Batchdatei prüfst du dann als erstes ob der 3 Parameter "ALARM" ist. Wenn ja, dann wurde der Alarm ordnungsgemäß von FMS32 gestartet, wenn nein, dann ist was schief gegangen und du solltest den Alarm abbrechen.
Das ist ne recht sichere Methode, da es sehr unwahrscheinlich ist unabsichtlich als 3ten Parameter "ALARM" da mit rein zu zimmern.
Gruß Joachim
Kann mir jemand die Parameter erklären? Ich habe fms32 und fms32pro getestet, von Parametern beim Start fremder Programme in "Aktionen" habe ich nichts gelesen.
Vielen Dank!
Als Absendernamen ? Das sind Umlaute nicht möglich, weil der Absender direkt in der URL drinne steht. Und da sind Sonderzeichen prinzipiell nicht möglich.Original geschrieben von FFW Pietling 2
IBSS gibt bei Feuerwehren, die einen Umlaut im Namen haben immer den Status "Text ist leer" aus.
An was kann das liegen?
Lösung : ue, ae, oe benutzen ....
Gruß Joachim
Leider hat doch irgend so ein URL-Futzi die Umlaute für Internet-Adressen abgesegnet, mit dem Erfolg, daß die, die sich so eine Adresse (ganz groß sind da natürlich die mÜller und Co, so wie Städte und Gemeinden wie gÖttingen u. a.) reserviert haben, ab sofort von aus dem nicht Keyboard-Layout 0049 stammenden Internetusern nicht mehr erreichbar sind.Original geschrieben von MiThoTyN
Als Absendernamen ? Das sind Umlaute nicht möglich, weil der Absender direkt in der URL drinne steht. Und da sind Sonderzeichen prinzipiell nicht möglich.
Lösung : ue, ae, oe benutzen ....
Gruß Joachim
Aber wie hieß es schon früher so treffend: WER NICHT HöREN WILL, MUß FüHLEN.
Mit kameradschaftlichen Grüßen
FWP
@MiThoTyN: Wäre es ohne größeren Aufwand möglich, das Programm IBSS so umzuschreiben, dass man Pfade selber angeben kann und z.B. die Textdateien nicht zwingend in das Hauptverzeichnis von IBSS tun zu müssen?
Das gibt nämlich mit der Zeit ein ganz schönes Durcheinander, wenn man viele Schleifen hat und dazu noch die Probealarmzeiten usw..
Wäre echt super!
mfg Christoph
Hallo,
diese bat funktioniert nun bei mir wunderbar. Ist es möglich, dass die find-Abfrage so abgeändert wird, dass nicht nur der String "ORT" erscheinen muss, sondern das Wort "ORT".Code:echo %3 >> ort.txt find /c /i "ORT" ort.txt start "C:\Eigene~1\POCSAG\POC32\ibss.exe /U:XXXXXX /P:XXXX /E:XXXXXXXXXXX /A:Feuerwehr /T:2 /F:"c:\Eigene~1\POCSAG\POC32\Ort.txt"" del ort.txt exit
Als Meldungsbeispiel:
"Fahrzeug Stichwort "ORT"er Str. 0815 Stadt"
"FAhrzeug Stichwort Straße Nr. "ORT""
Wie kann ich dasändern, sodass nach dem Meldungstext ein "_" steht? Ist dannCode:echo %3 > ort.txtrichtig?Code:echo "%3_" > ort.txt
Gruß
Sebastian
Habe ich Dich richtig verstanden, wenn ich annehme, Du willst nur dann ein "GEFUNDEN" haben, wenn Du z. B. bei folgenden Alarmtexten:Original geschrieben von DaRake
Hallo,
diese bat funktioniert nun bei mir wunderbar. Ist es möglich, dass die find-Abfrage so abgeändert wird, dass nicht nur der String "ORT" erscheinen muss, sondern das Wort "ORT".Code:echo %3 >> ort.txt find /c /i "ORT" ort.txt start "C:\Eigene~1\POCSAG\POC32\ibss.exe /U:XXXXXX /P:XXXX /E:XXXXXXXXXXX /A:Feuerwehr /T:2 /F:"c:\Eigene~1\POCSAG\POC32\Ort.txt"" del ort.txt exit
Als Meldungsbeispiel:
"Fahrzeug Stichwort "ORT"er Str. 0815 Stadt"
"FAhrzeug Stichwort Straße Nr. "ORT""
Wie kann ich dasändern, sodass nach dem Meldungstext ein "_" steht? Ist dannCode:echo %3 > ort.txtrichtig?Code:echo "%3_" > ort.txt
Gruß
Sebastian
6xxxx Frankfurt Göttinger Straße 123
Göttinger Straße 123 6xxxx Frankfurt
3xxxx Göttingen Frankfurter Straße 999
mit dem Suchtext "Frankfurt" die Zeile "6xxxx Frankfurt Göttinger Straße 123" bzw. "Göttinger Straße 123 6xxxx Frankfurt" als Alarmtext hast?
Die Batch-Datei müßte für diesen Zweck wie folgt abgeändert werden (geänderte Zeilen in rot, zusätzliche Zeilen in gelb, graue Zeilen sind nur Kommentar und können bei der Erstellung der Batch-Datei weggelassen werden):
Komplexe Abfragen auf den Suchbegriff sind allerdings mit einfachen DOS-Befehlen nicht möglich, ohne enormen Aufwand (erhöhte Fehleranfälligkeit) oder externe Programmierung (erfordert Programmierkenntnisse) geht dann nichts mehr.Code:echo %3_ >> ort.txt find /c /i "ORT " ort.txt rem hinter ORT ist ein LEERZEICHEN eingefügt if Errorlevel==1 goto WEITER rem zwischen Errorlevel und 1 stehen 2 Gleichheitszeichen GOTO AKTION :WEITER find /c /i "ORT_" ort.txt if Errorlevel==1 goto ENDE rem zwischen Errorlevel und 1 stehen 2 Gleichheitszeichen :AKTION start "C:\Eigene~1\POCSAG\POC32\ibss.exe /U:XXXXXX /P:XXXX /E:XXXXXXXXXXX /A:Feuerwehr /T:2 /F:"c:\Eigene~1\POCSAG\POC32\Ort.txt"" :ENDE del ort.txt exit
Geändert von fwp (07.06.2005 um 15:36 Uhr)
Mit kameradschaftlichen Grüßen
FWP
Hallo MiThoTyn,
jetzt hat man aber schon lang nix mehr von dir gehört.
Evtl. hast du meine Frage überlesen. Die hab ich dir vor einiger Zeit mal geschrieben. Vielleicht kannst du mir ja weiterhelfen.
Danke und Gruss Andy
So nebenbei: War auf der Interschutz und hab mir in der Halle 27 zwei Alarm-SMS Anbieter angeschaut. Dem einen hab ich über sein System meine eigene ehrliche Meinung gesagt und daraufhin hat er mich höflichst darum gebeten, seinen Stand zu verlassen.Original geschrieben von andyruf
@MiThoTyn
Du hast doch mal geschrieben, dass bei euch jeder die SMS'en selber zahlen muss. Und dass du jeder SMS den Restbetrag eines jeden Benutzers anhängst. Könntest du dieses Feature preisgeben. Wäre für die anderen auch evtl. interessant.
Vielen Dank schon im Voraus
Gruss Andy
Weil kein <html> mehr zugelassen ist, muss ich mir erst eine neue Signatur im vB Code machen. So long....
Die meisten sind ja auch davon abgerückt ihr System als Alarmierungssystem zu bezeichnen, und bezeichnen es jetzt als Informationssystem. Wahrscheinlich haben diese eingesehen, daß die SMS-Versendung in keiner Weise den BOS-Richtlinien in Bezug auf die absolute Zuverlässigkeit genügen.Original geschrieben von andyruf
Hallo MiThoTyn,
jetzt hat man aber schon lang nix mehr von dir gehört.
Evtl. hast du meine Frage überlesen. Die hab ich dir vor einiger Zeit mal geschrieben. Vielleicht kannst du mir ja weiterhelfen.
Danke und Gruss Andy
So nebenbei: War auf der Interschutz und hab mir in der Halle 27 zwei Alarm-SMS Anbieter angeschaut. Dem einen hab ich über sein System meine eigene ehrliche Meinung gesagt und daraufhin hat er mich höflichst darum gebeten, seinen Stand zu verlassen.
Mit kameradschaftlichen Grüßen
FWP
@Andy
Jo. Ich hab für meine Zwecke ein spezielles Programm entwickelt, das an den Crusader andockt und halt SMS versendet.
Dieses Programm ist leider nicht dafür geeignet veröffentlicht zu werden. Und umschreiben wäre ein erheblich großer Aufwand, für den ich keine Zeit habe.
Sorry.
Lässt sich aber sicher auch mit Batchdateien lösen. Ich guck mal ....
Gruß Joachim
Hi MiThoTyn,
ja wäre super, wenn man das auch mit Batchdateien lösen könnte. Evtl ein File anlegen, das ständig die 2,9 Cent herunterzählt. Aber wie das funktionieren würde weiß ich nicht. Ich warte auf eine eventuelle Lösung von dir.
Danke und schönes Wochenende
Gruss Andy
Weil kein <html> mehr zugelassen ist, muss ich mir erst eine neue Signatur im vB Code machen. So long....
Hallo ich habe mir mal ein paar gedanken gemacht. MiThoTyN hat zur Zeit ja viel zu tun (-;
Hier ein Lösungsvorschlag:
in der Batch vor jedem Versenden mit IBSS folgende Zeilen Einfügen:
call test.cmd Kontostand.txt
For /F %%f in (status.txt) do if %%f == failed goto Weiter
Hierbei sind Kontostand.txt und Weiter Variablen mit folgendem Sinn:
Kontostand.txt: Dies ist der Dateiname worin das derzeitige Kontigent der Person ist wofür die nächste SMS versendet werden soll
Weiter: gibt an wo die Batch weitergehen soll, wenn derjenige kein Kontigent mehr hat.
Dort muß vorher :Weiter stehen
Dann eine Batch mit dem Namen test.cmd mit folgendem Inhalt erstellen:
@ echo off
For /F %%f in (%1) do set Wert=%%f
if %Wert% == 0 goto failed
set /A WERT=WERT-1
echo %WERT% > Kontostand.txt
echo OK > status.txt
goto ENDE
:failed
echo failed > status.txt
:ENDE
In der Datei Kontostand.txt steht wieviele SMS noch versendet werden dürfen. Diese Datei muß für jede Person erstellt werden (und natürlich jeweils anders heißen, der richtige Name wird in der Ursprungsbatch angegeben) Nach jeder versendeten SMS zählt diese Zahl um 1 runter. Ist noch Kontigent vorhanden wird OK in die Status.txt geschrieben und die SMS versendet. Steht in der Textdatei, die das Kontigent angiebt eine 0, so wird failed ausgegeben und die Datei springt zur nächsten person.
Bei weiteren Fragen könnt ihr euch an mich wenden.
Mfg. friend112
PS. Diese Lösung funktioniert leider nur bei Win2000 oder XP oder NT4, bei allen vorigen versionen kannte die cmd leider den Parameter /F noch nicht
Geändert von friend112 (10.06.2005 um 15:36 Uhr)
Wer suchet, der findet!
Problematischer dürfte die "Rechenzeile"Original geschrieben von friend112
Hallo ich habe mir mal ein paar gedanken gemacht. MiThoTyN hat zur Zeit ja viel zu tun (-;
Hier ein Lösungsvorschlag:
in der Batch vor jedem Versenden mit IBSS folgende Zeilen Einfügen:
call test.cmd Kontostand.txt
For /F %%f in (status.txt) do if %%f == failed goto Weiter
Hierbei sind Kontostand.txt und Weiter Variablen mit folgendem Sinn:
Kontostand.txt: Dies ist der Dateiname worin das derzeitige Kontigent der Person ist wofür die nächste SMS versendet werden soll
Weiter: gibt an wo die Batch weitergehen soll, wenn derjenige kein Kontigent mehr hat.
Dort muß vorher :Weiter stehen
Dann eine Batch mit dem Namen test.cmd mit folgendem Inhalt erstellen:
@ echo off
For /F %%f in (%1) do set Wert=%%f
if %Wert% == 0 goto failed
set /A WERT=WERT-1
echo %WERT% > Kontostand.txt
echo OK > status.txt
goto ENDE
:failed
echo failed > status.txt
:ENDE
In der Datei Kontostand.txt steht wieviele SMS noch versendet werden dürfen. Diese Datei muß für jede Person erstellt werden (und natürlich jeweils anders heißen, der richtige Name wird in der Ursprungsbatch angegeben) Nach jeder versendeten SMS zählt diese Zahl um 1 runter. Ist noch Kontigent vorhanden wird OK in die Status.txt geschrieben und die SMS versendet. Steht in der Textdatei, die das Kontigent angiebt eine 0, so wird failed ausgegeben und die Datei springt zur nächsten person.
Bei weiteren Fragen könnt ihr euch an mich wenden.
Mfg. friend112
PS. Diese Lösung funktioniert leider nur bei Win2000 oder XP oder NT4, bei allen vorigen versionen kannte die cmd leider den Parameter /F noch nicht
set /A WERT=WERT-1
sein, denn die Option /A gab es bei keiner MS-DOS-Version vorher und ist laut Hilfe bei Windows XP ganz neu.
Geändert von fwp (11.06.2005 um 00:05 Uhr)
Mit kameradschaftlichen Grüßen
FWP
Aktive Benutzer in diesem Thema: 2 (Registrierte Benutzer: 0, Gäste: 2)