Source/ Codesnippets | | | | - page 1 - |
|  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éparationDeclare 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 ▲ |
| |
| | | | - page 2 - |
| |  Peter Max Müller | nabend, comment du meinst. Dachte seulement à cause de qui Xprofan Aider WRITEINI SPIEL.INI,MeinProgramm, HIGHSCORE=@Str$(HighScore&)
alors sans Klammern.
Salut
@IF : mon Avatar Bild était libre de rechten dritter et hat aussi pas vers qui guten Sitten verstoßen et quand même ist es wieder gelöscht worden.Mittlerweile déjà cela 4te. Why? |
| | | | |
| |  Jörg Sellmeyer | 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.
merci! 
Peter Max Müller
cela wäre définitif pas besser, là Du oui cela erste Klammerpaar déjà selbst im Code stehen la hâte et Je l' réel Code naturellement possible intact lasse! qui umgewandelten Funktionen lasse je dans Klammern, là sonst Probleme avec verschachtelten Funktionen auftreten peut/volonté. chez Cordes pourrait on cela peut-être. omettre mais cela Risiko, qui ensuite quoi schiefgeht ist größer comme qui daraus entstandene Nutzen. comment iF déjà sagt: lieber un paire Klammern zuviel, comme zuwenig. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 12.10.2006 ▲ |
| |
| |  Peter Max Müller | maintenant mais 
tu as droite. Einleitende Klammern venons de mir et devrait donc pas angetastet volonté.Habe je pas sur elle geachtet. mais qui Klammern pour dem transformer sommes définitif trop viel. je sais , je sais: Lieber trop viel comme trop wenig. Sagt cela Impôt De toute façon. KompilierenMarqueSéparation pour KompilierenMarqueSéparation |
| | | | |
| |  |
@IF : mon Avatar Bild était libre de rechten dritter et hat aussi pas vers qui guten Sitten verstoßen et quand même ist es wieder gelöscht worden.Mittlerweile déjà cela 4te. Why?
je devrait ins LogFile regarder qui Dein Ava deaktiviert hat - muss mais gestehen le moi aussi pas 100%ig sûrement était si es sich hierbei um quelque chose Eigenes handelt. Es était un photo ne? Jedenfalls anscheinlich keins de Dir ?! - et ausgesehen hat es aussi pas comme si es un eigener Schnappschuss était. peut-être wurde es simple seulement c'est pourquoi sicherheitshalber deaktiviert weil ebend pas sans équivoque était si es réellement rechtefrei ist.
je muss aussi zugeben le moi es bien heisse si lieber un Avatar plus deaktiviert wird, statt peut-être une trop wenig. peux wenigstens niemand grobe Verletzung qui Sorgfaltspflicht nachsagen.  |
| | | | |
| |  Jac de Lad | s'il te plaît pas hauen, mais je hatte aussi déjà fois le concept. je habs la fois fertiggestellt. il y a encore Probleme avec Variablen, qui gleiche ou bien ähnliche Namen comment qui Funktionen avons (sollte seulement Wend betreffen) et selbst definierten Funktionen, qui ähnliche Namen avons (zum Beispiel Gosub()). et avec mehreren Befehlen, qui par : getrennt, volonté, habe je encore nix incorporé. mais comme Testversion sits peut-être intéressant... |
| | | 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, maintenant funktioniert qui la ligne aussi. Aussi sommes qui meisten DB-Funktionen/-befehle drin. si encore quoi fehlt: Bescheid dire. j'ai simple qui aus qui Aider pour Profan 9 kopiert.
récente ist aussi un Eingabefeld, dans cela einzelne Zeilen zum transformer eingefügt/-geschrieben volonté peut.
cet dBase-Begriffe volonté maintenant ersetzt. là je selber keinen nennenswerten Code avec cette Funktionen habe, konnte je pas allzusehr testen. je wäre daher froh sur Rückmeldungen en supplément.
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
Salut Jörg
Nachtrag: justement encore une faute étendu: dbCreate wurde pas traduit. maintenant gehts. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 13.10.2006 ▲ |
| |
| |  Michael Wodrich | dbgetfield$ fehlt encore
Überflüssige Funktionen automatisch entfernen
überflüssig vous êtes oui pas, ils ont sich seulement un peu geändert.
belle Grüße Michael Wodrich
P.S.: es fehlt encore plus. exposition doch simple chez qui Altlasten.inc / kombatibility.inc ab. là findest Du oui aussi qui Umsetzung. qui Code ist libre - cela une soll schnelle Abhilfe chez den (irgendwann) fehlenden Funktionen son - l'autre soll den Fortbestand et qui leichte Pflege des Codes sichern. Beides wird gebraucht. P.P.S.: ...wirklich vite...  |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| |  Michael Wodrich | Bekomme Dein Proggi pas zum courir. Exception faute et envol... |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | Michael Wodrich
Bekomme Dein Proggi pas zum courir. Exception faute et envol...
eh... là peux je gar rien trop dire je habgerade la fois selber qui dernier Version heruntergeladen et vous fonctionne problemlos. Schmiert cela Programme car bereits beim Start ab ou bien si Du versuchst, une Dossier trop magasin ou bien trop Travailler? Teste doch nochmal. je hatte encore une faute chez den RegExp entdeckt. qui peux car deviner, qui um cet Zeit ici encore quelqu'un so aktiv ist. 
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 13.10.2006 ▲ |
| |
| |  Michael Wodrich | Wieder rien. 5 Buttons - à gauche leeres la fenêtre - à droite listview et pour cette Anzeige ensuite juste qui envol.
je versuche la fois un Bild anzuhängen, mais habe toujours pech avec cela à einem journée wohin qui quersumme ... 
Kleine récréation, pour dem petit déjeuner gehts plus.
belle Grüße Michael Wodrich |
| | | Programmieren, das spannendste Detektivspiel der Welt. | 13.10.2006 ▲ |
| |
| |  Jörg Sellmeyer | je pourrait mirdenken, woran es liegt: dans den globalen Deklarationen steht Term$[16,2] Ändere cela dans Term$[20,2]. j'ai nämlich déjà 0-16 => 17 dans Gebrauch. Erstaunlicherweise gibt cela chez mir aucun Probleme. dans qui neuen Version istdas korrigiert.
Salut Jörg |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ...  | 13.10.2006 ▲ |
| |
| |  | Hm peut-être stürzt c'est pourquoi cela aktuelle Release (pas cela veröffentlichte) de meinem Okrea aussi ab - peut-être Il se trouve à den Arrays hmmm. |
| | | | |
|
Zum QuelltextOptions du sujet | 47.168 Views |
Themeninformationencet Thema hat 10 participant: |