Hilfestellung zu DLL schreiben

Hallo Ryu1991, ich habe keinen Zweifel daran, dass deine DLL funktionieren würde.
Leider kann ich in meinem Sch... Steuerprogramm jeder Funktion nur eine Variable übergeben. Parameter sind da nicht vorgesehen.?! :confused:

Nun, falls du nochmals Lust und Zeit hast.
In der variable die der Funktion _Instr() übergeben wird, wird immer nur nach dem Zeichen + gesucht und dessen Position im String zurück erwartet.

Man könnte doch anstelle des Parameters fix nach dem + Zeichen suchen ?

Für die Funktion _SubStr() sehe ich sehr schwarz ohne Parameter.

Gruss brewal
 
wenn du ein paar weiter fixe angaben gibst sollte das schon gehen, also z.b, du wolltest ja erst werte übergeben, wo der string herrausgeschnitten werden soll, aber wenn du anfang und ende des Strings durch bestimmte zeichen kennzeichnen kannst würde es auch reichen einfach nur den string selbst zu übergeben. Ich werde dann beide funktionen nach deiner Antwort umschreiben.
 
Ich Danke dir !

Ich könnte den String in der Variable so zusammenstellen:

Beispiel 1: 294.000-EU+1234567
Beispiel 2: 296.100-EX.001+7653980

Nun bräuchte es meiner Meinung nach eine erste funktion, die die Zeichen links vom + zurück gibt und eine zweite funktion, die vom gleichen string die rechte seite des + zurück gibt.

links = Substr(296.100-EX.001+7653980) ergibt 296.100-EX.001
rechts = Substr(296.100-EX.001+7653980) ergibt 7653980

es gibt aber auch Strings, die ohne + zeichen kommen und dahinter nichts mehr steht
zb. 493.987-ESX

das liese sich aber vieleicht mit einer modifizierten Instr() funktion überprüfen die nur
schaut ob ein + Zeichen vorhanden ist. vieleicht 0 für nicht enthalten und die position wenn enthalten.

Falls du eine andere Möglichkeit siehst, nur zu.

Gruss und dank brewal
 
Ok, habe die DLL deinen Wünschen angepasst, _InStr erwartet jetzt nurnoch ein Parameter, nämlich den string. Dann habe ich 2 weitere Funktionen eingebaut, _links und _rechts, die erwarten auch jeweils nur den string und geben dann das zurück, was du willst, nämlich das was links, bzw. rechts vom + steht, habe wieder das ganze Projekt hochgeladen, kannst also auch in die Header schauen^^.
Gruß Ryu 1991.
 

Anhänge

Hallo Ryu1991, schlechte Nachrichten.
Alle drei funktionen geben mir "Ôù" zurück.

Ich habe auf der Kiste eine Tool.dll, die erfolgreich Ihren Dienst verrichtet. In Anwendung ist die funktion _STRING_LEN, die meldet die richtige Stringlänge zurück.

Im Anhang habe ich die die entsprechende DLL und den Source. Der Kenner, kann damit
sicher etwas anfangen und weis warum ich die komischen Zeichen erhalte.

Ist es egal, wenn das Steuerprogramm unter NT4 läuft, oder hat das etwas zu sagen?

Gruss brewal
 

Anhänge

Hi, ich weiß nicht, ob das was mit NT4 zu tun hat würde e erstmal nicht auschließen, die Funktionen geben Zeiger auf String zurück, ich halte es aber für unrealitisch, dass das an der DLL liegt, ehr an einer inkompatibilität deines teuerprogramm zu char zeigern. Ich habe aber momentan keine zeit mehr mir das anzuschauen, vielleicht macht da ja einer der anderen hier:)
Sorry
Gruß Ryu1991
 
Zurück