Français
Source/ Codesnippets

Automatisch Entfernen Funktionen überflüssige

 
- 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é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  
 



 
- 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?
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 




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
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


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
WriteIni (add$(PrgDir$,Inis$)),DRUCK,Anzahl = Str$(Seizal%)
>

pour
KompilierenMarqueSéparation
WriteIni ((PrgDir$ + Inis$)),DRUCK,Anzahl = Str$(Seizal%)
>
 
XProfan X3, X4ß, Win 10.1
12.10.2006  
 





@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.
 
12.10.2006  
 




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...

6 kB
Hochgeladen:12.10.2006
Downloadcounter96
Download
 
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.

19 kB
Hochgeladen:13.10.2006
Downloadcounter92
Download
 
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

26 kB
Hochgeladen:13.10.2006
Downloadcounter117
Download
 
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

19 kB
Hochgeladen:13.10.2006
Downloadcounter120
Download
 
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.
 
13.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

47.168 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