DB durchsuchen

puehri

Level-2
Beiträge
44
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe folgendes Problem:

Ich habe in einem DB alle 8 Byte einen DINT liegen
DB.240.DBD4 ;DINT mit Informationen
dann liegen noch andere Daten
DB.240.DBD12 ;DINT mit Informationen
dann liegen noch andere Daten
DB.240.DBD20 ;DINT mit Informationen

usw und das ganze 60 mal

Ich bekomme von einer anderen Anwendung ebenfalls 3x einen DINT als Input.

Jetzt ist meine Frage wie ich diesen Input am schnellsten mit dem Inhalt aus
dem anderen DB vergleichen kann. Oder muss ich das zu Fuss Wert für Wert ausprogrammieren.

Bitte um Hilfe da ich hier nicht sinnvoll weiter komme :cry:
 
hallo,

dies geht am sinnvollsten mit einem pointer und mit einer schleifenprogrammierung nach folgendem muster:

1. Werte initialisieren
2. pointer zusammenstellen und auf den ersten dint einstellen.
3. schleifenbeginn definieren
4. innerhalb der schleife wert vergleichen und auswerten
5. innerhalb der schleife schleifenzähler erhöhen und den pointer um acht bytes erhöhen
6. wenn der schleifenzähler innerhalb von 60 ist, zum anfang der schleife springen, wenn nicht, dann schleife verlassen.

vielleicht hilft dir das weiter.

gruß aus berlin von
lutz
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ja den Ansatz finde ich gut, hab nur ein Problem habe nochtt keine wirklichen Erfahrung mit Pointern und Schleifenprogrammierung.

Vielleicht wäre ein kleiner Denkanstoss möglich

Vielen, vielen Dank für die Hilfe kann sie echt gutgebrauchen


mfg
 
hallo,

habe die funktion erstellt und maile sie dir zu.
ich habe sie aber mangels hardware noch nicht testen können.
wenn sie nicht richtig läuft, einfach noch mal melden.
wenn sie läuft, wäre ein feedback schön.

grüße aus berlin von
lutz
 
Hallo,

Zuerst mal Danke für die schnelle Hilfe

Leider funktionierts noch nicht richtig

Die Funktion sollte so funktionieren:

Meine zu duchsuchenden Datensätze haben sich auf 35 reduziert (ist kein Problem einfach Zähler von 60 auf 35)

Es soll bei jedem der 3 INPUT DINT untersucht werden ob er in dem DB240 vorhanden ist wenn ja soll die Pointeradresse ausgegeben werden wo er ist,
wenn kein Vergleich ok dann soll in der ausgabe eine Null stehen.

Leider klappt das irgendwie nicht so richtig, habe jetzt die ganze probiert aber es klappt nicht richtig.

Vielleicht kann ich noch male ien Hilfestellung bekommen

Danke im voraus

mfg

Andy
 
Zurück
Oben