Français
Source/ Codesnippets

Automatisch Entfernen Funktionen überflüssige

 

Jörg
Sellmeyer
Salut,
j'ai la fois un paire Regexpressions zusammengefummelt, avec denen Funktionen comment Sous, Mul u.s.w automatisch aus dem Voir le texte source entfernt volonté peut.
Hiermit peut aucun imbriquées Funktonen ersetzt volonté et OU et AND rester unbehandelt.
quand même peux es einem une la quantité travail décroître.
KompilierenMarqueSéparation
Declare Term$[10,2],Wert$[5]
Declare Edit&,Text&,hFont&,btnLaden&,btnStarten&,btnSpeichern&,Liste&,ListeFertig&
Term$[0,0] = ([Ss][Uu][Bb])+ ?~(
Term$[1,0] = (([Aa][Dd][Dd])+ ?~()
Term$[2,0] = (([Aa][Dd][Dd]~$)+ ?~()
Term$[3,0] = (([Mm][Uu][Ll])+ ?~()
Term$[4,0] = ([Dd][Ii][Vv]+ ?~()
Term$[5,0] = ([Dd][Ii][Vv]&+ ?~()
Term$[6,0] = ([Aa][Nn][Nn]+ ?~()Wem was dazu einfällt...
Term$[7,0] = ([Oo][Rr]+ ?~()
Term$[8,0] = ([Mm][Oo][Vv][Ee][Ll][Ii][Ss][Tt][Tt][Oo]+([Ll][Ii][Ss][Tt]|[Cc][Hh][Oo][Ii][Cc][Ee]|[Ee][Dd][Ii][Tt]) ?~()
Term$[9,0] = (([Ss][Ee][Tt])([Aa][Uu][Tt][Oo][Pp][Aa][Ii][Nn][Tt]|
[Dd][Ee][Cc][Ii][Mm][Aa][Ll][Ss]|
[Nn][Uu][Mm][Ww][Ii][Dd][Tt][Hh]|
[Cc][Hh][Aa][Rr][Ss][Ee][Tt]|
[Ee][Rr][Rr][Oo][Rr][Ll][Ee][Vv][Ee][Ll]|
[Ff][Ii][Ll][Ee][Mm][Oo][Dd][Ee]|
[Tt][Rr][Uu][Ee][Cc][Oo][Ll][Oo][Rr]|
[Ss][Tt][Rr][Ww][Ii][Dd][Tt][Hh])) [0-9]+
Term$[0,1] = -
Term$[1,1] = +
Term$[2,1] = +
Term$[3,1] = *
Term$[4,1] = /
Term$[5,1] = \
Term$[6,1] = &
Term$[7,1] = |
Term$[8,1] = MoveListToHandle(
Wert$[0] = ( ?[0-9]+(~.[0-9]+)? ?)Zahl
Wert$[1] =  ( ?[!%&]?[A-Za-z0-9]+[!%&]? ?)numerische Variable; Hex-, Binär- oder Octalzahl; Konstante oder Systemvariable
Wert$[2] = ( ?q{1}.*q{1} ?)String
Wert$[3] = ( ?([A-Za-z0-9ÄÖÜäöü~-_])+~$+ ?)Stringvariable oder Konstante
Wert$[4] = ( ?~$+[A-Za-z0-9ÄÖÜäöü~-_]+ ?)Stringkonstante

Proc Bearbeiten

    Parameters Zeile$,hEdit&,hText&
    Declare Funktion$,RegExpVar$,FunktionTransformiert$
    Case Zeile$ > :SetText hEdit&,Zeile$

    { Sub:

        RegExpVar$ = Term$[0,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[0,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[0,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    { Add:

        RegExpVar$ = Term$[1,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[1,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[1,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {Add$:

        RegExpVar$ = Term$[2,0] + ( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ),( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[2,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[2,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {Mul:

        RegExpVar$ = Term$[3,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[3,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[3,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {Div

        RegExpVar$ = Term$[4,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[4,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[4,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {Div&

        RegExpVar$ = Term$[5,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[5,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[5,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {MoveListTo

        RegExpVar$ = Term$[8,0]

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            FunktionTransformiert$ = Translate$(Funktion$,Funktion$,Term$[8,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    {Set...

        RegExpVar$ = Term$[9,0]
        Declare Zahl$

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Zahl$ = SubStr$(Funktion$,2, )
            FunktionTransformiert$ = Translate$(Funktion$,Zahl$,q, + Zahl$ + ))
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,Left$(FunktionTransformiert$,3),Left$(FunktionTransformiert$,3) + (q)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Zeile$

        Wend

    }

    Return Zeile$

EndProc

Proc DateiLaden

    Declare Datei$,Zeile$
    Datei$=LoadFile$(Profan-Code laden,Profan-Code (*.prf)|*.prf|
    + Include-Datei (*.inc)|*.inc)

    If Datei$ >

        ClearList Liste&
        Assign #1,Datei$
        Reset #1

        WhileNot @Eof(#1)

            Input #1,Zeile$
            AddString(Liste&, Zeile$)

        Wend

        Close #1
        WindowTitle Datei$ +  geladen

    EndIf

EndProc

Proc DateiBearbeiten

    If GetCount(Liste&) > 0

        Declare Zeile$,ZeileNeu$
        ClearList ListeFertig&

        WhileLoop 0,GetCount(Liste&)

            locate 12,0
            Zeile$ = GetString$(Liste&,&Loop)
            ZeileNeu$ = Bearbeiten(Zeile$,Edit&,Text&)
            AddString(ListeFertig&,ZeileNeu$)

            If ZeileNeu$ <> Zeile$

                AddString Str$(&Loop) +   + Trim$(Zeile$)
                AddString Str$(&Loop) +   + Trim$(ZeileNeu$)

            EndIf

        Wend

        ListBox$(Änderungen,2)
        WindowTitle Translate$(GetText$(%hwnd),geladen,bearbeitet)

    EndIf

EndProc

Proc DateiSpeichern

    If GetCount(ListeFertig&) > 0

        Declare Datei$
        Datei$ = SaveFile$(Datei speichern,Profan-Code (*.prf)|*.prf|
        + Include-Datei (*.inc)|*.inc|
        + Andere (*.*)|*.*))

        If Datei$ >

            Assign #1,Datei$
            ReWrite #1

            WhileLoop 0,GetCount(ListeFertig&)

                Print #1,GetString$(ListeFertig&,&Loop)

            Wend

            Close #1
            WindowTitle Translate$(GetText$(%hwnd),bearbeitet,gespeichert)

        EndIf

    EndIf

EndProc

Window 1,1 - 1100,400
hFont& = Create(Font,MS Sans Serif,14,0,0,0,0)
SetDialogFont hFont&
Edit& = Create(Edit,%hwnd,,0,0,Width(%hwnd),24)
Text& = Create(Text,%hwnd,,0,50,Width(%hwnd),24)
btnLaden& = Create(Button,%hwnd,laden,10,100,60,24)
btnStarten& = Create(Button,%hwnd,starten,80,100,60,24)
btnSpeichern& = Create(Button,%hwnd,speichern,150,100,60,24)
Liste&=Create(List,0)
ListeFertig&=Create(List,0)

While 1

    Waitinput

    If Clicked(btnLaden&)

        ChDir C:/ProfanTools
        DateiLaden

    ElseIf Clicked(btnStarten&)

        DateiBearbeiten

    ElseIf Clicked(btnSpeichern&)

        DateiSpeichern

    EndIf

Wend

DeleteObject hFont&
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
10.10.2006  
 




Jörg
Sellmeyer
Kleines Update:
Sous(, Ajouter(, Ajouter$(, Mul(, Div(, Div&, MoveListTo...( et Set... volonté erkannt et umgewandelt (si vous pas trop komplex aufgebaut sommes)
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
10.10.2006  
 




Jörg
Sellmeyer
Nochn Update:
KompilierenMarqueSéparation
Def DelLast(2) Mid$(@$(1),1,Sub(Len(@$(1)),@&(2)))
Declare Term$[15,2],Wert$[5]
Declare Edit&,Text&,hFont&,btnLaden&,btnStarten&,btnSpeichern&,Liste&,ListeFertig&
Term$[0,0] = @?([Ss][Uu][Bb])+ ?~(
Term$[1,0] = @?(([Aa][Dd][Dd])+ ?~()
Term$[2,0] = @?(([Aa][Dd][Dd]~$)+ ?~()
Term$[3,0] = @?(([Mm][Uu][Ll])+ ?~()
Term$[4,0] = @?([Dd][Ii][Vv]+ ?~()
Term$[5,0] = @?([Dd][Ii][Vv]&+ ?~()
Term$[6,0] = @?([Aa][Nn][Dd]+ ?~()
Term$[7,0] = @?([Oo][Rr]+ ?~()
Term$[8,0] = @?([Mm][Oo][Vv][Ee][Ll][Ii][Ss][Tt][Tt][Oo]+([Ll][Ii][Ss][Tt]|[Cc][Hh][Oo][Ii][Cc][Ee]|[Ee][Dd][Ii][Tt]) ?~()
Term$[9,0] = (([Ss][Ee][Tt])([Aa][Uu][Tt][Oo][Pp][Aa][Ii][Nn][Tt]|
[Dd][Ee][Cc][Ii][Mm][Aa][Ll][Ss]|
[Nn][Uu][Mm][Ww][Ii][Dd][Tt][Hh]|
[Cc][Hh][Aa][Rr][Ss][Ee][Tt]|
[Ee][Rr][Rr][Oo][Rr][Ll][Ee][Vv][Ee][Ll]|
[Ff][Ii][Ll][Ee][Mm][Oo][Dd][Ee]|
[Tt][Rr][Uu][Ee][Cc][Oo][Ll][Oo][Rr]|
[Ss][Tt][Rr][Ww][Ii][Dd][Tt][Hh])) [0-9]+
Term$[10,0] = @?([Cc][Rr][Ee][Aa][Tt][Ee]([Cc][Hh][Ee][Cc][Kk]|([Ss][Oo][Rr][Tt][Ee][Dd])?[Ll][Ii][Ss][Tt]|
[Cc][Hh][Oo][Ii][Cc][Ee]|[Gg][Rr][Oo][Uu][Pp])[Bb][Oo][Xx]) ?~(
Term$[11,0] = @?[Cc][Rr][Ee][Aa][Tt][Ee]([Dd][Ee][Ff]|[Rr][Aa][Dd][Ii][Oo])?[Bb][Uu][Tt][Tt][Oo][Nn] ?~(
Term$[12,0] = @?[Cc][Rr][Ee][Aa][Tt][Ee](([Ee][Xx][Tt])?[Dd][Ii][Aa][Ll][Oo][Gg]|([Mm][Uu][Ll][Tt][Ii])?[Ee][Dd][Ii][Tt]|
[Ff][Oo][Nn][Tt]|[Ii][Cc][Oo][Nn]|[Tt][Ee][Xx][Tt]|([Vv]|[Hh])[Ss][Cc][Rr][Oo][Ll][Ll]|[Ww][Ii][Nn][Dd][Oo][Ww]) ?~(
Term$[0,1] = -
Term$[1,1] = +
Term$[2,1] = +
Term$[3,1] = *
Term$[4,1] = /
Term$[5,1] = \
Term$[6,1] =  &
Term$[7,1] =  |
Term$[8,1] = MoveListToHandle(
Wert$[0] = ( ?[0-9]+(~.[0-9]+)? ?)Zahl
Wert$[1] =  ( ?[!%&]?[A-Za-z0-9]+[!%&]? ?)numerische Variable; Hex-, Binär- oder Octalzahl; Konstante oder Systemvariable
Wert$[2] = ( ?q{1}.*q{1} ?)String
Wert$[3] = ( ?([A-Za-z0-9ÄÖÜäöü~-_])+~$+ ?)Stringvariable oder Konstante
Wert$[4] = ( ?~$+[A-Za-z0-9ÄÖÜäöü~-_]+ ?)Stringkonstante

Proc Bearbeiten

    Parameters Zeile$,hEdit&,hText&
    Declare Funktion$,RegExpVar$,FunktionTransformiert$
    Case Zeile$ > :SetText hEdit&,Zeile$

    { Sub:

        RegExpVar$ = Term$[0,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[0,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[0,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    { Add:

        RegExpVar$ = Term$[1,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[1,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[1,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Add$:

        RegExpVar$ = Term$[2,0] + ( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ),( + Wert$[2] + | + Wert$[3] + | + Wert$[4] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[2,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[2,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Mul:

        RegExpVar$ = Term$[3,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[3,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[3,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Div

        RegExpVar$ = Term$[4,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[4,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[4,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Div&

        RegExpVar$ = Term$[5,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[5,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[5,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {And

        RegExpVar$ = Term$[6,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[6,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[6,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Or

        RegExpVar$ = Term$[7,0] + ( + Wert$[0] + | + Wert$[1] + )  + , + ( + Wert$[0] + | + Wert$[1] + ) + ~)

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Set(RegEx,1)
            FunktionTransformiert$ = Translate$(Funktion$,Term$[7,0],()
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,,,Term$[7,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {MoveListTo

        RegExpVar$ = Term$[8,0]

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            FunktionTransformiert$ = Translate$(Funktion$,Funktion$,Term$[8,1])
            Set(RegEx,0)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Set...

        RegExpVar$ = Term$[9,0]
        Declare Teil$,Teil1$,Teil2$

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Teil$ = SubStr$(Funktion$,2, )
            FunktionTransformiert$ = Translate$(Funktion$,Teil$,q, + Teil$ + ))
            FunktionTransformiert$ = Translate$(FunktionTransformiert$,Left$(FunktionTransformiert$,3),Left$(FunktionTransformiert$,3) + (q)
            Zeile$ = Translate$(Zeile$,Funktion$,FunktionTransformiert$)
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Create...Box

        RegExpVar$ = Term$[10,0]

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Funktion$ = Translate$(Funktion$,@,)
            Teil1$ = SubStr$(Zeile$,1,Funktion$)
            Teil2$ = SubStr$(Zeile$,2,Funktion$)
            FunktionTransformiert$ = Translate$(Funktion$,Left$(Funktion$,6),Left$(Funktion$,6) + (q)
            FunktionTransformiert$ = DelLast(FunktionTransformiert$,1) + q,
            Set(RegEx,1)

            If InStr(([Ss][Oo][Rr][Tt][Ee][Dd]),FunktionTransformiert$)

                If SubStr$(Teil2$,2,,) = qq

                    Teil2$=Ins$(1,Teil2$,InStr(qq,Teil2$))
                    Teil2$=Del$(Teil2$,InStr(qq,Teil2$),2)
                    FunktionTransformiert$=Translate$(FunktionTransformiert$,([Ss][Oo][Rr][Tt][Ee][Dd]),)

                EndIf

            EndIf

            Zeile$= Teil1$ + FunktionTransformiert$ + Teil2$
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Create...Button

        RegExpVar$ = Term$[11,0]

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Funktion$ = Translate$(Funktion$,@,)
            Teil1$ = SubStr$(Zeile$,1,Funktion$)
            Teil2$ = SubStr$(Zeile$,2,Funktion$)
            FunktionTransformiert$ = Translate$(Funktion$,Left$(Funktion$,6),Left$(Funktion$,6) + (q)
            FunktionTransformiert$ = DelLast(FunktionTransformiert$,1) + q,
            Zeile$= Teil1$ + FunktionTransformiert$ + Teil2$
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    {Create...Rest

        RegExpVar$ = Term$[12,0]

        While Match$(RegExpVar$,Zeile$) >

            Funktion$ = Match$(RegExpVar$,Zeile$)
            Funktion$ = Translate$(Funktion$,@,)
            Teil1$ = SubStr$(Zeile$,1,Funktion$)
            Teil2$ = SubStr$(Zeile$,2,Funktion$)
            FunktionTransformiert$ = Translate$(Funktion$,Left$(Funktion$,6),Left$(Funktion$,6) + (q)
            FunktionTransformiert$ = DelLast(FunktionTransformiert$,1) + q,
            Zeile$= Teil1$ + FunktionTransformiert$ + Teil2$
            Case Zeile$ > :SetText hText&,Translate$(Zeile$,&,&&)

        Wend

    }

    Return Zeile$

EndProc

Proc DateiLaden

    Declare Datei$,Zeile$
    Datei$=LoadFile$(Profan-Code laden,Profan-Code (*.prf)|*.prf|
    + Include-Datei (*.inc)|*.inc)

    If Datei$ >

        ClearList Liste&
        Assign #1,Datei$
        Reset #1

        WhileNot @Eof(#1)

            Input #1,Zeile$
            AddString(Liste&, Zeile$)

        Wend

        Close #1
        WindowTitle Datei$ +  geladen

    EndIf

EndProc

Proc DateiBearbeiten

    If GetCount(Liste&) > 0

        Declare Zeile$,ZeileNeu$
        ClearList ListeFertig&

        WhileLoop 0,GetCount(Liste&)

            locate 12,0
            Zeile$ = GetString$(Liste&,&Loop)
            ZeileNeu$ = Bearbeiten(Zeile$,Edit&,Text&)
            AddString(ListeFertig&,ZeileNeu$)

            If ZeileNeu$ <> Zeile$

                AddString Str$(&Loop) +   + Trim$(Zeile$)
                AddString Str$(&Loop) +   + Trim$(ZeileNeu$)

            EndIf

        Wend

        ListBox$(Änderungen,2)
        WindowTitle Translate$(GetText$(%hwnd),geladen,bearbeitet)

    EndIf

EndProc

Proc DateiSpeichern

    If GetCount(ListeFertig&) > 0

        Declare Datei$
        Datei$ = SaveFile$(Datei speichern,Profan-Code (*.prf)|*.prf|
        + Include-Datei (*.inc)|*.inc|
        + Andere (*.*)|*.*))

        If Datei$ >

            Assign #1,Datei$
            ReWrite #1

            WhileLoop 0,GetCount(ListeFertig&)

                Print #1,GetString$(ListeFertig&,&Loop)

            Wend

            Close #1
            WindowTitle Translate$(GetText$(%hwnd),bearbeitet,gespeichert)

        EndIf

    EndIf

EndProc

Window 1,1 - 1100,400
hFont& = Create(Font,MS Sans Serif,14,0,0,0,0)
SetDialogFont hFont&
Edit& = Create(Edit,%hwnd,,0,0,Width(%hwnd),24)
Text& = Create(Text,%hwnd,,0,50,Width(%hwnd),24)
btnLaden& = Create(Button,%hwnd,laden,10,100,60,24)
btnStarten& = Create(Button,%hwnd,starten,80,100,60,24)
btnSpeichern& = Create(Button,%hwnd,speichern,150,100,60,24)
Liste&=Create(List,0)
ListeFertig&=Create(List,0)

While 1

    Waitinput

    If Clicked(btnLaden&)

        ChDir C:/ProfanTools
        DateiLaden

    ElseIf Clicked(btnStarten&)

        DateiBearbeiten

    ElseIf DateiSpeichern

    EndIf

Wend

DeleteObject hFont&

Alle Créer-Funktionen volonté umgewandelt. And et Or également.
comme nächstes werde je cela ganze la fois avec Franks ListView.dll relier. ensuite peux on qui Zeilen direct nachbearbeiten et auswählen, quoi ersetzt wird et quoi pas.
s'il te plaît la fois Feedback, si cela chez komplexen Programmen nützt.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
11.10.2006  
 




Jörg
Sellmeyer
et encore un Update:
aussi imbriquées Funktionen volonté maintenant dans Operatoren umgewandelt.
une liste zeigt den fertig bearbeiteten Code à et une seulement qui Changements.
avec dem Button testen wird im Tempverzeichnis une temporäre (automatische Namensvergabe avec date et Zeitstempel - vous wird juste wieder gelöscht) Dossier erzeugt et gestartet.

cela wird umgewandelt:
Ajouter(
Ajouter$(
And(
Div(
Div&(
Mul(
Or(
Sous(

Créer...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Éditer, Font, radio-, (Def)Button)
MoveListTo...(Choice, Éditer, List)
Set... (AutoPaint, ErrorLevel, TrueColor)

Decimals, FileMode, NumWidth et StrWidth folgen encore.

une définition qui Créer...-Funktionen avec Def wird pas umgewandelt. Im Code wird mais umgewandelt.

chez mir jedenfalls funktioniert es avec Code de mehreren mille Zeilen.
@Dietmar:Lass doch la fois Dein Mammutprojekt avec cela behandeln. Du wirst toi allerdings sur une längere Kaffeepause einrichten peut.

Salut
Jörg

16 kB
Hochgeladen:12.10.2006
Downloadcounter169
Download
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.10.2006  
 




Peter
Max
Müller
Hi,
Folgende la ligne wird faux traduit:
KompilierenMarqueSéparation
LET Maschine$   = ReadIni$(add$(PrgDir$,DATEN+maschname$+.DAT),SORTE,Maschine)
>

dans
KompilierenMarqueSéparation
LET Maschine$   = ReadIni$((PrgDir$ + DATEN+maschname$+.DAT) + SORTE + Maschine)
>

Salut
P.M.M
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 




Jörg
Sellmeyer
oui, malheureusement

Relatif à la Ajouter$ ist mais aussi so une l'affaire... là oui alles dans einem String vorkommen peux, ist es schwierig den avec einer RegExpression dingfest trop faire.
je werd la fois voyons, quoi je là faire peux.
merci jedenfalls pour qui Rückmeldung!

Salut
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.10.2006  
 




Jörg
Sellmeyer
Ging leichter comme gedacht - hoffentlich...

cet la ligne funktioniert jedenfalls maintenant.

Salut
Jörg

cela wird umgewandelt:
Ajouter(
Ajouter$(
And(
Div(
Div&(
Mul(
Or(
Sous(

Créer...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Éditer, Font, radio-, (Def)Button)
MoveListTo...(Choice, Éditer, List)
Set... (AutoPaint, ErrorLevel, TrueColor)
Decimals, FileMode, NumWidth et StrWidth
volonté dans Set(...,n%) umgewandelt

16 kB
Hochgeladen:12.10.2006
Downloadcounter118
Download
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.10.2006  
 




Peter
Max
Müller
Jo Men
cela funktioniert.
mais folgende la ligne läßt qui Umwandlung stoppen:
KompilierenMarqueSéparation
LET D% = Create(Dialog,%Hwnd,Maschine : +Maschine$+  /  Stationsanzahl : +Stanzahl$,SUB(DIV(%MAXX,2),DIV(0,2)),SUB(DIV(%MAXY,2),DIV(0,2)),0,0)
>

aussi scheint es cela qui dbase Befehle pas umgewandelt volonté.
KompilierenMarqueSéparation


citation aus dem RGH Phorum
GO
GET *
GETFIELD *
PUT
PUTFIELD
PUTREC
GETMEMO
PUTMEMO
FIND
SEEK
APPENDBLANK
BROWSE
CLOSE
DELETE
EDIT
INDEX
OPEN
PACK
UNDELETE
USE
CREATE **
CREATEINDEX **

Aus dpos& = dbGo(>) wird alors dpos& = db(Go, >). à den Funktionalitäten wurde rien geändert.


Salut
P.M.M
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 




Jörg
Sellmeyer
qui la ligne doit je mir la fois trop Gemüte mener. tu as là mais aussi Konstrukte...

qui DBase-Sachen habe je encore gar pas incorporé, là je mich selber überhaupt pas avec cela beschäftige.
je dois alors seulement la fois voyons, comment qui Syntax voilà, bevor je cela integriere.

Wird car qui Code pour dbCreate korrekt umgewandelt?

Salut
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
12.10.2006  
 




Peter
Max
Müller
Howdy,
Weil je mir sûrement suis cela du deinen Code so hinkriegst cela il alles ordnungsgemäß umwandelt habe je mir gedacht le moi cela avec den dbase Sachen la fois erwähne.

Nochwas:
KompilierenMarqueSéparation
WriteIni (add$(PrgDir$,Inis$)),VERG,Anzahl = verganzahl$
>

wird umgewandelt trop:
KompilierenMarqueSéparation
WriteIni ((PrgDir$ + Inis$)),VERG,Anzahl = verganzahl$
>

Besser wäre glaube je:
KompilierenMarqueSéparation
WriteIni PrgDir$ + Inis$,VERG,Anzahl = verganzahl$
>

alors sans Klammern.ou bien.

Tschüßikowski
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 




Peter
Max
Müller
Ups, quoi überlesen....

tja dbase Befehle sommes maintenant Containerfunktionen.

pas plus:
KompilierenMarqueSéparation
mais
KompilierenMarqueSéparation
arrêt so comment autrefois qui Créer Geschichten.
et comment je gesehen habe wandelst Du zum Beispiel SetErrorLevel N aussi um dans
@Set(ErrorLevel, N).
Ist oui eigentlich cela selbe Spielchen.
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 




Besser wäre glaube je:

[Quelltextfenstergröße: grand] [Quelltextfenstergröße: normal] [Voir le texte source markieren]
WriteIni PrgDir$ + Inis$,VERG,Anzahl = verganzahl$

alors sans Klammern.ou bien.


aucunement wäre cela besser! cela réduire de Klammern peux erfahrungsgemäß chez XProfan pas bien son! Lieber plus statt moins!
 
12.10.2006  
 




Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

44.783 Views

Untitledvor 0 min.
Walter16.02.2019
AndreasS27.11.2018
Jörg Sellmeyer14.05.2018
PETER195605.09.2015
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie