Autor | Thema: Nach einem Wort suchen | | Datum:25.05.02 16:21 
| |
Hallo
Ich wollte ein Programm schreiben das nach einem Wort in einer Txt Datei sucht, aber leider ist irgendwo ein Fehler den ich net finde, vieleicht kann mir jemand von euch weiterhelfen.
Windowstyle $1a
Window 300,300-376,235
Cls @RGB(0,0,0)
$I Powerdll.inc
Loadpowerdll
DLL_GetShareware()
Let Eingabe%=@createedit(%HWnd,"Das zu suchende Wort eingeben...",24,16,320,24)
Let Eingabe01%=@createedit(%HWnd,"Pfad der Datei die Durchsucht werden soll...",24,56,320,24)
Let BSuchen%=@createbutton(%HWnd,"Suchen",24,88,64,24)
Let BInfo%=@createbutton(%HWnd,"Info",144,88,64,24)
Let Ende%=@createbutton(%HWnd,"Beenden",280,88,64,24)
Let Listbox%=@createlistbox(%HWnd,"",24,115,320,88)
Let _ende% = 0
Whilenot _ende%
Waitinput
If @equ(%key,4)
ElseIf @getfocus(Eingabe%)
ElseIf @getfocus(Eingabe01%)
ElseIf @getfocus(BSuchen%)
@AddString(Listbox%,pro$)
Let Eingabe01Lesen$ = @GetText$(Eingabe01%)
Let EingabeLesen$ = @GetText$(Eingabe%)
Funktion:
DEF Diff_IsStringInFile(2) !"POWERDLL.DLL","Diff_IsStringInFile"(pro$)
Prozedur:
IsStringInFile Eingabe01Lesen$, EingabeLesen$
@AddString(Listbox%,pro$)
ElseIf @getfocus(BInfo%)
ElseIf @getfocus(Ende%)
Let _ende% = 1
ElseIf @getfocus(Listbox%)
EndIf
Wend
Endproc
Mfg Stephan
|
| | Datum: 26.05.02 12:18 
(joerse@gmx.de) | |
Hallo Stephan,
Du hast mehrere Ungereimtheiten in Deinem Quellcode:
1. Funktionen werden immer am Anfang definiert oder zumindest so, dass die Definition nicht ein zweites Mal erfolgt.
In Deiner If-Struktur kann sie immer wieder definiert werden.
2. Die Variable pro$ in @AddString(Listbox%,pro$) taucht vorher nicht auf (als Deklaration). Was für einen String fügst Du der Listbox hinzu ?
3. Nach dem Prozeduraufruf erfolgt der gleiche Befehl nochmal, ohne dass pro$ sich erkennbar verändert hat.
Wenn Du einen Rückgabewert der Prozedur erwartest solltest Du
@AddString(Listbox%,@$(0)) verwenden.
4.-6. Es ist sinnvoll immer die verwendete Profanversion anzugeben
und möglichst kurzen lauffähigen Code mit Definitionen zu posten.
Ich hoffe ich konnte helfen
Gruß
Jörg
|
|
|