| |
| |
|
 | 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 | |
|
|
| |
| |
| |
|