Source / code snippets | | | | Jörg Sellmeyer | Hi, I have time a couple Regexpressions zusammengefummelt, with them functions How Sub, Mul u.s.w automatically from the View source removes go can. herewith can no nested Funktonen supplant and be too OR and AND stay unbehandelt. nevertheless can it one a crowd work take off. CompileMarkSeparationDeclare 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/06 ▲ |
| |
| | Jörg Sellmeyer | small Update: Sub(, Add(, Add$(, Mul(, Div(, Div&, MoveListTo...( and Set... go recognized and transformed (as they not To komplex aufgebaut are) |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/10/06 ▲ |
| |
| | Jörg Sellmeyer | Nochn Update: CompileMarkSeparationDef 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&
any Create-functions go transformed. And and Or ditto. as nächstes I will the whole time with Franks ListView.dll contact. then can The Lines directly nachbearbeiten and select, what supplant and is what not. Please time Feedback, whether the with complex Programs nützt. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/11/06 ▲ |
| |
| | Jörg Sellmeyer | and another Update: too nested functions go now in Operators transformed. an list shows whom ready bearbeiteten code on and a only The Changes. with the Button testing becomes in the Tempverzeichnis a temporary (automatic Namensvergabe with Date and Zeitstempel - she'll same again deleted) File created and launched.
This will transformed: Add( Add$( And( Div( Div&( Mul( Or( Sub(
Create...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Edit, Font, radio-, (Def)Button) MoveListTo...(Choice, Edit, List) Set... (AutoPaint, ErrorLevel, TrueColor)
Decimals, FileMode, NumWidth and StrWidth follow yet.
an Definition the Create...-functions with Def won't transformed. in the code becomes but transformed.
by me anyway functions it with Code several thousand Lines. @Dietmar:Lass still time your Mammutprojekt so treat. you become you though on a longer Kaffeepause arrange can.
Greeting Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/12/06 ▲ |
| |
| | Peter Max Müller | | | | | |
| | Jörg Sellmeyer | Yes, unfortunately
Related to the Add$ is too so a thing... there Yes everything in a String vorkommen can, is it difficult whom with of/ one RegExpression dingfest To make. I werd time see, I there can make. thanks anyway for feedback!
Greeting Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/12/06 ▲ |
| |
| | Jörg Sellmeyer | went leichter as virtual - hopefully...
These row functions anyway now.
Greeting Jörg
This will transformed: Add( Add$( And( Div( Div&( Mul( Or( Sub(
Create...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Edit, Font, radio-, (Def)Button) MoveListTo...(Choice, Edit, List) Set... (AutoPaint, ErrorLevel, TrueColor) Decimals, FileMode, NumWidth and StrWidth go in Set(...,n%) transformed |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/12/06 ▲ |
| |
| | Peter Max Müller | Jo Men the functions. but following row can The conversion stop: CompileMarkSeparationLET D% = Create(Dialog,%Hwnd,Maschine : +Maschine$+ / Stationsanzahl : +Stanzahl$,SUB(DIV(%MAXX,2),DIV(0,2)),SUB(DIV(%MAXY,2),DIV(0,2)),0,0) > too shining it the The dbase command not transformed go. CompileMarkSeparation
Quote from the RGH Phorum GO GET * GETFIELD * PUT PUTFIELD PUTREC GETMEMO PUTMEMO FIND SEEK APPENDBLANK BROWSE CLOSE DELETE EDIT INDEX OPEN PACK UNDELETE USE CREATE ** CREATEINDEX **
from dpos& = dbGo(>) becomes means dpos& = db(Go, >). On the Funktionalitäten watts nothing changed.
Greeting P.M.M |
| | | | |
| | Jörg Sellmeyer | The row must I me time To Gemüte lead. you have there but too Konstrukte...
The DBase-things have I yet none installed, I me yourself at all not so engage. I must means first time see, as Syntax there's, before I the integrate.
becomes because the code to dbCreate correctly transformed?
Greeting Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10/12/06 ▲ |
| |
| | Peter Max Müller | Howdy, because I me sure be that you your code so hinkriegst the it everything ordnungsgemäß umwandelt have I me virtual that I with the whom dbase things time erwähne.
Nochwas: CompileMarkSeparation becomes transformed To: CompileMarkSeparation rather would faith I: CompileMarkSeparation means without clinging.or.
Tschüßikowski |
| | | | |
| | Peter Max Müller | Ups, what überlesen....
tja dbase command are now Containerfunktionen.
not any more: CompileMarkSeparation separate CompileMarkSeparation hold so How then The Create stories. and How I seen have wandelst You to that example SetErrorLevel n too circa in @Set(ErrorLevel, n). is Yes really the same Spielchen. |
| | | | |
| | |
rather would faith I:
[Quelltextfenstergröße: big] [Quelltextfenstergröße: normal] [View source Mark] WriteIni PrgDir$ + Inis$,VERG,amount = verganzahl$
means without clinging.or.
under no circumstance would the rather! the reduce of clinging can erfahrungsgemäß with XProfan not well his! rather More instead of less! |
| | | | |
|
Zum QuelltextTopic-Options | 44.347 Views |
Themeninformationenthis Topic has 10 subscriber: |