Español
Fuente/ Codesnippets

Automatisch Entfernen Características überflüssige

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



 
- Página 4 -



Dietmar
Horn
Sí, esta Versión startet wenigstens, auch si el Programmfenster para 1024 x 768 en el Höhe en etwa 20 - 30 Pixel kleiner ser podría, así lo vollständig en el Bildschjirm paßt.

Den Rest voluntad Yo später testen.

Ach así: ältere Versionen Yo quería ebenfalls testen, doch porque como en me absolut gar nichts passierte (todavía no veces una Fehlermeldung), Tuve mich sólo veces no groß más así befaßt.

Saludo
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
14.10.2006  
 




Dietmar
Horn
Auf el Schnelle rausgefischt:

Aus -> FileMode 2 se -> Conjunto(Filemode ,2) gemacht (also Bug, porque una Leerzeichen zuviel).

Saludo
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
14.10.2006  
 




Jörg
Sellmeyer
El Größe Yo ahora otra vez a kleiner Bildschirme angepaßt. Yo vergeß siempre, Yo una 19él habe y el nichtgerade Standard es.
El Conjunto...-Befehle debería ahora trabajo.


(todavía no veces una Fehlermeldung), Tuve mich sólo veces no groß más así befaßt.


Schade, hätteste wenigstens el veces kurz mitgeteilt, entonces hätte Yo mich früher en el Fehlersuche hacer puede.

Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.10.2006  
 




Dietmar
Horn
¡Hola Jörg,

en kleineren Bildschirmauflösungen knallt lo a ahora trotzdem todavía!

Tip: simplemente %MaxX y %MaxY abfragen y dementsprechend (bajo Berücksichtigung des Client-Bereiches des Hauptfensters) el Objetos en el Ventana principal remendar.

Meiner Meinung después de debería una solches Tool auch heutzutage todavía abwärtskompatibel a a 640 x 480 ser (sólo dazu podría Yo Usted una kilometerlanges Posting como Begründung enviar - por qué, wieso, por qué usw. una solche Vorgehensweise todavía siempre günstiger wäre ...).

El oberen beiden CreateText-Zeilen sería Yo bastante weglassen. Auf schnelleren Rechnern erkennt uno como sowieso nix (außer daß como Irgendwas relativ sinnlos antes se rumzappelt) - y en langsameren PCs se por el zweimalige SetText en cada Codezeile el Programa sólo unnötig ausgebremst. En längeren Quelltexten interés solche Infos eh no - außer daß el Programa con seinem Getue möglichst rápidamente fertig voluntad möge.

Auch sería Yo el beiden Listviews o. Gridboxen ebenfalls no zeitnah ständig con cada el gerade bearbeiteten Codezeilen füllen, porque el bremst sólo unnötig y interessiert no. Einfach vom Programa el Arbeit así rápidamente como posible hacer dejar - y bien is lo.

Zum Schluß se schlicht y simplemente en irgendeiner vernünftigen Form el Ergebnis präsentiert, evtl. todavía con Editiermöglichkeit, o.ä. Den Rest se se cada Programmierer sowieso selber con seinem bevorzugten Editor anschauen y testen - also, si alles korrekt umgewandelt worden es, usw. ...

Der todo Grafik-Schnick-Schnack, usw. es meiner Meinung después de en una solchen Tool Pille-Palle y also völlig uninteressant.

Notfalls würden en längeren Sources como Fortschrittsanzeige (así el User no glaubt, daß se el Programa evtl. aufgehängt hätte) unos pocos kreiselnde o zappelnde einfache ASCII- oder Ansi-Signo ausreichen.

Yo glaube, algo como se total auch como Software-Ergonomie bezeichnet (más o menos ähnlich ...).

Saludo
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
14.10.2006  
 




Jörg
Sellmeyer

en kleineren Bildschirmauflösungen knallt lo a ahora trotzdem todavía!


Es sí ärgerlich! Usted hast natürlich bastante - el muß angepaßt voluntad. Trotzdem darf meiner Meinung después de kein simpler Choque passieren. Yo vermute veces, el Profano como ni Macke ha.
Su Sugerencias Tuve todos ya en el ToDo-Liste. Lo voluntad todavía unos pocos Optionseinstellungen dazukommen, el el grafischen Sachen Abschaltbar hacer. (simplemente veces con rechter Botón del ratón el Ventana clic)
Sind porque Su Codes korrekt traducido worden? Wenn como todavía Fehler son, es me en el Moment wichtiger, el a korrigieren.

Gracias fürs Testen!
Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.10.2006  
 



 
- Página 5 -



Frank
Abbing
Schon una nützliches Programa, gerade para ältere Quellcodes. Nur EQU y EQU$ voluntad wohl todavía no traducido, el Quellcodes sí höchst unübersichtlich hacer.
 
14.10.2006  
 




Jörg
Sellmeyer
El Posesiones Sigo sin problemas vergessen! Gracias Franco!

Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.10.2006  
 




