Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Siassei
Thema: Double: Bits in der Mantisse ermitteln
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von Qohelet
Mit dem Aufbau des Datentyps double hab ich mich natürlich beschäftigt, aber wie es Scavanger schreibt bin ich nicht wirklich glücklich, da ich ja nicht ausgeben soll, was ich nachschlagen kann, sondern ausrechnen, was anscheinend errechenbar ist.
Sicher ?

Wie sind den Fließkommazahlen nach IEEE 754 aufgebaut? Kleiner Tipp, bei der Mantisse wird eine Zahl immer "normiert". Die erste Zahl der Mantisse beginnt immer mit einer Eins. Somit muss die erste Zahl nicht gespeichert werden, da diese immer eine Eins ist.

Beispiel, Betrachtung des Betrags einer Zahl
Gegeben sei eine Zahl 001010100101110 Basis 2.
Die erste Eins wird verworfen 001010100101110. Somit muss nur 010100101110 gespeichert werden. Die rechte Seite wird noch mit weiteren 0 aufgefühlt.
Daher benutzt nach IEEE 754 jede Fließkommazahl alle zur verfügungstehende Bits + 1.
--> Double nach IEEE 754 benötigt 64bit im Speicher, besteht aber effektiv aus 66 bits.
Woher das zweite zusätzliche Bit kommt, überlasse ich dir. Das kann man auch nachlesen

Gruß, Thomas

Thema: Warnung im IE vor Downloads, weil diese selten heruntergeladen werden (woher weiß er das?)
Am im Forum: Smalltalk

Ich habe das mal getestet und 10 Angebote von MSDNAA getestet. Darunter waren unter anderem Windows 7, MS Project und XNA. Bei allen Angeboten warnt mich das Programm vor einen evtl. Schadhaften-Code.

Da stellt sich mir die Frage, wie effektiv dieser Filter ist und wie leicht man diesen Umgehen kann :-)

Thema: Warnung im IE vor Downloads, weil diese selten heruntergeladen werden (woher weiß er das?)
Am im Forum: Smalltalk

Hallo,

vor kurzem musste ich nur noch lachen und kurz darauf kam ein großes Fragezeichen.

Ein paar Info's für die jenigen, die keinen MSDNAA Zugriff haben oder es nicht kennnen.
Bei MSDNAA wird ein Download-Manager zum laden einer Anwendung benötigt. Diesen bekommt man, wenn im Webbrowser auf Download geklickt wird. Der Download-Manager wird geladen und ausgeführt. Der Manager lädt dann das gewünschte Produkt in ein Verzeichnis.

Als ich einen Download von MSDNAA (Visual Studio Ultimate 2011) starten wollte, bekomme ich vom IE eine seltsame Nachricht
(Download-Manager geladen und soll ausgeführt werden)
Die Datei .... wird nicht häufig heruntergeladen. Die Anwendung kann schadhaften Code enthalten oder ihren Computer beschätigen. (Es handelt sich hier nicht um den exakten Wortlaut, denn habe ich mir nicht aufgeschrieben)

Das löste erstmal einen Lachanfall aus. Der IE warnt vor Microsoft Anwendungen und gibt aus, dass Sie "Fehlerhaft" sein können.

Aber im zweiten Moment kam das große Fragezeichen. Woher weiß das der IE? Bei Chrome oder Firefox kommt diese Meldung nicht.

Kann es sein, dass der IE das Benutzerverhalten im Hintergrund dokumentiert und an eine MS Datenbank sendet?

Gruß, Thomas

Thema: Gute Literatur zur Z-Transformation
Am im Forum: Buchempfehlungen

Ein Buch, das mir besonders gut gefällt

Titel: Laplace-, Fourier-, und z-Transformation
9. Auflage
Author: Otto Föllinger
Verlag Hüthig GmbH & Co. KG, Heidelberg

Thema: Gute Literatur zur Z-Transformation
Am im Forum: Buchempfehlungen

Hallo,

ich muss mich in die z-Transformation einarbeiten und suche hierzu gute Literatur.
Mich interessiert die Anwendung in der Regelungstechnik.

edit: Z-Transformation

