Fuente/ Codesnippets | | | | - Página 1 - |
| 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 ▲ |
| |
| | | | - Página 2 - |
| | Peter Max Müller | nabend, Como du media. Dachte sólo wegen el Xprofan Ayuda WRITEINI SPIEL.INI,MeinProgramm, HIGHSCORE=@Str$(HighScore&)
Also sin Klammern.
Saludo
@IF : Mein Avatar Bild war frei de rechten dritter y ha auch no gegen el guten Sitten verstoßen y trotzdem es otra vez gelöscht worden.Mittlerweile ya el 4te. Why? |
| | | | |
| | Jörg Sellmeyer | Peter Max Müller
Howdy, Weil Yo sicher bin el du deinen Code así hinkriegst el él alles ordnungsgemäß umwandelt Yo me pensamiento el Yo el con el dbase Sachen veces erwähne.
Gracias!
Peter Max Müller
Das wäre definitiv no mejor, como Usted sí el erste Klammerpaar ya incluso en el Code posición hast y yo el real Code natürlich möglichst unangetastet lasse! El umgewandelten Características lasse Yo en Klammern, como sonst Problemas con verschachtelten Características auftreten puede/voluntad. En Cuerdas podría al evtl. weglassen aber el Risiko, daß entonces qué schiefgeht es größer como el lo entstandene Nutzen. Como IF ya sagt: más bien unos pocos Klammern zuviel, como zuwenig. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 12.10.2006 ▲ |
| |
| | Peter Max Müller | Jetzt aber
Usted hast Recht. Einleitende Klammern kommen de me y debería demnach no angetastet voluntad.Posesiones Yo no en él geachtet. Aber el Klammern después de el umwandeln son definitiv a viel. Yo weiß , Yo weiß: Lieber a viel como a wenig. Sagt el Finanzamt De todos modos. KompilierenMarcaSeparación después de KompilierenMarcaSeparación |
| | | | |
| | |
@IF : Mein Avatar Bild war frei de rechten dritter y ha auch no gegen el guten Sitten verstoßen y trotzdem es otra vez gelöscht worden.Mittlerweile ya el 4te. Why?
Yo debería en el LogFile schauen wer Su Ava deaktiviert ha - muss aber gestehen el Yo auch no 100%ig sicher war si se hierbei en algo Eigenes es. Lo war una Foto ne? Jedenfalls anscheinlich keins de Usted ?! - y ausgesehen ha lo auch no como si una eigener Schnappschuss war. Tal vez wurde lo simplemente sólo deshalb sicherheitshalber deaktiviert porque ebend no eindeutig war si tatsächlich rechtefrei es.
Yo muss auch zugeben el Yo bien heisse si más bien una Avatar mehr deaktiviert se, en lugar de tal vez eins a wenig. Kann wenigstens niemand grobe Verletzung el Sorgfaltspflicht nachsagen. |
| | | | |
| | Jac de Lad | Bitte no hauen, pero yo hatte auch ya veces el Concepto. Yo habs veces fertiggestellt. Lo son todavía Problemas con Variables, el gleiche oder ähnliche Namen como Características haben (debería sólo wend betreffen) y incluso definierten Características, el ähnliche Namen haben (para Ejemplo Gosub()). Und con más Befehlen, el por : getrennt, voluntad, Todavía nix instalado. Aber como Testversion sits tal vez interessant... |
| | | Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 12.10.2006 ▲ |
| |
| | Jörg Sellmeyer | So, ahora funktioniert el Línea auch. Außerdem son el meisten DB-Características/-befehle drin. Wenn todavía qué fehlt: Bescheid sagen. Yo habe simplemente de el Ayuda para Profano 9 kopiert.
Neu es außerdem una Eingabefeld, en el einzelne Zeilen para Umwandeln eingefügt/-geschrieben voluntad puede.
Diese dBase-Begriffe voluntad ahora ersetzt. como Yo selber no nennenswerten Code con esta Características habe, podría Yo no allzusehr testen. Yo wäre por lo tanto froh encima Rückmeldungen dazu.
db(Appendblank|Browse|Close|Delete|Edit|Find|Get$|GetField$|GetMemo|Go|Index|Open|Pack|Put|PutField| PutMemo|PutRec|Seek|Undelete|Use)
db(Create|CreateIndex)
Wend
CloseRW
Saludo Jörg
Apéndice: gerade todavía una Fehler expandido: dbCreate wurde no traducido. Jetzt gehts. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.10.2006 ▲ |
| |
| | Michael Wodrich | dbgetfield$ fehlt todavía
Überflüssige Características automáticamente entfernen
überflüssig son ellos sí no, ellos haben se sólo una wenig geändert.
Schöne Grüße Michael Wodrich
P.S.: lo fehlt todavía mehr. Schau doch simplemente en Altlasten.inc / kombatibility.inc de. Dort findest Usted en efecto el Umsetzung. Der Code es frei - el una se schnelle Abhilfe en el (irgendwann) fehlenden Características ser - el otro se el Fortbestand y el leichte Pflege des Codes sichern. Beides se gebraucht. P.P.S.: ...wirklich rápidamente... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| | Michael Wodrich | Bekomme Su Proggi no para Laufen. Exception Fehler y Abflug... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| | Jörg Sellmeyer | Michael Wodrich
Bekomme Su Proggi no para Laufen. Exception Fehler y Abflug...
Oh... como kann Yo gar nichts a sagen Yo habgerade veces selber el letzte Versión heruntergeladen y ellos se ejecuta problemlos. Schmiert el Programa porque ya beim Start de oder si versuchst, una Expediente a invitar oder a bearbeiten? Teste doch otra vez. Tuve todavía una Fehler en el RegExp entdeckt. Wer kann porque ahnen, daß en esta Tiempo hier todavía alguien así aktiv es.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.10.2006 ▲ |
| |
| | Michael Wodrich | Wieder nichts. 5 Buttons - links leeres Ventana - rechts listview y después de dieser Anzeige entonces igual el Abflug.
Yo versuche veces una Bild anzuhängen, aber habe siempre pech así a una tag wo el quersumme ...
Kleine Pause, después de el Frühstück gehts más.
Schöne Grüße Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| | Jörg Sellmeyer | Yo podría mirdenken, woran lo liegt: In el globalen Deklarationen es Term$[16,2] Ändere el en Term$[20,2]. Yo habe nämlich ya 0-16 => 17 en Gebrauch. Erstaunlicherweise son en el me no Problemas. In el neuen Versión istdas korrigiert.
Saludo Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 13.10.2006 ▲ |
| |
| | | Hm tal vez stürzt deshalb el aktuelle Release (no el veröffentlichte) de mi Okrea auch de - tal vez liegts a el Arrays hmmm. |
| | | | |
|
Zum QuelltextTema opciones | 43.525 Views |
ThemeninformationenDieses Thema ha 10 subscriber: |