Jörg
Sellmeyer
Yo denke Yo nähere mich uno endgültigen Versión

Das Programa Ahora debe bajo allen Auflösungen a mind. 800 x 600 laufen.
Equ y Equ$ son instalado.
el bearbeiteten Zeilen voluntad no adecuado
auch el Listen sólo al Ende des Vorgangs gefüllt
en el Optionsmenü puede umgeändert voluntad (rechte Botón del ratón ruft el Menü en)
Wend podrá, a Wunsch salvo voluntad
el Funktionsumwandlung podrá, a Wunsch abgeschaltet voluntad (z. B. si sólo alte DBase-Befehle en un sonst aktuellen Code son)
el DBase-Befehle puede salvo voluntad (kleiner Geschwindigkeitsvorteil - sinnvoll si uno esta Funktionalitäten sowieso no en el Programa ha.)

una en el Editar campo bajo el rechten Listbox bearbeitete Línea ersetz con Enter direkt el entsprechende Línea en el linken Listbox.

En me braucht el Programa para ca. 5000 Zeilen 53 Sekunden. Also auch große Programas dejar se en akzeptabler Tiempo umwandeln.
Yo voluntad ni Función einbauen con el después de el Umwandlung weitere (no bearbeitete ) Vorkommen el überflüssigen Begriffe encontrar dejar. el puede entonces a Fuß nachbearbeitet voluntad.

Bitte testen y rückmelden. Gracias otra vez a todos Tester!
@Roland: Wenn lo porque endgültig fertig es, puede Programa gerne con en el CD.

Saludo
Jörg

338 kB
Hochgeladen:14.10.2006
Ladeanzahl121
Descargar
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.10.2006  
 




Peter
Max
Müller
Hello,
An Jörch,
(Yo weiß Yo nerve )

Am Ende des Umwandelns kommt una Fehlermeldung con
Línea 527 Variable no declariert I%

Und esta Línea kannste veces testen.



Crear(Texto,D%,°C,509, 127,15,15)


Ferner fehlen scheinbar : Neq,Neq$,GT,LT y SetErrorLevel

Servus
 
XProfan X3, X4ß, Win 10.1
14.10.2006  
 




Rolf
Koch
Sí, habe grad 30000 Zeilen durchgezogen. Werde lo en lauffähigkeit entonces veces testen. Tiempo fue todavía akzeptabel.
Sieht ya veces super de. Jedoch weis uno nie, porque Yo printe en efecto Profanbefehle en Archivos y el muss Yo en algo Freizeit veces näher anschauen. Aber zuerst una vez: Respekt

Achja, el con I% no deklariert kommt en me auch.
 
14.10.2006  
 




Jörg
Sellmeyer
¡Hola,
Gracias, para el Rückmeldung.
@Max: el es definitiv no nervig! Im Gegenteil, sin würds sí no vorangehen.


y SetErrorLevel


Das kann eigentlich no .Si no eres tú se traduce, poste doch veces el entsprechende Línea (So ellos porque anders aussieht como
KompilierenMarcaSeparación
Hast Usted evtl. una variable:SetErrorLevel n%?
Como Todavía No encienda el pensamiento....
Werde Yo aber später todavía berücksichtigen.

@Rolf: Con el el Profanbefehlen en el Archivos escribir wäre natürlich besonders interessant.
Tal vez kannst Usted me sí veces una typisches Codebeispiel puesto/enviar. Dann podría Yo evtl. Anpassungen específicamente para ROC vornehmen.

El Variable l% es ahora Haga clic en Aceptar (como weg )
In el Statuszeile Es el Anzahl el geänderten Codezeilen a sehen
GT,LTNeq y Neq$ son auch drin.

Desde que gerade esta war, Yo el Controls ahora todavía skalierbar gemacht. Jetzt kann ma Así que el Größe la ventana verändern y trotzdem weiterarbeiten.

Saludo
Jörg

338 kB
Hochgeladen:14.10.2006
Ladeanzahl116
Descargar
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
14.10.2006  
 




Torsten
Rümker
Jörg Sellmeyer
en el Optionsmenü puede umgeändert voluntad (rechte Botón del ratón ruft el Menü en)


Yo habe en me en el Optionsmenü una Pantalla de error, si yo el DB befehle rausnehme (umschalten en nein) se auch el Menupunkt darunter en nein umgestellt (Also: Características => Operatoren).
El Einstellung des Menüpunktes ändert se dadurch pero no, scheint also sólo falso vergebener Texto a ser.

MfG
Torsten
 
Ich lerne, ob ich will oder nicht!
Betriebssystem:
- Ubuntu 15.x
- Windows (diverse)
XProfan Version: X2
15.10.2006  
 




Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

43.522 Views

Untitledvor 0 min.
Walter16.02.2019
AndreasS27.11.2018
Jörg Sellmeyer14.05.2018
PETER195605.09.2015
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie