Laden...

Forenbeiträge von Lumbra Ingesamt 115 Beiträge

02.12.2008 - 14:19 Uhr

Hallo zusammen,

ich bin seit einiger Zeit schon auf der Suche nach so etwas wie einer Tabelle, aus der hervorgeht, wie ich einen C++-Datentyp in einen C#-Datentyp zu übersetzten habe.

Leider bin ich weder hier im Forum noch über Google wirklich fündig geworden. Liegt wohl am fehlenden, passenden Suchbegriff.

Hat jemand von Euch einen Link, wo ich mal nachschauen kann, wie ich das richtig übersetze?

Danke!!!

10.11.2008 - 13:08 Uhr

Hallo Omit,

danke für den Tipp - scheint ja recht interessant zu sein, aber für meinen Anwendungszweck wohl doch ein wenig zu sehr der Overkill, wie Du schon gesagt hast.

Aber grundsätzlich schon eine interessante Geschichte, vorausgesetzt man setzt sich damit gründlich auseinander (und ich hab derzeit genug mit C# zu tun ^^)

06.11.2008 - 15:31 Uhr

Der Dienst ist nicht von mir geschrieben worden Xynratron - ebenso die Batch-Datei, über die die Registrierung erfolgt.

Und die sc.exe war mir auch neu - daher hab ich nach Jacks Hinweis mal nach "Dienst" und "Abhängigkiet definieren" gesucht - und siehe da - sc.exe 😁

06.11.2008 - 15:27 Uhr

was spricht denn gegen unsere ideen?

Eure Ideen sind gut - die Prinzipien dahinter kann ich auch irgendwo nachvollziehen - nur sprechen meine Fähigkeiten dagegen.

Herbivores Verweis auf die Regex ist sicher praktisch dafür - eine Sache geklärt: wie bekomme ich die Struktur abgebildet.

Aber hundert neue Fragen...

Wenn du jedoch viele Ersetzungsoperationen ausführen musst, wäre es vermutlich sinnvoll den String erst in einen StringBuilder zu wandeln, mit diesem zu arbeiten und erst am Schluss wieder einen String daraus zu machen.

DAS werde ich mir gründlich ansehen!! Danke!!

So, das war es dann erst mal von mir - bevor ich hier weiter Fragen stelle, muss ich erstmal auf den Status eines fortgeschrittenen Anfänger kommen 😁

06.11.2008 - 15:15 Uhr

Hallo Herbivore,

Du hast natürlich recht, ein Speicherproblem werde ich damit wahrscheinlich nicht bekommen - schließlich werden die Dateien nicht mehrere hundert MB - sondern nur mehere MB groß...

Ich sollte aber noch ergänzen, was ich eigentlich vor habe:
In der Ebene5 befinden sich mehrere Geräte (genauer gesagt Brandmelder). Diese und die darunter liegenden Ebenen sind als einzige für mich interessant.

Jetzt kann es passieren, dass für alle installierten Melder ein Parameter geändert werden muss; wenn der Meldertyp ausgetauscht wird, kommen sogar noch Parameter hinzu. Mit dem Parametrierungsprogramm artet so etwas zu einer Sisyphos-Arbeit sondergleichen aus, da der Typ nicht geändert, sondern der Melder nur gelöscht und ein neuer hinzugefügt werden kann. (Das ist der Grund, weshalb ich so ein Tool mal schreiben will.)

Ich darf natürlich den restlichen Inhalt der Datei nicht verändern. Somit darf ich den ursprünglichen String, bis auf die zu ersetzenden Daten nicht verändern, damit er noch im Parametrierprogramm geladen werden kann.

Mit meinem beschränkten C#-Wissen würde ich jetzt vermuten, dass ich wirklich nur in diesem String arbeiten darf, den ich aus der Datei erstellt habe.

Oder habt Ihr eine bessere Idee?

--- edit ---

Mir ist gerade noch was eingefallen.

Ich könnte hingehen und aus dem ersten Melder der auf meine Suchbedingung zutrifft einen Substring erstellen und in einen eigenen String kopieren. Eine eigene Klasse dafür würde sich anbieten, da ich ja mehrere Meldertypen habe und das Ding nicht ständig umprogrammiert werden muss.

Diesem neuen String1 vom alten Melder stelle ich dem String2 des neuen Melders gegenüber, kopiere wichtige Daten wie Meldegruppe etc. und ändere darin die Parameter. Dann Suche ich im Originalstring nach "String1" und ersetze durch "String2" - jedenfalls in der Art...

Klingt das vernünftig? 🤔

06.11.2008 - 14:28 Uhr

Ja, das sieht schon mal gut aus (MSDN: Gewusst wie: Empfangen eines Ereignisses)

Mein Problem hab ich zwar mit dem Pogramm sc.exe gelöst - aber ne kleine Software die mir die Dienste bewacht, wäre schon was Feines 🙂

06.11.2008 - 12:49 Uhr

Hallo zusammen,

ich versuche derzeit - neben anderen Dingen, die aber schon fast laufen - eine Textdatei einzulesen, die die unten aufgeführte Struktur hat. Leider war in der Software die diese Datei erzeugt XML ein Fremdwort - ansonsten wäre das, was ich will, einfach...

Ich versuche mal kurz die Struktur zu beschreiben:

Jede Ebene besteht im Prinzip aus zwei Schichten. Die erste Schicht wird durch die geschweifte, die zweite durch die runde Klammer gekennzeichnet.

Wenn man das in Hardware umsetzt, dann könnt Ihr es Euch so vorstellen, dass die _Ebene1 _eine Platine darstellt. Diese Platine wird durch InformationenZurEbene1 beschrieben. Je Zeile ein Wert. Die Platine hat Anschlusspunkte auf der weitere Geräte aufgesteckt werden können - also Ebene2, die wieder mit InformationenZurEbene2 beschrieben ist, usw...

Wie bildet man so eine Hierarchie am besten ab und welche Datentypen verwende ich dafür. Vor einem einfachen String scheue ich mich ein wenig, kann die Datei doch mehrere hundert Kilobyte groß sein. Ein Array wäre da schon die bessere Wahl, aber ein n-Dimesionales ist ja nicht mehr zu verwalten - und ausserdem nuss ich die Tiefe dann vorher ermitteln können.

Ich hab keine Ahnung, ob das noch zu den Grundlagen der Programmierung gehört - wenn ja dann schließt diesen Thread...

MfG,
der Michael


Ebene1
{
  InformationenZurEbene1
  (
    Ebene2
    {
      InformationenZurEbene2
      (
        Ebene3
        {
          InformationenZurEbene3
          (
            Ebene4
            {
              InformationenZurEbene4
              (
                Ebene5 <- ab hier ist für mich Interessant (inkl. Informationen)
                {
                  InformationenZurEbene5
                }
                Ebene5
                {
                  InformationenZurEbene5
                  (
                    Ebene6
                    {
                      InformationenZurEbene6 "Infotext"
                      InformationenZurEbene6 IntegerWert
                    }
		  )
		}
	      )
	    }
	  )
	}
      )
    }
  )
}

05.11.2008 - 09:31 Uhr

Hallo Jack,

codeseitig habe ich auf beide Dienste keinen Einfluss. Allerdings wird der "Kind-Dienst" durchaus von mir installiert. Danach wird er über ein Batch-Datei registriert und als Dienst eingetragen. Muss ich an dieser Stelle ansetzen?

Grüße,
der Michael

05.11.2008 - 09:17 Uhr

Hallo Rainbird,

Du kannst Abhängigkeiten zwischen Windows-Diensten definieren. Diese Abhängigkeiten sind in der Systemsteuerung unter Verwaltung->Dienste auch einsehbar.

Die Abhängigkeiten sind mir schon klar - nur kann ich die nicht beeinflussen, da beide Dienste nicht von mir geschrieben worden sind.

Das .NET Framework enthält standardmäßig eine Komponente namens ServiceController. Damit kannst Du Windows-Dienste (egal ob fremde oder selbstentwickelte) abfragen und kontrollieren.

Den ServiceController benutze ich ja schon. Über ServiceController.Status frage ich zyklisch den aktuellen Dienststatus ab und beende dann Ergebnisabhängig den einen Dienst. Aber eigentlich möchte ich genau das eventgesteuert machen. Die Frage wäre jetzt, ob das überhaupt geht - und wenn ja, wie?

Grüße,
der Michael

04.11.2008 - 17:37 Uhr

Hallo zusammen,

ich habe schon die halbe (naja, nicht ganz) MSDN durchstöbert und die Suchfunktione hier im Forum bemüht, allerdings bin ich dann doch nicht wirlich fündig geworden.

Folgende Aufgabe habe ich mir gestellt: Den Status eines Dienstes - eigentlich eher die Statusänderung - per Event abzufangen.

Hintergrund:
Ich verwende eine Anwendung, die als Dienst läuft und andere Dienste beim eigenen Start mit hochzieht. Wenn die Anwendung beendet wird, werden allerdings nicht alle Dienste gestoppt (was ein Fehler im Programm ist - allerdings nicht meiner).

Ich brauche jetzt also eine Software, mit der ich mitbekomme wenn der "Mutter-Dienst" sich beendet, und dann den "Kind-Dienst" beenden - quasi als Abschuss... (ohne "L" 😉)

Meine Lösung sieht bisher so aus, dass ich per Timer jede Sekunde prüfe, ob der Dienst noch läuft - aber so wirklich gut für die Performance des Gesamtsystems kann das ja nicht sein - habt Ihr einen Tipp für mich, wie ich das anders lösen kann?

Grüße,
der Michael

19.09.2008 - 12:45 Uhr

@jaensen - hmm, da hätt ich ja eigentlich selbst drauf kommen müssen 😠

@joetempes - werde ich mir mal zu Gemüte führen - danke!!

18.09.2008 - 20:40 Uhr

Ok, so ungefähr ist mir klar was Du da gemacht hast - allerdings weiß ich nicht genau was Du mit "ClientArea" meinst - ich bin noch recht unbefleckt im Umgang mit C#...

18.09.2008 - 19:48 Uhr

Ich bins dann nach einer Weile nochmal. Kann mir irgendjemand einen Tipp geben, wie ich an das Thema herangehen soll?

Grüße,
der Michael

15.05.2008 - 14:57 Uhr

Hallo zusammen,

nach einigem Suchen im Internet und diversen Foren in diversen Sprachen, bin ich nun hier gelandet um meine Frage zu stellen...

Ich bin derzeit eine Anwendung am schreiben (Grafische Oberfläche), mit der über zwei serielle Schnittstellen die Kommunikation zwischen zwei Anlagen abgehört und mitgeschnitten werden soll. Das Ganze soll dann auch noch eine Telegrammübersetzung erhalten, aber das ist hier jetzt nicht wichtig.

Wichtig ist dagegen die Darstellung in meiner GUI.
Die Schnittstelle die den Sender liest, wird in der zweizeiligen Darstellung in der oberen, die, die den Empfänger ausliest in der unteren Zeile dargestellt. Das Ganze dann noch zusätzlich im richtigen Zeitverlauf. Sobald das Ende dieser "Doppelzeile" erreicht ist, wird ein CRLF erzeugt.

So sieht meine Vorstellung - ohne Zeilenumbruch - aus:

[PRE]-------------------------------------------------------
            S                E S   S                E S
Sender:     T Mein Telegramm T O   T Mein Telegramm T O
            X                X H   X                X H
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                 A
Empfänger:                       C
                                 K
-------------------------------------------------------[/PRE]

Die Frage ist nun, wie ich das am günstigsten mache. Ich hab so die dumme Befürchtung, dass ich da ein eigenes Control für schreiben muss.

Das ganze hier ist eine Konzeptfrage, die Abfrage der Schnittstellen selbst ist mir soweit klar und funktioniert auch - halt nur recht ungeordnet...

Meine Ansätze waren bisher das RichTextBox- und das ListView-Control. Beide geben leider meiner Ansicht nach nicht die gewünschten Funktionen her...

Bevor ich es vergesse - die Anwendung ist natürlich in der Größe veränderbar - die Anzeige soll dementsprechend bei einer Größenveränderung die Zeilenumbrüche anpassen.

Ich danke schon mal für Eure Denkanstöße - ich bin jedenfalls erst mal am Ende mit meinem Latein...

MfG
Michael