Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 242850 (4286)

| Suchen
| Zurück zur Übersicht

Autor | Thema: auflisten
Rudolf Rauh
| 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
Rolf Koch
| 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
Jörg Sellmeyer
| 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
Sebasitan Sprenger
| 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
Rolf Koch
| 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
Rolf Koch
| 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 ;)
Rolf Koch
| Datum:13.07.02 00:27 (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 (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 (R_RAUH@WEB.DE) |
Ich möchte mich nochmals recht Herzlich für die Hilfe bedanken. Rudolf

| Zurück zur Übersicht