Autor | Thema: auflisten | | Datum:12.07.02 21:20 
(R_RAUH@WEB.DE) | |
Hallo Profaner/innen,
ich wollte aus einem PRF-Text Wörter auflisten lassen.
ELSE, ENDPROC, ENDIF werden Aufgelistet. Kein IF, IFNOT,
DEF, DECLARE u.s.w. Warum geht das nicht.
PROFAN 7.0f, PPRFellow 2001, WIN98ME.
Mit Besten Dank im Vorraus
Rudolf
PROC LB
sendmessage(LISTBOX1&,$0184,0,0)
FILEMODE 0
I%=0
GE$=GETTEXT$(EDIT&)
assign #1,DA$
reset #1
whilenot eof(#1)
input #1,zeile$
addstring(LISTBOX&,UPPER$(TRIM$(zeile$)))
OK$=getstring$(LISTBOX&,I%)
case EQU$(GE$,OK$):ADDString(LISTBOX1&,zeile$)
INC I%
wend
close #1
ENDPROC
|
| | Datum:12.07.02 22:18 
(webmaster@rokosoft.de) | |
Hi Rudolph,
wollte gerade testen, aber leider kapiere ich den Sinn hier nicht.
Wenn LB aufgerufen wird:
1.) Sind es 2 Listboxen ?
Listbox1& und Listbox& ???
2.) Bei mir klappt es, aber nur das Zeile für Zeile
in eine Listbox kopiert wird. Also nix mit
Endif, If ..... - oder haste hier den Filter weggelassen?
Wäre schön, wenn Du mehr Infos geben könntest.
Rolf
|
| | Datum:12.07.02 22:41 
(joerse@gmx.de) | |
Hallo,
Aus dem gleichen Grund habe ich auch aufgegeben.
Es ist immer sinnvoll lauffähigen auf das wesentliche reduzierten Code zu posten.
Manchmal löst sich dann das Problem schon von allein ;-)
Gruß
Jörg
|
| | Datum:12.07.02 23:38 
(prof.chaos@netcologne.de) | |
Hallo,
du musst noch daran denken, dass in einer Zeile nicht nur ein Befehl stehen kann, sondern auch Parameter und dann auch noch Kommentare !
Folgende Zeilen musst du ergänzen:
GE$=add$(GETTEXT$(EDIT&)," ")
OK$=left$(add$(getstring$(LISTBOX&,I%)," "),len(GE$))
Das Leerzeichen am Ende deshalb, weil IFNOT mit interpretiert werden könnte, wenn man nur ein IF wollte.
Naja, falls das so richtig ist...
Sebastian
|
| | Datum:12.07.02 23:37 
(webmaster@rokosoft.de) | |
Hi Rudolf,
hat mir doch irgendwie unter den Nägeln gebrannt ;)
Evtl. ist es sowas was Du meinst?
Hier werden alle im Editfeld angegebenen Profanbefehle
in der 2ten Editbox aufgelistet.
Hoffe, das zumindest ein Teil davon zu gebrauchen ist :) und es sind natürlich einige Teile kürzer möglich - habs halt auf die schnelle geschrieben.
declare i%,listbox1&,Listbox2&,ge$
declare da$,zeile$,wahl$,z%,ok%,edit2&
declare ok$,edit&,button1&,button2&
PROC LB
FILEMODE 0
I%=0
GE$=GETTEXT$(EDIT&)
assign #1,DA$
reset #1
whilenot eof(#1)
input #1,zeile$
addstring(LISTBOX1&,UPPER$(TRIM$(zeile$)))
wend
close #1
assign #1,DA$
reset #1
whilenot eof(#1)
input #1,zeile$
OK$=getstring$(LISTBOX1&,i%)
ok%=@Instr(upper$(GE$),OK$)
case @gt(ok%,0):ADDString(LISTBOX2&,zeile$)
INC I%
WEND
ENDPROC
SetTrueColor 1
Window 10,10-400,400
Windowtitle "Nach Profan² Befehlen suchen"
cls RGB(192,192,192)
Let ListBox2&=CreateListBox(%hwnd,"",10,200,372,97)
Let ListBox1&=CreateListBox(%hwnd,"",10,10,372,97)
Let Edit2&=CreateEdit(%hwnd,"Hier Datei (oder Button)",11,160,172,21)
Let Edit&=CreateEdit(%hwnd,"Hier Suchtext",10,120,172,21)
Let Button1&=CreateButton(%hwnd,"GO!",240,120,75,25)
Let Button2&=CreateButton(%hwnd,"*.prf wählen",240,160,92,25)
while 1
waitinput
if getfocus(button2&)
let wahl$=@LOADFILE$("ÖFFNE:","*.PRF")
da$=wahl$
settext edit2&,da$
elseif getfocus(button1&)
if @and(@neq$(wahl$,""),@neq$(gettext$(Edit&),"Hier Suchtext"))
LB
setfocus(%hwnd)
elseif @equ$(wahl$,"")
@MessageBox("Bitte Datei wählen","Fehler",16)
elseif @equ$(gettext$(Edit&),"Hier Suchtext")
@MessageBox("Bitte richtigen Suchtext eingeben!","Fehler",16)
endif
endif
wend
Rolf
|
| | Datum:13.07.02 00:02 
(webmaster@rokosoft.de) | |
Achtung ich hab ein Close vergessen:
assign #1,DA$
reset #1
whilenot eof(#1)
input #1,zeile$
OK$=getstring$(LISTBOX1&,i%)
ok%=@Instr(upper$(GE$),OK$)
case @gt(ok%,0):ADDString(LISTBOX2&,zeile$)
INC I%
WEND
close #1 ' HIER
ENDPROC
Sorry Rolf ;)
|
| | | | Datum: 13.07.02 15:52 
(R_RAUH@WEB.DE) | |
Ich möchte mich nochmals recht Herzlich für die Hilfe bedanken.
Rudolf
|
|
|