Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Arrays auf ungleichheit Prüfen

  Alt 14. Jul 2017, 22:04
Mal noch ein Versuch, einen geordneten Einstieg zu finden...

Du solltest m.E. mit Klassen arbeiten:

Delphi-Quellcode:
TStoerungStatus = (ssNeu, ssBearbeitung, ssErledigt);

TStoerung = class
  Zeit: TDateTime;
  Bereich: String;
  Meldung: String;
  Status: TStoerungStatus;
end;
Dann hast Du pro Störung ein Objekt. Dieses kannst Du in Listen speichern, verschieben, weitergeben und löschen.

Deine Störungen bekommst Du als HTML-Seite und parst daraus die relevanten Daten. Richtig?
Wie viele solche Meldungen kommen davon in welcher Zeit rein?

Für jeden geparste Störung erzeugst Du ein StörungsObjekt und prüfst, ob dieses schon in der Störungsliste steht.

Hier ist mir unklar, ob die Störungen ggf. mehrfach gemeldet werden und wie Du eigentlich erkennen willst, ob die Störung schon gemeldet wurde.
Eigentlich sollte hier möglichst eine eindeutige ID existieren, damit man die Störungen zuverlässig vergleichen kann.

Wenn sehr viele schnelle Störungen reinkommen sollten, sollte man die Liste sortieren (z.B. eine binäre Suche verwenden), damit die Vergleiche schnell erfolgen können.

Also wenn eine neue Störung reinkommt, erhält sie den Status ssNeu und wird in die Liste gespeichert.

Jetzt können alle neuen Störungen nacheinander bearbeitet werden und erhalten den Status ssBearbeitung.

Wenn diese dann erledigt sind erhalten sie den Status ssErledigt.

Erledigte Störungen können dann in die Datenbank gespeichert und aus der Liste gelöscht werden.


Eine Alternative zu dieser Statuslösung wäre die Verwendung von 3 Listen (Eingang, Bearbeitung, Erledigt) und die Objekte dann von einer in die nächste Liste zu schieben.

Da ich Deinen Ablauf immer noch nicht verstanden habe, ist das vielleicht mal ein kleiner Vorschlag, um sich der Sache anzunähern.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat