Einzelnen Beitrag anzeigen

DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#9

Re: Brauche Objektorientierte Modellierungshilfe :-)

  Alt 4. Jul 2007, 14:18
Hallo,

bevor meine Prüfung starten kann muss ich mein Gerät (Prüfling) parametrieren.
Das heißt ich habe eine Parameterdatei (eine INI). Dessen Werte ich in das Gerät übertragen muss.

Ich habe das bisher folgendermaßen (nicht sehr schön, und vorallendingen nicht sehr objektorientiert, wohl eher funktional)
gemacht:

INI sieht folgendermaßen aus

[Benutzerdaten]
AnalogOut=200
AnalogOn=1
...
[...]
...

Ich habe hier in der Paramerdatei ungefähr 200 Werte die ins Gerät geschrieben werden müssen, und die hardcodiert Aufzählung an sich finde ich nicht gut hier
Ich habe eine Funktion zur Übertragung der Datei gebaut:
Folgender Aufbau:

Delphi-Quellcode:
TGeraet.WriteParameterToDevice(Paramertername:string);
var
  aParDatei:TINiFile;
  section:string;
  ident:string;
  aDouble:Double;
  aInt:Integer;
  aString:string;
begin
  aParDatei:=TIniFile.Create(ParDatei);
  ////////////Benutzerdaten/////////////////////
  section:='Benutzerdaten';
  if aParDatei.SectionExists(section) then
  begin
    ////////////AnalogOut/////////////////
    ident:='AnalogOut';
    if aParDatei.ValueExists(section,ident) then
    begin
      aInt:=aParDatei.ReadInteger(section,ident,0);
      result:=Set_AnalogOut(aInt); //<-- Das hier ist die API Funktion um den Wert in das Gerät zu speichern...
      if NOT(Result = 0) then exit;
    end;
......
end;
D.h.

ich habe als Übergabeparameter den Dateinamen und habe in der Funktion die Parameter hardcodiert und überprüfe ob sie existieren, und schreibe sie dann ins Gerät.

Jedoch will ich ja auch einen aussagekräftigen Rückgabewert haben.
Wie kann ich das bewerkstelligen, denn es kann ja folgendes auftreten.
1.Section existiert nicht
2.Ident existiert nicht
3. Parameter wird nicht erfolgereich ins Gerät geschrieben.. (Rückgabewert der API Funktion <> 0)

Wie bekomme ich das objektorientiert gelöst.
Wäre über Anmerkungen und Hilfestellungen sehr dankbar.

Gruß
DelphiManiac
  Mit Zitat antworten Zitat