|  | 
|   | 
 | 
  | freenet.thorsten_friedrichs meint:
 
 | also ich habe z.b. einen Hexwerte (oder auch anderen zahlenwert oder |  |
 
 | vergleiche ich ob dieser mit einem anderen übereinstimmt z.b. mit IF. |  |
 
 | .... (mal als beispiel, hoffentlich war die zuweisung richtig). |  |
 
 | Ich möchte aber nun prüfen ob ein bestimmter Hexwert (hier $4) in einer |  |
 
 | großen auswahl an Hexwerten vorkommt (also normal nicht nur eine |  |
 
 | einstellige hexzahl, sondern mehrstellig (das selbe aber bei dezimalzahlen |  |
 
 | es kann dabei eine realtiv große anzahl an zahlen sein. |  |
 
 | ich kenne da wenn ich das nun in EINER Abfrage machen will nur die lösung |  |
 
 | if (a% = $3) or (a% = $4) or (a% = $5) or ... |  |
 
 | ich muß also jedesmal wieder komplett die erste Variable eingeben. |  |
 
 | Gibt es eine andere Möglichkeit bzw. Schreibweise? |  |
 
 | if a% = $3 or $4 or $5 geht geht zwar sprachlich (ist der Inhalt Variable |  |
 
 | a% gleich $3 oder...) aber nicht |  |
 
 | programmiertechnisch (wird ja irgendwie binär zusammengesetzt oder so. |  |
 
 | Gibt es da eine einfach, auch optisch und übersichtilich bessere Möglichkeit |  |
 
 | oder muß ich wie oben geschrieben alles ausführlich mit if beschreiben? |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  efisch | Hallo Thorsten,
  wenn die Vergleichswerte zusammenhängen, also $1, $2, ..., $fe, $ff, hilft natürlich if (a% >= $1) AND (a% <= $ff). Andernfalls füllt man ein Array V% mit den Vergleichswerten und vergleicht in einer Schleife:
  Dieses Vorgehen ist ziemlich flexibel, weil man die Vergleichswerte bei Bedarf im laufenden Programm anpassen oder auch aus einer Datei einlesen kann.
  HTH ebi |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | gmx.malenz meint:
 
 | Wandel ihn doch einfach als String um, und dann vergleich |  |
 
 | if instr(stringwert$+, , FF,FE,CA,99,00,) > 0 |  |
 
 | > -----Ursprüngliche Nachricht----- |  |
 
 | > Von: Thorsten Friedrichs [mailto:thorsten_friedrichs@freenet.de] |  |
 
 | > Gesendet: Mittwoch, 19. Oktober 2005 03:00 |  |
 
 | > Betreff: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | > also ich habe z.b. einen Hexwerte (oder auch anderen zahlenwert oder |  |
 
 | > vielleicht string), nun |  |
 
 | > vergleiche ich ob dieser mit einem anderen übereinstimmt z.b. mit IF. |  |
 
 | > .... (mal als beispiel, hoffentlich war die zuweisung richtig). |  |
 
 | > Ich möchte aber nun prüfen ob ein bestimmter Hexwert (hier $4) in |  |
 
 | > großen auswahl an Hexwerten vorkommt (also normal nicht nur eine |  |
 
 | > einstellige hexzahl, sondern mehrstellig (das selbe aber bei |  |
 
 | > und vielleicht strings) |  |
 
 | > $02 $05 $1a ........... |  |
 
 | > es kann dabei eine realtiv große anzahl an zahlen sein. |  |
 
 | > ich kenne da wenn ich das nun in EINER Abfrage machen will nur die |  |
 
 | > if (a% = $3) or (a% = $4) or (a% = $5) or ... |  |
 
 | > ich muß also jedesmal wieder komplett die erste Variable eingeben. |  |
 
 | > Gibt es eine andere Möglichkeit bzw. Schreibweise? |  |
 
 | > if a% = $3 or $4 or $5 geht geht zwar sprachlich (ist der Inhalt |  |
 
 | > a% gleich $3 oder...) aber nicht |  |
 
 | > programmiertechnisch (wird ja irgendwie binär zusammengesetzt oder so. |  |
 
 | > Gibt es da eine einfach, auch optisch und übersichtilich bessere |  |
 
 | > oder muß ich wie oben geschrieben alles ausführlich mit if |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | Hexadezimal ist doch nur eine Darstellungsform, du kannst doch ganz normal damit Rechnen, als wären es normale Zahlen. Das Ergebnis kannste bei Bedarf zur Optischen Gestalltung wieder als Hex ausgeben.
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | web.dennis.schulmeister meint:
 
 | dein Problem ist mir nicht ganz klar. Erst mal. Wie ist die Ausgangslage? Wo |  |
 
 | her und wie werden sie uns Programm übergeben? Dann, was hast du damit vor? |  |
 
 | ----- Original Message ----- |  |
 
 | Sent: Wednesday, October 19, 2005 8:44 AM |  |
 
 | Subject: AW: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | Wandel ihn doch einfach als String um, und dann vergleich |  |
 
 | if instr(stringwert$+, , FF,FE,CA,99,00,) > 0 |  |
 
 | > -----Ursprüngliche Nachricht----- |  |
 
 | > Von: Thorsten Friedrichs [mailto:thorsten_friedrichs@freenet.de] |  |
 
 | > Gesendet: Mittwoch, 19. Oktober 2005 03:00 |  |
 
 | > Betreff: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | > also ich habe z.b. einen Hexwerte (oder auch anderen zahlenwert oder |  |
 
 | > vielleicht string), nun |  |
 
 | > vergleiche ich ob dieser mit einem anderen übereinstimmt z.b. mit IF. |  |
 
 | > .... (mal als beispiel, hoffentlich war die zuweisung richtig). |  |
 
 | > Ich möchte aber nun prüfen ob ein bestimmter Hexwert (hier $4) in |  |
 
 | > großen auswahl an Hexwerten vorkommt (also normal nicht nur eine |  |
 
 | > einstellige hexzahl, sondern mehrstellig (das selbe aber bei |  |
 
 | > und vielleicht strings) |  |
 
 | > $02 $05 $1a ........... |  |
 
 | > es kann dabei eine realtiv große anzahl an zahlen sein. |  |
 
 | > ich kenne da wenn ich das nun in EINER Abfrage machen will nur die |  |
 
 | > if (a% = $3) or (a% = $4) or (a% = $5) or ... |  |
 
 | > ich muß also jedesmal wieder komplett die erste Variable eingeben. |  |
 
 | > Gibt es eine andere Möglichkeit bzw. Schreibweise? |  |
 
 | > if a% = $3 or $4 or $5 geht geht zwar sprachlich (ist der Inhalt |  |
 
 | > a% gleich $3 oder...) aber nicht |  |
 
 | > programmiertechnisch (wird ja irgendwie binär zusammengesetzt oder so. |  |
 
 | > Gibt es da eine einfach, auch optisch und übersichtilich bessere |  |
 
 | > oder muß ich wie oben geschrieben alles ausführlich mit if |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | freenet.thorsten_friedrichs meint:
 
 | das würde den Programmablauf ja nicht beschleunigen, sondern verlangsamen. |  |
 
 | > Wandel ihn doch einfach als String um, und dann vergleich |  |
 
 | > if instr(stringwert$+, , FF,FE,CA,99,00,) > 0 |  |
 
 | > > -----Ursprüngliche Nachricht----- |  |
 
 | > > Von: Thorsten Friedrichs [mailto:thorsten_friedrichs@freenet.de] |  |
 
 | > > Gesendet: Mittwoch, 19. Oktober 2005 03:00 |  |
 
 | > > Betreff: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | > > also ich habe z.b. einen Hexwerte (oder auch anderen zahlenwert oder |  |
 
 | > > vielleicht string), nun |  |
 
 | > > vergleiche ich ob dieser mit einem anderen übereinstimmt z.b. mit IF. |  |
 
 | > > .... (mal als beispiel, hoffentlich war die zuweisung richtig). |  |
 
 | > > Ich möchte aber nun prüfen ob ein bestimmter Hexwert (hier $4) in |  |
 
 | > > großen auswahl an Hexwerten vorkommt (also normal nicht nur eine |  |
 
 | > > einstellige hexzahl, sondern mehrstellig (das selbe aber bei |  |
 
 | > > und vielleicht strings) |  |
 
 | > > $02 $05 $1a ........... |  |
 
 | > > es kann dabei eine realtiv große anzahl an zahlen sein. |  |
 
 | > > ich kenne da wenn ich das nun in EINER Abfrage machen will nur die |  |
 
 | > > if (a% = $3) or (a% = $4) or (a% = $5) or ... |  |
 
 | > > ich muß also jedesmal wieder komplett die erste Variable eingeben. |  |
 
 | > > Gibt es eine andere Möglichkeit bzw. Schreibweise? |  |
 
 | > > if a% = $3 or $4 or $5 geht geht zwar sprachlich (ist der Inhalt |  |
 
 | > > a% gleich $3 oder...) aber nicht |  |
 
 | > > programmiertechnisch (wird ja irgendwie binär zusammengesetzt oder so. |  |
 
 | > > Gibt es da eine einfach, auch optisch und übersichtilich bessere |  |
 
 | > > oder muß ich wie oben geschrieben alles ausführlich mit if |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | freenet.thorsten_friedrichs meint:
 
 | die Ausgangslage ist, daß ich u.a. ein eigenes Protokoll schreibe (u.a. für |  |
 
 | Nun habe ich eine feste Tabelle mit Werten (hier halt Hexwerte) und muß |  |
 
 | Dabei will und muß ich im ersten Schritt überprüfen ob ein Byte mit einem |  |
 
 | Hexwert aus einer Tabelle übereinstimmt. |  |
 
 | (an anderer Stelle kommen statt fester Werte, variable vor). |  |
 
 | Mit  if (x=$yy) or (x=$xy) geht es zwar auch, aber es wird sehr |  |
 
 | unübersichtlich und teilweise EXTREM lang. |  |
 
 | ein Abkürzen mit if x = $yy or $xy geht nicht, auf grund des logischen |  |
 
 | Aber ich bin glaube ich weiter gekommen. Ich habe da vollkommen vergessen |  |
 
 | und erst jetzt in der Hilfe wieder draufgestoßen |  |
 
 | das es ja das binäre UND (&) und binäre OR (|) gibt. |  |
 
 | damit könnte es klappen und ich werde das mal testen wie das funktioniert. |  |
 
 | > dein Problem ist mir nicht ganz klar. Erst mal. Wie ist die |  |
 
 | > her und wie werden sie uns Programm übergeben? Dann, was hast du |  |
 
 | > ----- Original Message ----- |  |
 
 | > Sent: Wednesday, October 19, 2005 8:44 AM |  |
 
 | > Subject: AW: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | > Wandel ihn doch einfach als String um, und dann vergleich |  |
 
 | > if instr(stringwert$+, , FF,FE,CA,99,00,) > 0 |  |
 
 | > > -----Ursprüngliche Nachricht----- |  |
 
 | > > Von: Thorsten Friedrichs [mailto:thorsten_friedrichs@freenet.de] |  |
 
 | > > Gesendet: Mittwoch, 19. Oktober 2005 03:00 |  |
 
 | > > Betreff: Hex / if / case - viele werte vergleichen - wie? |  |
 
 | > > also ich habe z.b. einen Hexwerte (oder auch anderen zahlenwert oder |  |
 
 | > > vielleicht string), nun |  |
 
 | > > vergleiche ich ob dieser mit einem anderen übereinstimmt z.b. mit IF. |  |
 
 | > > .... (mal als beispiel, hoffentlich war die zuweisung richtig). |  |
 
 | > > Ich möchte aber nun prüfen ob ein bestimmter Hexwert (hier $4) in |  |
 
 | > > großen auswahl an Hexwerten vorkommt (also normal nicht nur eine |  |
 
 | > > einstellige hexzahl, sondern mehrstellig (das selbe aber bei |  |
 
 | > > und vielleicht strings) |  |
 
 | > > $02 $05 $1a ........... |  |
 
 | > > es kann dabei eine realtiv große anzahl an zahlen sein. |  |
 
 | > > ich kenne da wenn ich das nun in EINER Abfrage machen will nur die |  |
 
 | > > if (a% = $3) or (a% = $4) or (a% = $5) or ... |  |
 
 | > > ich muß also jedesmal wieder komplett die erste Variable eingeben. |  |
 
 | > > Gibt es eine andere Möglichkeit bzw. Schreibweise? |  |
 
 | > > if a% = $3 or $4 or $5 geht geht zwar sprachlich (ist der Inhalt |  |
 
 | > > a% gleich $3 oder...) aber nicht |  |
 
 | > > programmiertechnisch (wird ja irgendwie binär zusammengesetzt oder so. |  |
 
 | > > Gibt es da eine einfach, auch optisch und übersichtilich bessere |  |
 
 | > > oder muß ich wie oben geschrieben alles ausführlich mit if |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  | 
 | 
  | gmx.malenz meint:
 
 | > das würde den Programmablauf ja nicht beschleunigen, sondern |  |
 
 | Würde aber wie gewünscht den Code übersichtlicher machen . Wenn du |  |
 
 | jedoch Geschwindigkeit willst, und viele Werte hast, dann würde ich so |  |
 
 | eine if-Abfrage nicht mit Profan direkt schreiben . Ist halt einfach zu |  |
 
 | langsam . Wenns jedoch absolut nicht anders geht, dann versuchs über die |  |
 
 | Eigenschaft der Zahlenmenge . |  |
 
 | Mit freundlichen Grüßen Marco |  |
 
  |  
  | 
|   | 
 |  | 
|   | 
 
 
  |