Gruß, Thomas

Thema: Unmanaged dll in c# einbinden und void** als Parameter einer Methode erstellen
Am im Forum: Rund um die Programmierung

Zitat von wdarius
Die Methode getList der dll:
void getList(void** list)
Diese Methode trägt in den out Parameter list ein wo ich meine Liste im Speicher finde. Pointer-> Pointer -> Liste

Die Methode useList der dll
void useList(void* list, ...)
Diese Methode soll list aus der ersten Methode benutzen um wiederum einen weiteren Parameter zu berechnen. Pointer -> Liste

erstmal.
void ** ist auch nur ein Pointer. Kann also auch mit IntPtr behandelt werden. Aber das ist nicht dein Problem.

#! C
// header.h

// gibt einen Pointer auf die entsprechende Stelle zurück
void* getList ();
// Vorsicht, ist C++. Eine Pointerreferenz als Parameter.
// call by reference
void getList (void *& ref);

// Warnung
// call by value
void getList (void * ref);

// *.c
static void *ptr;
static void value;

void* getList () { return ptr;}
void* getList() { return &value;}

void getList (void *& ref)
{
  ref = ptr;
}

void getList (void *& ref)
{
  ref = &value;
}

Denn Unterschied zwischen Call by Value und Call by Reference kannst du selber nachlesen

Thema: Unmanaged dll in c# einbinden und void** als Parameter einer Methode erstellen
Am im Forum: Rund um die Programmierung

Hallo,

Zitat von wdarius
Das Einbinden funktioniert ohne Probleme.
Das soll wohl heißen, dass alles ohne Probleme funktioniert mit der Ausnahme des void-Zeigers.
Zitat von wdarius
Beim benutzen einer der Methoden der dll muss ich einen void** Parameter übergeben z.B. X. Das mache ich mit IntPtr X und leite den Pointer mit ref weiter an die Methode.
Type* := Zeiger auf ein Objekt, zur Zeit ist ein Zeiger ein Integer-Wert der Größe 32/64bit (je nach Betriebssystem)
Type** := hier handelt es sich ebenfalls um einen Zeiger. Jedoch mit der Besonderheit, dass der Zeiger auf einen weiteren Zeiger zeigt. Der zweite Zeiger zeigt auf ein Objekt.

void* := ein Zeiger auf ein Objekt. Der Type des Objekts ist unbekannt.
string* := ein Zeiger auf ein Objekt. Der Type des Objekts ist ein string.
void ** := Zeiger -> Zeiger -> unbekanntes Objekt

