Seite 1 von 1

Problem mit FindString

Verfasst: 27.04.2005 22:54
von zigapeda
Hallo suche einen string in einem anderen String. das es den string gibt weiß ich ziemlich sicher aber der computer kann ihn nicht finden. Woran kann das liegen?

Re: Problem mit FindString

Verfasst: 27.04.2005 23:06
von Kiffi
Code?

Verfasst: 27.04.2005 23:33
von zigapeda

Code: Alles auswählen

daten$ = "Hallo2ollaH"
pos1 = FindString(daten$,"Hallo",0) + 5
pos2 = FindString(daten$,"ollaH",0)
a = Val(Mid(daten$,pos1,pos2 - pos1))
Debug a
Der code geht einwandfrei, wenn er alleine steht aber nicht wenn er in meinem Programm steht und das einzigste was ich machen will ist ja des nur das danach noch code kommt. Hat das vieleicht was mit dem öffnen von Fenstern zu tun?

Verfasst: 28.04.2005 00:19
von Deeem2031
1. heißt es "einzige" und nicht "einzigste"
2. musst du uns schon den ganzen Code zeigen, der Fehler wird wohl kaum daran liegen, wenn der Code alleine funktioniert.

Verfasst: 28.04.2005 00:36
von ts-soft
zigapeda hat geschrieben: Der code geht einwandfrei, wenn er alleine steht aber nicht wenn er in meinem Programm steht und das einzigste was ich machen will ist ja des nur das danach noch code kommt. Hat das vieleicht was mit dem öffnen von Fenstern zu tun?
Nein, mit dem öffnen eines Fensters hat es nichts zu tun, weil:

Code: Alles auswählen

daten$ = "Hallo2ollaH"
pos1 = FindString(daten$,"Hallo",0) + 5
pos2 = FindString(daten$,"ollaH",0)
a = Val(Mid(daten$,pos1,pos2 - pos1))
Debug a
If OpenWindow(0, 100, 100, 200, 200,  #PB_Window_SystemMenu, "Testfenster")
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
funktioniert.

Verfasst: 28.04.2005 08:32
von Kiffi
zigapeda hat geschrieben:

Code: Alles auswählen

daten$ = "Hallo2ollaH"
pos1 = FindString(daten$,"Hallo",0) + 5
pos2 = FindString(daten$,"ollaH",0)
a = Val(Mid(daten$,pos1,pos2 - pos1))
Debug a
Der code geht einwandfrei, wenn er alleine steht aber nicht wenn er in
meinem Programm steht
ich glaube nicht, dass der Code in Deinem Programm genauso aussieht,
wie Du ihn hier gepostet hast, denn sonst würde er nicht nur 'standalone',
sondern auch in Deinem Programm funktionieren, weil es kein 'äusseren'
Einflüsse geben kann, die auf Deinen Code negativ einwirken.

Poste mal bitte den Original-Ausschnitt. Meine Vermutung geht dahin, dass
entweder daten$ oder der jeweils 2. Parameter bei FindString() (hier bei Dir
durch die konstanten Strings "Hallo" und "ollaH" ersetzt) den falschen Inhalt
trägt.

Grüße ... Kiffi

Verfasst: 29.04.2005 17:29
von zigapeda
ich sag euch wie die befehle abgearbeitet werden:
1. Öffnen von 2 Fenstern und erstellen der Gadgetlists
2. variablen 1 stringfeld wird angelegt und eben die daten$ werden festgelegt
3. Proceduren (werden nicht ausgeführt aber kommen hald so in der reienfolge
4. Die Procedure wird aufgerufen und hat am anfang folgenden code:

Code: Alles auswählen

Procedure countprofil()
  pos1 = FindString(daten$,"Hallo",0) + 5
  pos2 = FindString(daten$,"ollaH",0)
  a = Val(Mid(daten$,pos1,pos2 - pos1))
  Debug a
und mit dem code danach hat es ja nix zu tun weil genau an dieser stelle wird ja a gedebugt.

Hab noch eine frage: Wenn ich die Prozedur mit countprofil() starte und danach die hauptschleife anfängt wird ja erst die prozedur abgearbeitet und dann im eigentlichen code weitergemacht oder?