Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 242850 (4286)
  Suchen
 Zurück zur Übersicht
 AutorThema: auflisten
Rudolf Rauh
Datum:12.07.02 21:20 Antwortenals Email verschicken (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



Rolf Koch
Datum:12.07.02 22:18 Antwortenals Email verschicken (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



Jörg Sellmeyer
Datum:12.07.02 22:41 Antwortenals Email verschicken (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


Sebasitan Sprenger
Datum:12.07.02 23:38 Antwortenals Email verschicken (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


Rolf Koch
Datum:12.07.02 23:37 Antwortenals Email verschicken (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


Rolf Koch
Datum:13.07.02 00:02 Antwortenals Email verschicken (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 ;)


Rolf Koch
Datum:13.07.02 00:27 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Wer kennt das nicht?
Da will man kurz helfen und man kommt von der Geschichte selbst nicht mehr weg.
Habe nun ein verbessertes Suchtool unter
http://home.t-online.de/home/rokosoft/Search.prf
abgelegt. So heute aber Schluss, war schon wieder zu lange am Rechner ;)
Rolf


Rolf Koch
Datum:13.07.02 12:36 Antwortenals Email verschicken (webmaster@rokosoft.de) 


Also Rudolf und alle die es interessiert,
nun ist das Suchtool stark erweitert.
Rudolf, dort kannste bestimmt Deine Ideen mit umsetzen.
Es ist reines Profan, ohne Api u.s.w - also auch für jeden Einsteiger (hoffentlich) verständlich.
http://home.t-online.de/home/rokosoft/Search.prf
Rolf


Rudolf Rauh
Datum: 13.07.02 15:52 Antwortenals Email verschicken (R_RAUH@WEB.DE) 


Ich möchte mich nochmals recht Herzlich für die Hilfe bedanken.
Rudolf


 Zurück zur Übersicht