Zum Inhalt springen

SpamBot

Mitglieder
  • Gesamte Inhalte

    12
  • Benutzer seit

  • Letzter Besuch

Beiträge von SpamBot

  1. hmm...

    mit reinem c# weiss ich nich wie das geht, aber die win api gibts ja auch noch ;)

    SetCursorPos

    WindowFromPoint

    SendMessage, handle,WM_LBUTTONDOWN,...

    weiss nimmer genau, einfach mal googeln ;D

  2. Meiner Meinung nach ist .Net code meistens schneller als gleichwertiger Java code. Kommt aber wie gesagt auf die Anwendung an.

    .Net und Java kompilieren beide zu Bytecode, aber .Net hat den Vorteil, dass man sich den Dialekt den man schreibt (c#, vb, boo ...) aussuchen kann.

    Klarer Vorteil von Java ist die Plattformvielfalt. Für .Net gibts zwar Mono aber warum .Net unter Linux programmieren?

    Zusätzlich hat .Net (oder besser c#) einige Eigenheiten. Z.b. kann ein Interface hier keine statischen Mitglieder haben (geht in Java)

  3. ftStatus = Mach_Irgendwas(bla);

    In dem Fall führt ja Mach_Irgendwas code innerhalb der FTDI-Klasse aus

    Hm... also ich hab jedenfalls noch keine Messagebox gesehn. Egal welche Funktion ausgeführt wurde.

    Und wie machst du das mit den Timings?

    Ich krieg keine Zeitmessung < 10 ms hin. Ist das überhaupt möglich? Ich weiss ja nämlich garnicht wann die Daten in den Buffer geschrieben werden :?

  4. 		public void sicker() {
    
    			p = (double)trackBar1.Value / 100;
    
    			double rand = randomiza.NextDouble();
    
    			int initCount = points.Count;
    
    			for (int i=0;i< initCount ;i++ ) {
    
    				if (rand < p) {
    
    					points[i].X--;
    
    					points[i].Y++;
    
    				}
    
    				rand = randomiza.NextDouble();
    
    				if (rand < p) {
    
    					points[i].X++;
    
    					points[i].Y++;
    
    				}
    
    				if(points[i].Y > panel1.Height)
    
    					finish();
    
    			}
    
    		}

    Als Anhaltspunkt, wird so wahrscheinlich nicht out oft the box funktionieren, solls auch garnicht. Aber die Richtung stimmt.

    mfg

  5. Diese beiden Dinge habe ich mit je einer Combobox gelöst.

    Jedoch ist mir bewusst das nicht jede Bank den gleichen Standort hat. Deshalb sollte sich das ändern.

    Ok. Schau dir mal die SelectedIndexChanged Ereignisse an.

    ->msdn

    So, nun zu Frage zwei. Ich möchte, das jeder Standort, einen anderen Zinssatz hat.

    Ich empfehle eine kleine XML Datenbank.

    ->msdn

    Ich möchte, das wenn man z.B auf die TextBox einen Doppelklick macht, das sich da ein zweites Fenster öffnet in dem man die Zahlen auswählen kann.. also sozusagen ein Windows Taschenrechner mit einbeziehen in das Programm. Wie ginge das dann?

    Eine neue Form erstellen mit entsprechenden Buttons welche z.b. beim schließen ein Event rausjagt dass deine Daten enthält.

    (google suche nach "vb.net events" oder so)

    mfg

  6. So kann man USB und Serial auf einmal erschlagen.

    Benutzt du auch die Serial Port Klasse? Kannst evtl. mal ein kleines Schnipsel posten?

    Zu deinem Problem:

    Also ich denke da hast du was falsch verstanden, die DLL bietet lediglich keine Exceptions, aber wirft dir natürlich auch keine Messageboxen ins Gesicht ;)

    Die Fehlerbehandlung erfolgt über so ne Art Statusenum:

    
    
    ftStatus = Mach_Irgendwas(bla);
    
    if ( ftStatus != FTDI.FT_STATUS.FT_OK ) {
    
    ;
    
    } else {
    
    Debug.Log("alles klar");
    
    }
    
    
    

    mfg

  7. hi,

    So wie ich das sehe, ist das kein 'regulärer' .NET event sondern eher ein 'Thread event' (keine Ahnung wie das richtig heist...).

    Ich habe das folgendermaßen gelöst:

    
    private AutoResetEvent recvDataEvent;
    
    private BackgroundWorker worker;
    
    
    void open() {
    
    	COM.OpenByIndex(smartBoxIndex);
    
    	COM.SetBaudRate(115200);
    
    	COM.SetDataCharacteristics(FTDI.FT_DATA_BITS.FT_BITS_8,FTDI.FT_STOP_BITS.FT_STOP_BITS_1,FTDI.FT_PARITY.FT_PARITY_NONE);
    
    	COM.SetFlowControl(FTDI.FT_FLOW_CONTROL.FT_FLOW_NONE,0,0);
    
    
    	recvDataEvent = new AutoResetEvent(false);
    
    	COM.SetEventNotification(FTDI.FT_EVENTS.FT_EVENT_RXCHAR,recvDataEvent);
    
    
    	worker = new BackgroundWorker();
    
    	worker.DoWork += new DoWorkEventHandler(worker_DoWork);
    
    	worker.RunWorkerAsync();
    
    }
    
    
    void worker_DoWork(object sender, DoWorkEventArgs e)
    
    {
    
    	uint bytesToRead = 0;
    
    	uint bytesRead = 0;
    
    
    	while (true) {
    
    		// wait until event is fired
    
    		this.recvDataEvent.WaitOne(); 
    
    
    		// try to recieve data now
    
    		if(FTDI.FT_STATUS.FT_OK == this.COM.GetRxBytesAvailable(ref bytesToRead)) {
    
    			byte[] buffer = new byte[bytesToRead];
    
    			if(FTDI.FT_STATUS.FT_OK == this.COM.Read(buffer,bytesToRead,ref bytesRead)) {
    
    				if (bytesToRead != bytesRead) {
    
    					Log("Data length error!");
    
    				}
    
    				foreach (byte b in buffer) {
    
    					recvBuffer.Enqueue(;
    
    				}
    
    				Log(ByteArrayToHexString(buffer));
    
    			}
    
    		}
    
    	}
    
    }
    
    
    
    
    [/code]

    evtl nicht der eleganteste Weg, aber immerhin klappt es ;)

    Eine Frage am Rande:

    Dein Projekt scheint so ähnlich zu sein wie das, was ich im Moment bearbeite. Nur habe ich ein Problem:

    Gibt es eine Möglichkeit die Zeit zu bestimmen an der die Daten im Puffer ankommen (Abweichung max. 0,5 ms) ? (bezogen auf die SerialPort klasse meine ich jetzt, da ich auch beides implementiere)

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...