Ich brauche Eure Hilfe!!
-
Hallo! irgendwie komme ich nicht so richtig weiter mit meinem programm. ich hab offen u ehrlich gesagt nicht viel ahnung von der programmierung (kenne nur die c++ grundlagen)
ich mache grad mein praktikum in einer telekommunikationsfirma (e*message berlin) und muss ein skript programmieren das verlorene funkrufe erkennt und nochmal neu versendet (ca. 0.001% der rufe kommen nicht an). alle nachrichten werden protokolliert, die ein- und ausgehenden.
und nun zu meinem problem:
ich soll aus dem log-file für ausgehende nachrichten nun die nachricht rauspicken die gerade verschickt wurde, was ich auch schon hingekommen habe. diese nachricht soll dann in einer separaten datei (timer.txt) abgelegt werden und mit einem timer versehen werden, kommt innerhalb der 60s keine empfangsbestätigung (--> empfangsbestätigung wird in das log-file für eingehende rufe geschrieben) soll die nachricht nochmal neu versendet werden (das mit dem neuversenden realisiert ein shell-skript). kommt eine empfangsbestädtigung innerhalb der 60s, soll die nachricht aus der timer.txt samt timer gelöscht werden.
in der timer.txtp können natürlich auch mehrere nachrichten drinstehen, ist ja klar das nicht nur ein ruf pro minute versendet werden kann bzw. wird....
und nun genau zu der datei für eingehende rufe. die eingehenden nachrichten oder empfangsbestätigungen sehen genauso aus wie die versendeten nachrichten. d.h. wurde ein ruf erfolgreich versendet steht dieser haar genau nochmal in dem log. für eingehende rufe drin (!!!)
ich habe mir gedacht das man diese nachricht nun rausgegreift und in einer variablen speichert. in der timer.txt wird dann nach diesem string gesucht, ist dieser string verhanden soll die nachricht samt timer gelöscht werden.... puhh das ist schon total schwierig zu erklären und geschweige erst zu programmierenich hoffe ihr könnt mein problem in etwa verstehen. das schwierigste ist wohl die nachrichten mit einem timer zu versehen.... ich weiss einfach nicht weiter. vielleicht kann mir ja jemand ein paar tipps geben, vielleicht auch ein bisschen quellcode. ich wäre euch sehr dankbar.
-
Wo ist denn Dein Problem ? Wobei hast Du genau Probleme ?
Handling mit Dateien findest Du in der FAQ.(Irgendwie stört mich das mit den Dateien, weil Du dort keine Zeilen löschen kannst....)
-
also auslesen aus dem logfile ist kein problem das geht ja ganz einfach mit 'getline (log_in, line)'
so, die zeile steht dann in der timer.txt. die zeile mit der nachricht sieht folgendermaßen aus:
15.01.04 10:16:52 120 0 A = 094824 12 ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789µ
das Alphabet ist die Nachricht (in diesem Fall ist es eine Testnachricht).
mein Problem besteht darin, diese zeile mit einem timer zu versehen der von 60 bis 0 runterzählt. wird innerhalb der minute die nachricht empfangen wird dies, wie bereits beschrieben, in der datei für einkommende rufe protokolliert.
ich greife mir dann aus dieser datei die nachricht + timestamp raus speicher dies in einem string und suche nach diesem string in der timer.txt.
kommt es zur übereinstimmung wird die zeile gelöscht bzw. verändert. es muss ja eigentlich nur ein char an die original message angefügt werden, die nachricht ist damit verfälscht und es gibt somit auch keine übereinstimmung mehr... irgendwie muss das doch machbar sein??