Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Hat doch auch niemand gesagt, das du die nicht deklarieren sollst, die müssen natürlich ganz normal in der Sub dimensioniert werden.
Hab ich doch schon eine Antwort vorher geschrieben:

Zitat
Zustand, X, SchalterZustand sind ganz normale Variablen die in der Sub dimensiniert werden also nicht statisch und nicht auf Deklarationsebene.

Option Explicit
Dim temp_zustand as string
.
'ende Deklaratiosbereich
'____________________________________________
.
.
code/Functionen etc
..
.
Private Sub UDPClient_DataArrival(ByVal bytesTotal As Long)
Dim x as integer               'Zähler
Dim Zustand as String          'jeweils 2tes Paket        
Dim SchalterZustand as string  'Nach 2tem Paket belegt
.
.
code
.
.
end sub

Gruß
« Letzte Änderung: 18.04.04, 14:13:41 von Nighty »

 :-*  Bau doch einen Kondensator an deine Schaltung um die 2 sec zu überbrücken.

hi hab das Programm jetzt etwas umgeschrieben und es funzt entlich, danke für die Hilfe

Ein kleines Problem hab ich noch und zwar
hab mit dem Befehl Beep ein akustisches Signal, wie kann ich den Intervall Beep verändern,also die länge von einem Signalton zum anderen oder gibt es einen anderen Befehl für ein akustisches Signal

Gruß

Also die pausen zwischen den Beeps meinste oder?

Naja musste schleifen setzen oder immer nur beep aufrufen wenn ers spielen soll.

Gruß

Hi,
genau die pausen zwischen dem Beep verlängern, hab es mit schleifen versucht funzt aber nicht ganz, bin da auf etwas anderes gestoßen und zwar
Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
dies im Modul geschrieben, dwFreq steht für die veränderung des Frequenzbereiches von 32.767 - 37
und dwDuration ist die Zeitverschiebung in ms
der befehl zum aktivieren soll sein
Dim lngRet As Long
lngRet = Beep(37, 1000)
funktioniert aber nicht ganz irgendwelche Ahnung davon

Gruß

Ne dwduration is wie lang der Ton gespielt wird

Also beep 37,1000 heisst:
Spiele Ton mit 37Hertz genau 1 sek lang

Poste doch mal den relevanten Code wo du beep benutzt..

Gruß

Hi,

If Mid(SchalterZustand, 7, 1) = "1" Then                    'siebtes gesendete Byte definiert
        lblOrange.BackStyle = 1
        lblGruen.BackStyle = 0
        lngRet = Beep(37, 1000)
die Frqeenz ist egal ich muß nur den Abstand von einem Ton zum anderen verändern, oder ein ist länger als der andere wäre vielleicht auch eine Notlösung

Gruß

Ja was definiert den Ton, ode was stellt der Ton dar?

Un der Ton wird ja jedesmal gespielt wenn du den code aufrufst

Wie oft kommt den Bit 7 etc..

Gruß

das Signal kommt alle 500ms im Moment,
der Ton soll ein Akustisches Signal darstellen das man unterscheiden kann wann Bit 7 aktiv ist und wann Bit 8 aktiv ist mit (1), beide Bits stellen ein Datenwort dar
Gruß

Also sone bischen ausführlichere erklärung hats schon sein dürfen, wie gehabt..*gg

Ja wenn das Bit alle 500ms kommt darf ja tonlänge + pause auch maximal nur 500ms betragen oder seh ich das jetzt falsch?

Sogesehn hast ja im schlimmsten Fall ein dauerton dann...

Warum definierts die Zustände nicht über die Tonlänge anstatt über pausen?

Is im endefekt doch das gleiche oder nicht?

Gruß

Hi,
hab das so ausprobiert, geht zwar ist aber nicht das richtige da ich immer an die 500ms vom Timer gebunden bin der den String abfragt.
alle 8 Bits sind in diesem String definiert, benötige aber für das akustische Signal nur Bit 7 und 8,
wie kann ich jetzt über Winsock das einzelne Bit bzw. das 8 sebertat schicken und mit einem extraren Timer abfragen wo ich den Intervall dann problemlos einstellen kann
Client:
Timerabfrage für String:
Dim UDPData As String
Winsock: UDPClient_DataArrival
UDPClient.GetData SchalterZustand