void-Zeiger sind auch in C# erlaubt und vorhanden.
Zeigertypen (C#-Programmierhandbuch)
Zitat von wdarius
Anschließend muss ich eine weitere Methode aufrufen, die den X Pointer möchte jedoch dieses mal als void*. Wie kann so etwas in c# anstellen?
Wie? Das kann ich so nicht beantworten. Hierzu benötige ich jedenfalls ein wenig Code.

edit: Vielleicht hilft folgendes
__declspec( dllexport )
long write(FILEHANDLE hFilehandle, void* pBuffer, const long Size);


[DllImport("mydll.dll",CallingConvention=CallingConvention.C
decl)]
internal static extern
int
write ( IntPtr hFileHandle,
       [In, MarshalAs( UnmanagedType.LPArray )] byte [] buf, 
       int size);

Thema: Windows, Uhrzeit exakt stellen (NTP)
Am im Forum: Smalltalk

Zitat von pdelvo
Simple Network Time (NTP) Protocol Client
Danke. Dachte mir schon, dass ich da wohl was Eigenes implementieren muss. Ich werde mir den Client mal anschauen und einige Test's durchführen.
Zitat
Ich habe keine verlässlichen Aussagen zur Ganggenauigkeit (beliebiger) PC-Uhren gefunden, aber die allein lässt i. allg. schon zu wünschen übrig
Ja, das hat mich überrascht. Anscheinend ist die Ganggenauigkeit sehr viel schlechter, als man Anfangs vermutet. Zudem scheint es vom Alter der BIOS-Batterie abzuhängen. Sprich, je älter die Batterie, desto wahrscheinlicher ist ein größerer Drift der Systemuhr.
Zeit-Abgleich - NTP sorgt für richtig gehende PC-Uhren

Thema: Windows, Uhrzeit exakt stellen (NTP)
Am im Forum: Smalltalk

Hallo,

wie bzw. womit sync. man die Uhren eines Windowsbetriebssystem's?

Die Standardmethode, die Windows mitliefert, scheint keinen vollen NTP-Support zu bieten.
KB939322: Unterstützung von Grenze zum Konfigurieren des Windows-Zeitdienstes für Umgebungen mit hoher Genauigkeit

Zitat
Der W32Time-Dienst verwendet SNTP (Simple Network Time Protocol) in Microsoft Windows 2000. Der W32Time-Dienst verwendet NTP (Network Time Protocol) in Microsoft Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 und Windows Server 2008 R2.

Wir garantieren nicht, und die Genauigkeit für den W32Time-Dienst zwischen Knoten in einem Netzwerk wird nicht unterstützt. Der W32Time-Dienst ist keine umfassende NTP-Lösung, die zeitkritische Anwendungsanforderungen erfüllt. Der W32Time-Dienst ist in erster Linie dazu konzipiert, um die folgenden Aktionen ausführen:

Stellen Sie das Kerberos Version 5-Authentifizierungsprotokoll arbeiten.
Geben Sie Zeit, lose Synchronisierung für Clientcomputer.

Der W32Time-Dienst kann nicht zuverlässig Sync-Zeit, um den Bereich von 1 bis 2 Sekunden aufrechterhalten. Solche Toleranzen sind außerhalb der Entwurfsspezifikation der W32Time-Dienst.
1 bis 2 Sekunden 8o

Thema: [erledigt] UDP Probleme über Loopback
Am im Forum: Netzwerktechnologien

Die MSDN-Seite zum Error-Code: Winsock Error Codes
UdpClient: UdpClient.Receive Method

Kannst du mal den Code für die Kommunikation Server <-> Client bereitstellen.
Wie sieht dein Client aus? Rufst du die connect-Methode auf?
Wann bekommst du die Fehlermeldung? z.B. wenn der Server gestoppt wird.

Die Fehlermeldung sagt aber eigentlich schon alles. Sie tritt auf, wenn der Endpunkt nicht mehr erreichbar ist.

Zitat
Das ist zum einen unlogisch, weil UDP ja angeblich verbindungslos ist.
UDP ist verbindungslos. Aber das muss ja noch lange nicht heisen, dass der UdpClient trotzdem verbindungslos implementiert wurde.
Auszug aus der MSDN-Doku: UdpClient.Connect Methode, Remarks
Zitat
The Connect method establishes a default remote host using the value specified in the endPoint parameter. Once established, you do not have to specify a remote host in each call to the Send method.

Establishing a default remote host is optional. Specifying a default remote host limits you to that host only. If you want to send datagrams to a different remote host, you must make another call to the Connect method or create another UdpClient without a default remote host. If you have established a default remote host and you also provide a remote host in your call to the Send method, Send will throw a SocketException. If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error.

If you call the Connect method, any datagrams that arrive from an address other than the specified default will be discarded. You cannot set the default remote host to a broadcast address using this method unless you inherit from UdpClient, use the Client method to obtain the underlying Socket, and set the socket option to SocketOptionName.Broadcast.

You can however, broadcast data to the default broadcast address, 255.255.255.255, if you specify IPAddress.Broadcast in your call to the Send method. If your application requires greater control over broadcast addresses, you can also revert to using the Socket class.
Zitat
Wenn sich einer der beiden Programme beendet lösen die Methoden UdpClient.BeginReceive und UdpClient.EndReceive im anderen Programm eine SocketException aus.
Ah, jetzt sehe ich, dass du den Client und den Server als UdpClient implementiert hast. Ähm ja. Der Name xyzClient sollte eigentlich doch schon alles sagen. Implementiere den Server als

IPEndPoint remote_endpoint;
Socket server_udp_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
server_udp_socket.Bind(server_endpoint);
und den Client als UdpClient. Beim beenden des Servers musst du dafür sorgen, dass der Client zuvor die Verbindung zum Server beendet.

Thema: Beamer korrekt ansteuern
Am im Forum: Grafik und Sound

Zitat von herbivore
... muss nur dafür sorgen, dass die Präsentation auf dem richtigen Gerät angezeigt wird. Das sollte aber die Präsentationssoftware können.
Falls die Präsentationssoftware das nicht kann, in Windows kann man das auch konfigurieren. Wenn der Monitorausgang (z.B. VGA) an geschalten ist, kann man Windows sagen, ob jeder Monitor sein eigenes Bild hat oder ein gemeinsames Bild.

Thema: Log4Net: Log-Datei mit dem aktuellen Datum erstellen?
Am im Forum: Rund um die Programmierung

Hallo,

in dem du log4net konfigurierst und die Ausgabe des Loggers an deine Bedürfnisse anpasst.
Apache log4net™ Manual - Configuration

Wichtiger Hinweis: Wie poste ich richtig 1.1

Gruß, thomas

Thema: [erledigt] UDP Probleme über Loopback
Am im Forum: Netzwerktechnologien

Hallo,

ich vermute mal ganz stark, dass der Server und Client den gleichen Port benutzen.

Port (Protokoll)
Socket (Software)

Ein Socket besteht aus einer IP-Adresse + Port-Nummer.
Beispiel:
Der Server benutzt 127.0.0.1:1001 zum senden und empfangen.
Der Client benutzt ebenfalls 127.0.0.1:1001.

Somit benutzen beide das (der/die/das Socket ?) gleiche Socket. Dies führt zu großen Problemen. Zum senden einer Nachricht benötigt man die Adresse des Empfängers. Wenn beide die gleiche Adresse (Socket) besitzen, wer soll die Nachricht erhalten?

Wenn der Server und Client nicht auf dem selben Computer installiert sind, dann funktioniert dein vorgehen ohne Probleme, da
Server: 192.168.2.2:1001
Client: 192.168.2.3:1001
sind und zwei unterschiedliche Sockets besitzen.

Gruß, Thomas

Thema: Suche Informationsquellen zur (Netzwerk-)Sicherheit von Windows, Linux, ...
Am im Forum: Buchempfehlungen

Hallo,

ich interessiere mich seit Jahren für das Thema Netzwerksicherheit, Angriffe aus dem Netz and so on. Leider blieb es seit Jahren beim interesse und habe hin und wieder mal einen interessanten Artikel im Web gelesen.

Jetzt möchte ich mehr Zeit in das Thema stecken (Privat = Freizeit). Leider bin ich auf diesem Gebiet ein absoluter Grünschnabel. Kann mir hier einer gute Artikeln, Zeitschriften, Bücher, Webseiten zu diesem Thema empfehlen.

Mich interessiert in diesem Bezug auch die Gefahrenstellen der einzelnen Betriebssystem.
Beispiel: Exploit
- Wie entlarvt man einen Exploit? edit: Wie entdeckt man einen Angriff?
- Welche Techniken werden angewandt?
- Linux/Windows Exploit?

edit: Ich habe Exploit nur als Beispiel genannt und möchte mich nicht darauf beschränken.

Danke, Thomas

Thema: [gelöst] Wie große Files schnell einlesen ohne RAM zu verbrauchen?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

wie bereits erwähnt musst du nicht die komplette File einlesen. Bei deinen Dateien handelt es sich wohl um Textfiles mit ASCII-Codierung.

Ich persönlich tendiere zu Einteilungen.
Hierzu splitte ich die Datei in Blöcken auf z.B. ein Block ist 1 MB groß und lade immer 3 Blöcke in den Arbeitsspeicher (sofern möglich). Der zweite Block beinhaltet immer den geraden angezeigten Text. Der erste Block den vorhergehenden und der dritte den folgenden Text -> diese Blöcke dienen als Buffer.
So, jetzt müssen wir uns noch Gedanken über das Laden der Datei anstellen. Wir benötigen noch für jeden Block einen Einstiegspunkt in die Datei. Hierzu müssen wir die Datei analysieren. Sagen wir mal, dass der erste Block bei File.movePointerToLocation (0) (Dateianfang) beginnt. Dann verschieben wir den Pointer um 1024*1024 = 1MB File.movePointerToLocation (0 + 1024*1024). Jetzt gehen wir solange Rückwärts bis wir das Zeilenumbruchbyte haben und setzen an dieser Stelle den Index für den zweiten Block. Diesen Vorgang wiederholt man jetzt bis zum Dateiende.

Nach dieser Maßnahme kannst du folgendes machen

// lade die Daten für Block 21
block21Beginn = index[20];
block21End     = index[21];
block21 = new Buffer (1024*1024);
// block21 = bufferPool.getFreeBuffer();

// z.B. für Magic-Byte oder Header
offset = 0

file = openFile
file.movePointerTo (block21Beginn + offset)
file.readData (block21, sizeToRead = block21End-block21Beginn)

Thema: Informationen vom Browser abgreifen
Am im Forum: Office-Technologien

Zitat von [email protected]
Wenn er jetzt LINK entfernt oder ähnliches eingibt soll wird eine Mail versendet so das unsere Heimleitung Informiert it.
Wow 8o Ich weiß nicht um was für ein Heim es hier handelt. Das ist schon grenzwertig. Aktive Überwachung von Browsern.
Da bleibt die Frage, ob die Heimleitung auch wissen will, um was für einen Benutzer es handelt?

Wieso installiert Ihr nicht einfach einen Proxy und regelt dort auf welche Seiten man Zugriff hat. Hier für gibt es genügend freie und kommerzielle Software.

Gruß, Thomas

Thema: Algorithmus: Placemark mit (annähernd realistischer) Geschwindigkeit über Karte "fahren" lassen
Am im Forum: Rund um die Programmierung

Hallo,

Zitat von Sh00tingStar


while (laufbedingung)
  {
  Thread.Sleep(1000);
  if (currentPoint == nextPoint)
  {
  //und so weiter

Hatte da auch noch gar nicht an Timer gedacht... denke ich werde den Algorithmus dann in das Tick-Event vom Timer umbasteln.
Das Thread.Sleep(1000) + Zeit für die Ausführung mehr Zeit als 1s benötigt wurde schon erläutert. Aber dennoch eine kleine Anmerkung hierzu.

Thread.Sleep (x) verwendet wie die StopWatch die Timmings von der WinAPI. Somit sind diese auch von der Auflösung dieser Timmings abhängig. Daher sollte man niemals so etwas nacheinander summieren.

Besser ist etwas in Richtung

timestamp = now
while ( )
{
  newTimestamp = now
  deltaTime = newTimestamp - timestamp
  timestamp = newTimestamp

  berechne alle Aktionen für "timestamp"

  // zur Minimierung der CPU-Auslastung
  Thread.Sleep (0) // oder ähnliches
}

Der große Vorteil dieser Methode, man ist unabhängig von der Dauer eines Schleifendurchlaufes. Evtl. kann man am Ende auch einen FPS-Minimierung (FPS = FramesPerSeconds) betreiben. Aber bedenke, einen festen Wert, wie z.B. 60 FPS, wirst du nie hinbekommen. Nur eine Näherung.

Solltest du immer noch Probleme mit der Geschwindigkeit haben, solltest du dir über Beschleunigungsmöglichkeiten für die Berechnungen überlegen. Schaue dir mal mit einem Profiler an, wo du viel Zeit verlierst.
z.B.
- man muss nicht immer cos, sin, tan exakt berechnen, für Spezialfälle z.B. kleiner Winkel reichen auch Näherungen
- Wieso rechnest du in jeder Schleife Grad und Rad um? Das ist doch sinnlos. Nimm das, was du benötigst. Also Rad

Gruß, Thomas

Thema: ReportViewer verkleinert Inhalt
Am im Forum: Rund um die Programmierung

Hallo,

ins blaue geraten. Was ist mit dem Property Size 844;582 . Das kommt mir irgendwie verdächtig vor.

Gruß, Thomas

Thema: [gelöst] Debugging über mehrere Projektmappen: Quellcode wird nicht immer gefunden
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hallo,

Zitat von KrümelKuchen
Nein wir benutzen leider kein Sourcecodemanagement.
Wir machen das ganze wesentlich trivialer.
Haben wir heute den 1. April? Ähmm 8o
Zitat von KrümelKuchen
Ach der Server wird mindestens 1 mal täglich gesichert auf den Sicherungsserver. Also so mal mit "weg" ist nicht, wird dann einfach per Mausklick die Spiegelung auf eine neue VM geworfen.

Ausfallzeit ~20 Minuten.
Zitat von KrümelKuchen
Ich bin nicht grundsätzlich gegen so ein System, bloß müssen Vorschläge und Änderungen begründet und präsentiert werden, bzw einen Wirklichen Vorteil bringen.
Dann würde ich dir mal empfehlen dich in die Thematik etwas einzulesen.
http://de.wikipedia.org/wiki/Versionsverwaltung

Ein Vorteil eines verteilten System ist, dass die Ausfallzeit (Zeit, in der ein Programmierer nicht produktiv arbeiten kann) nach einem Serverausfall in der Regel 0. Minuten beträgt.

Hier noch ein paar Links zum verteilten System Git:
http://progit.org/book/de/
http://de.whygitisbetterthanx.com/#git-is-fast

Gruß, Thomas

Thema: Suche passende Open Source Lizenz bzw. Lizenz für nicht-kommerzielle Verwendung
Am im Forum: Smalltalk

Hallo,

Zitat von tom-essen
Bei den Bedingungen kann man eigentlich nur die GNU General Public License – Wikipedia empfehlen.
Damit dürfte aber nur der zweite Punkt abgegolten sein. Wobei die GPL etwas weiter geht. Jeder der eine Bibliothek benutzt, die unter der GPL steht muss seine Software ebenfalls unter GPL veröffentlichen.

Verbietet überhaupt eine der bekannten OpenSource-Lizenzen einen Einsatz in kommerziellen Projekten?

Gruß, Thomas

Thema: Grosse Menge Prozesse starten / Performance
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

In wie weit hast du die Tipps von herbivore und tom-essen begutachtet?
Was hast du seit dem letztem Post gemacht?
Evtl. ein paar Code-Stück zeigen, das könnte hilfreich sein.

Thema: Wie autonome Fahrzeuge die Welt verändern werden
Am im Forum: Smalltalk

Ein schöner Aspekt von autonomen Fahrzeugen ist die Anmietung eines Wagens für eine Strecke. Hier ergeben sich ganz neue Möglichkeiten für den Einsatz eines Fahrzeuges. Es ist kein "Taxifahrer" mehr nötig, der das Fahrzeug anliefert und der Bestellvorgang/Plannung lässt sich bequem von einem Display aus erledigen.

Wer heutzutage durch eine Siedlung / Wohngebiet einer Großstadt fährt sieht eigentlich nur Häuser und jede Menge Blech rum stehen. Mit autonome Fahrzeuge könnte man sein Verkehrsmitteln mit einem Knopfdruck bestellen und die gewünschte Strecke zurücklegen. Ein Dienstleister könnte sich um die Reinigung der Fahrzeuge kümmern. Das würde bei vielen die Kosten für den Unterhalt & Co. deutlich senken.
Es gibt doch so viele Menschen (mich eingeschlossen), wo das Fahrzeug doch fast den ganzen Tag einfach nur rumsteht.

Thema: Wie autonome Fahrzeuge die Welt verändern werden
Am im Forum: Smalltalk

Ein wirklich gelungener Beitrag zu diesem Thema. Top

Aus persönlicher Sicht sehe ich eine ähnliche Zukunft. Aber wann diese Zukunft eintritt ist das andere.

Mich würde es freuen, wenn sich die ersten kleinen aber nötigen Schritte sich endlich mal durchsetzen werden. Hierzu zählich ich Beispielsweise das Automatikgetriebe, den Wegfall von Kupplung und Gaspedal.
Mit diesen Maßnahmen könnte man den Verbrauch und somit die Umweltbelastung reduzieren und gleichzeitig den Fahrer entlasten.

Wie soll das gehen?
Im Bereich der Arbeitsmaschinen gibt es so etwas schon seit mehr als 20 Jahren. Eine Lösung ist das Anbringen einer zusätzlichen Nadel auf der Geschwindigkeitanzeige. Die Nadel zeigt die gewünschte Geschwindigkeit an und kann z.B. mit einem Drehknopf (wo jetzt der Ganghebel ist) verstellt werden. Drehzahl und der entsprechende Gang wird von der Elektronik gewählt.

Wieso setzt kein (fast kein) Automobilhersteller auf diese Strategie?
Die meisten deutschen Autofahrer würden es nicht kaufen. Mit Automobil verbinden wir Freiheit, Wohlstand, Freude, ... . Die Freiheit unter 10s von 0 auf 100 km/h zu beschleunigen oder einfach mal einen Gang runterschalten und hoch zu beschleunigen.

So, jetzt versuch mal dem Autofahrer mit solchen Gedanken den Ganghebel weg zu nehmen

Hoffentlich bauen die bei den ersten komplett elektorgetriebenen Automobilen (Energiespeicher: Akku, Wasserstoff, what ever) die Motoren direkt hinter die Reifen und somit ohne Getriebe. Das wäre ein großer Sprung aus meiner Sicht.
Rein aus mechanischer Sicht stellt das kein Problem dar und die Programmierer/Elektriker freuen sich über wenig Komponenten zwischen Motor und Abtriebselement.

Zitat von trib
Angst vor dem Kontrollverlust, die Versicherungsfrage und die Ausfallquote von Software & Technik werden erstmal als KO Kriterium überwiegen ... Persönlich würde ich mich als Fahrer keines Falls ersetzten wollen ...
Das K.O-Kriterium ist aus meiner Sicht erstmal der Verlust von der Kontrolle (teilweise oder ganz, spielt keine Rolle) über das Fahrzeug. Verlust von Kontrolle ist gleichzusetzen mit Verlust von Freiheit, Freude und Fahrgefühl.
Zitat von talla
Gerade wenn Fahrzeuge selbst den Weg suchen, kommt es zu Staus. Das ist im Prinzip nichts anderes als heute schon, wenn eine Verkehrsbehinderung über TMC kommt, alle Navis die gleiche Auswahlstrecke vorschlagen und prompt ist die Ausweichstrecke dicht. Fahrzeuge müssen zentral zumindest für ein größeres Gebiet gesteuert werden, um optimal verteilt werden zu können. Da brauch man das großen Bild, das ein Fahrzeug lokal nicht wahrnehmen kann.
Das wird stark davon abhängen, wie die Autos mit einander kommunizieren. Wenn ich z.B. eine Strecke von Salzburg nach Nünrberg fahren möchte, dann muss das Automobil bereits bei der Abfahrt in Salzburg das Verkehrsaufkommen bei München und Co abschätzen können. Nicht exakt aber eine Schätzung muss möglich sein.

Warum? Es gibt meist mehrere Alternativen. Auf einige kann man kurzfristig Umtellen und andere muss man bereits bei der Abfahrt wählen. Im Fall Salzburg - Nürnberg wäre das die B30x (blaue Route) und die A8.

Wird eine Kommunikation per Langstrecke verboten bzw. ist nur in einem Radius von ca. 20 km möglich, dann wird es sehr schwierig Staus zu verhindern.

Aber das ist wohl schon etwas zu weit im Detail, bezogen auf herbivore anfangspost.

Gruß, Thomas

Thema: Grosse Menge Prozesse starten / Performance
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von herbivore
Kindprozesse gibt es auch unter Windows, aber Prozess.Start erzeugt m.E. eigenständige Prozesse.
Vielen Dank.

Thema: Grosse Menge Prozesse starten / Performance
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hallo,

also, du startest etwa 50 Prozesse. Warten diese Prozesse nach dem Start auf eine Eingabe oder durchläuft jeder Prozesse eine fest vorgegebene Routine?

Falls letzteres, dann solltest du nicht zu viele Prozesse auf einmal starten. Evtl. nur Anzahl der CPU-Kerne - 1. Dann sollte auch keine Überlastung des Systems auftreten und dein Programm wie gewohnt arbeiten.

Zitat von herbivore
Zitat
Werden Prozesse nicht sowieso in einem separaten Thread geöffnet ...
nö, Process.Start läuft in dem Thread, der es aufruft.
Unter Linux handelt es sich bei den gestarteten Prozesse um Sub-Prozesse. Ist das unter Windows ebenfalls so oder erzeugt Process.Start einen neuen Hauptprozess?
Evtl. meint der Fragesteller dies.


Gruß, Thomas

Thema: Mit welcher UI Technologie beschäftigt ihr euch bzw. wollt ihr euch künftig beschäftigen?
Am im Forum: Smalltalk

Hallo,

aktuell mit Qt (C++). In naher Zukunft werde ich mal den Google Native Client Support des Mono-Projects unter die Lupe nehmen.

Gruß, Thomas

Thema: Große Zahl (9,48674265521152E+212) ohne Exponentialschreibweise darstellen (948674265521152...)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von TheCode
Das ist für mich sehr wichtig, deshalb habe ich jetzt schon 2 mal die Sprache gewechselt, ich hoffe das geht in C#
Mal ehrlich. Hast du jemals ein Buch gelesen oder z.B. "c# number format" in Google eingegeben?
Der erste Link führt dich zu http://www.csharp-examples.net/string-format-double/

Welche Sprache hast du schon benutzt? Ich kenne keine Programmiersprache, in der man nicht das Nummerformat beinflussen kann.

Ich kann dir empfehlen einen Blick auf :rtfm: zu werfen.

Thema: OpenSource - DB
Am im Forum: Datentechnologien

Hallo,

vielen Dank für eure Antworten. Wie ich bereits befürchtet habe, gibt es keinen großen Unterschied zwischen den Datenbanken. Mein heimlicher Favorit war PostgreSQL und hat das Rennen auch gewonnen. PostgreSQL bietet ein paar nette Features, die ich evtl. in der Zukunft nutzen möchte.

Zitat von dN!3L
An den SQL Server Express willst du nicht ran? (Also es muss zwingend OpenSource sein?)
Gerade in Verbindung mit LINQ2SQL/EF ist das sehr bequem.
Auf keinen Fall. Die Einschränkungen sind zu groß. Und der SQL-Server läuft nur MS Windows. Ich benutze die Mono-Platform und das Prog. muss auf Linux und Windows laufen.
Ansonsten wäre es interessant den SQL Server kennen zu lernen.

Gruß, Thomas

Thema: OpenSource - DB
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: PostgreSQL, Firebird

Hallo,

für mein privates Projekt suche ich derzeit nach einer guten DB-Lösung. Nach einer Vorauswahl erfüllen PostgreSQL und Firebird alle meiner Forderungen.

MySQL würde auch alle Forderungen erfüllen, würde ich aber eher nicht verwenden. Habe hierfür aber keinen konkretten Grund.

Ich kann das jetzt auswürfeln, oder eben diesen Beitrag hier verfassen. Mich würde eure Meinung / Erfahrungen mit diesen DB-System interessieren. Evtl. auch Pro/Contra.

Gruß, Thomas

Thema: [erledigt] VS-Debugger läuft in if, obwohl die Bedingung (angeblich?) nicht erfüllt ist (war?)
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat von talla
Aber ganz ehrlich, du greifst ohne Synchronisierung von mehreren Threads auf die gleiche Variable zu und wunderst dich dass es Seiteneffekte gibt? Da gehören eindeutig die Multithreading Grundlagen nochmal aufgefrischt.
Leider schweigt hierzu der Themenersteller. Von mehreren Thread's ist bis jetzt keine Information durchgedrungen.

@MarsStein
- Wie viele Thread's greifen auf die Variable zu?
- Ist es möglich, dass bei einem schreibenden Zugriff ein weiterer Thread lesend Zugriff anfordert?
- Sind entsprechende lock's (wenn einer schreiben möchte, dann darf kein weiterer Thread auf die Variable zugreifen) im ausführenden Code hinterlegt?