Fuente/ Codesnippets | | | | Jörg Sellmeyer | ¡Hola, Yo habe veces unos pocos Regexpressions zusammengefummelt, con denen Características como Sub, Mul u.s.w automáticamente de el Ver código fuente lejos voluntad puede. Hiermit puede no verschachtelte Funktonen ersetzt y ser auch O y AND bleiben unbehandelt. Trotzdem kann lo una una Menge Trabajos puntuales. KompilierenMarcaSeparaciónDeclare 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 Actualización: Sub(, Add(, Add$(, Mul(, Div(, Div&, MoveListTo...( y Conjunto... voluntad erkannt y umgewandelt (si ellos no a komplex aufgebaut son) |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 10.10.2006 ▲ |
| |
| | Jörg Sellmeyer | Nochn Actualización: KompilierenMarcaSeparaciónDef 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 Crear-Características voluntad umgewandelt. And y Or ebenfalls. Als nächstes voluntad Yo todos veces con Franks ListView.dll verbinden. Dann puede ser el Zeilen direkt nachbearbeiten y auswählen, qué ersetzt se y qué no. Bitte veces Feedback, si en el komplexen Programmen nützt. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 11.10.2006 ▲ |
| |
| | Jörg Sellmeyer | Und todavía una Actualización: Auch verschachtelte Características voluntad ahora en Operatoren umgewandelt. Un Liste zeigt el fertig bearbeiteten Code a y una sólo el Los cambios. Mit el Button testen se en el Tempverzeichnis una temporäre (automatische Namensvergabe con Datum y Zeitstempel - ellos se otra vez gelöscht) Expediente producido y comenzó.
Das se umgewandelt: Add( Add$( And( Div( Div&( Mul( Or( Sub(
Crear...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Editar, Font, Radio-, (Def)Button) MoveListTo...(Choice, Editar, List) Conjunto... (AutoPaint, ErrorLevel, TrueColor)
Decimals, FileMode, NumWidth y StrWidth folgen todavía.
Un Definition el Crear...-Características con Def no es umgewandelt. Im Code se aber umgewandelt.
En me jedenfalls funktioniert lo con Code de más tausend Zeilen. @Dietmar:Lass doch veces Su Mammutprojekt así behandeln. Usted wirst Usted allerdings en una längere Kaffeepause einrichten puede.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.10.2006 ▲ |
| |
| | Peter Max Müller | | | | | |
| | Jörg Sellmeyer | Sí, desafortunadamente
Relacionado con la Add$ es aber auch así una Sache... Como sí alles en un String vorkommen kann, es schwierig el con uno RegExpression dingfest a hacer. Yo werd veces sehen, Yo como hacer kann. Gracias jedenfalls para el Rückmeldung!
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.10.2006 ▲ |
| |
| | Jörg Sellmeyer | Ging leichter como pensamiento - hoffentlich...
Diese Línea funktioniert jedenfalls ahora.
Saludo Jörg
Das se umgewandelt: Add( Add$( And( Div( Div&( Mul( Or( Sub(
Crear...(Check-, Choice-, Group-, (Sorted)ListBox, (Multi)Editar, Font, Radio-, (Def)Button) MoveListTo...(Choice, Editar, List) Conjunto... (AutoPaint, ErrorLevel, TrueColor) Decimals, FileMode, NumWidth y StrWidth voluntad en Conjunto(...,n%) umgewandelt |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.10.2006 ▲ |
| |
| | Peter Max Müller | Jo Men Das funktioniert. Aber folgende Línea läßt el Umwandlung stoppen: KompilierenMarcaSeparaciónLET D% = Create(Dialog,%Hwnd,Maschine : +Maschine$+ / Stationsanzahl : +Stanzahl$,SUB(DIV(%MAXX,2),DIV(0,2)),SUB(DIV(%MAXY,2),DIV(0,2)),0,0) > Auch scheint lo el el dbase Befehle no umgewandelt voluntad. KompilierenMarcaSeparación
Zitat de el 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(>) se also dpos& = db(Go, >). An el Funktionalitäten wurde nichts geändert.
Saludo P.M.M |
| | | | |
| | Jörg Sellmeyer | El Línea muß Yo veces a Gemüte führen. Usted hast como aber auch Konstrukte...
El DBase-Sachen Todavía nada instalado, como Yo mich selber überhaupt no así beschäftige. Yo muß also sólo veces sehen, como Syntax como es, bevor Yo el integriere.
Wird porque el Code después de dbCreate korrekt umgewandelt?
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.10.2006 ▲ |
| |
| | Peter Max Müller | | | | | |
| | Peter Max Müller | Ups, qué überlesen....
tja dbase Befehle son ahora Containerfunktionen.
No mehr: KompilierenMarcaSeparación pero KompilierenMarcaSeparación Halt como damals el Crear Geschichten. Und Yo gesehen habe wandelst Usted para Ejemplo SetErrorLevel N auch en en @Conjunto(ErrorLevel, N). Ist sí eigentlich el selbe Spielchen. |
| | | | |
| | |
Besser wäre glaube Yo:
[Quelltextfenstergröße: groß] [Quelltextfenstergröße: normal] [Ver código fuente marca] WriteIni PrgDir$ + Inis$,VERG,Anzahl = verganzahl$
Also sin Klammern.Oder.
Keinesfalls wäre el mejor! Das Reduzieren de Klammern kann erfahrungsgemäß en XProfan no bien ser! Lieber mehr en lugar de weniger! |
| | | | |
|
Zum QuelltextTema opciones | 43.679 Views |
ThemeninformationenDieses Thema ha 10 subscriber: |