Server:
UDPServer_DataArrival
Dim SchalterZustand As String
UDPServer.GetData SchalterZustand

in SchalterZustand stehen alle 8 Bits mit 1 und 0

Gruß

Also bischen Konfus so...
Erklär doch mal genau was wann wo ankommt/gesendet wird, oder besser das ganze Prinzip was du da machst.

Ich nehm jetzt mal an das die 6bit vom Server kommen, aber wo kommen die restlichen 2 bit her?

Und was haben die 2bit mit den 6bit zu tun..??

Kommen die 6bit vom server und du fügst 2bit hinzu die wieder zum server gehn?

Was macht der server damit?

Welche Timer kommen wo zum Einsatz mit welchem Intervall und welche Funktion haben die ?

Gruß

Hi,
genau die 6 Signale kommen vom Serever und zu diesen 6 Signalen sind jetzt noch 2 dazugekommen, alle in einem Datenwort (SchalterZustand) definiert.
Die 2 zusätzlichen Bits sind im moment noch in SchalterZustand definiert,also hab ich ein Datenwort mit 8Bit.
Beim Client wird das DataArrival von einem Timer (500ms) abgerufen,
jetzt wollte ich beim Server das 8Bit, also eins von den 2 zusätzlichen über einen seperaten String zum Client schicken und dort auch von einem seperaten Timer abrufen (bzw das DataArrival) damit ich mit dem Timer der das DataArrival abfragt den Intevall des Beep einstellen kann

hoffe es ist verständlich
Gruß

Zitat
genau die 6 Signale kommen vom Serever und zu diesen 6 Signalen sind jetzt noch 2 dazugekommen

Jo und wo kommen die 2 Signale her, die enststehen doch ned von alleine  ;D


Also da komm ich immernoch ned mit, mir ist immernoch der Ablauf ned klar wo was wann mit welchem bit passiert.

Spiel doch hier mal einen kompletten Ablauf durch so das mans versteht.

Gruß

Also die 2 neuen Signale kommen genause an wie die vorigen 6 da gibt es kein unterschied, nur das diese zwei anders definiert werden, wenn da eine 1 ansteht soll kein Label in den Vordergrund gehen sondern ein Akustisches Signal und bei 0 aus gehen.
Server:
Const AlarmRot = 7              neu
Const WarnungGelb = 6           neu
Const VenoeserDruck = 5
Const ArteriellerDruck = 4
Const Leitfaehigkeit = 3
Const TMP = 2
Const Blutleck = 1
Const Temperatur = 0
If Pegel(Temperatur) Then
        ZustandTemperatur = "1"
    Else                                    alt
        ZustandTemperatur = "0"
    End If
   
   
    If Pegel(WarnungGelb) Then
        ZustandWarnungGelb = "1"
    Else                                    neu
        ZustandWarnungGelb = "0"
    End If
GesamtZustand = ZustandVenoeserDruck + ZuStandarderiellerDruck u.s.w.
GesamtAkustischesSignal = ZustandAlarmRot + ZustandWarnungGelb

jetzt habe ich zwei Strings Gesamtzustand und GesamtAkustischesSignal mit einmal 6 Bits und einmal 2Bits, jetzt ist es aber egal wenn einer von den 2 in GesamtZustand steht, beide Strings sollen getrennt
gesendet und beim Client getrennt von 2 Timern abgerufen werden
Ich hab es schon mit Zwei Winsock-Protokolle (jeweils UDP) versucht, bekomme es aber nicht hin oder ob es überhaupt geht

Gruß


« C: Schiffe versenkenRechnen (mod) mit viel zu großer Zahl, umgehen? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Snapchat
SnapChat ist eine kostenlose Messaging-App, mit der - ähnlich wie bei WhatsApp oder dem Facebook Messenger - Nachrichten an andere Personen oder Gruppen gesendet wer...

Subnetz
Ein Subnetz, (englisch "Subnet"), ist ein eigenständiger und abgetrennter Teil eines größeren Netzwerks. Die Aufteilung eines großen Netzwerks in kl...

Private Session
Private Session ist ein Modus, in dem kein Verlauf oder Chronik angelegt wird. Diese Funktion gibt es bei den üblichen Internet Browsern wie Internet Explorer, Apple...